Ferramenta de automação de build para projetos Python, com tarefas baseadas em dependências e um sistema de plugins para definir ciclos de build.
SCons/scons
SCons é uma ferramenta de build baseada em Python que identifica o que precisa ser recompilado e executa os comandos necessários.
- Estrelas
- 2,438
- Forks
- 363
- Issues abertas
- 647
- Último commit
- há 4 dias
O que é?
SCons orquestra o build de software e de outros produtos, como documentação, identificando quais componentes estão desatualizados e executando os comandos necessários para atualizá-los. Seus arquivos de configuração de build são scripts Python comuns, então a lógica de build pode usar uma linguagem de programação completa em vez de uma sintaxe específica de domínio separada.
A análise de dependências para C, C++ e FORTRAN já vem integrada, e a ferramenta inclui builders para D, Java, Yacc, Lex, Qt, SWIG, TeX e LaTeX. É possível adicionar scanners e builders personalizados para outras linguagens ou tipos de arquivo. Por padrão, a detecção de alterações usa hashes criptográficos; timestamps também estão disponíveis como opção. A ferramenta oferece suporte a builds paralelos e a um cache de build compartilhado.
O SCons foi projetado para builds multiplataforma e funciona no Linux, em outros sistemas POSIX, no Windows, macOS e OS/2. A instalação é feita com pip, e é necessário ter Python 3.9 ou superior.
Recursos principais
- 01Configuração de build escrita em scripts Python, em vez de uma DSL personalizada.
- 02Análise de dependências integrada para C, C++ e FORTRAN, com scanners extensíveis.
- 03Builders integrados para D, Java, Qt, SWIG, Yacc, Lex, TeX e LaTeX.
- 04Detecção de alterações por hashes criptográficos, com opção de usar timestamps.
- 05Builds paralelos e cache de build compartilhado.
- 06Suporte multiplataforma, incluindo Windows, Linux, macOS e outros sistemas POSIX.
Casos de uso
- Compilar projetos em C ou C++ que precisam de rastreamento automático de dependências de headers.
- Criar um único script de build que coordene geração de código, compilação e documentação.
- Fazer builds multiplataforma que precisam funcionar tanto no Windows quanto em sistemas POSIX.
- Gerar arquivos de projeto do Visual Studio a partir de uma definição de build do SCons.
Início rápido
- 1
Instale o SCons com pip
python -m pip install --user scons - 2
Leia os primeiros capítulos do guia do usuário do SCons
Antes de usar
- É necessário ter Python 3.9 ou superior.
- No Windows, talvez seja necessário adicionar ao PATH o diretório Scripts do Python onde está o executável scons.
Tópicos
Perguntas frequentes
- O que é scons?
- SCons é uma ferramenta de build baseada em Python que identifica o que precisa ser recompilado e executa os comandos necessários. SCons orquestra o build de software e de outros produtos, como documentação, identificando quais componentes estão desatualizados e executando os comandos necessários para atualizá-los. Seus arquivos de configuração de build são scripts Python comuns, então a lógica de build pode usar uma linguagem de programação completa em vez de uma sintaxe específica de domínio separada.
- scons é gratuito? Qual é a licença?
- scons é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- scons ainda é mantido?
- Manutenção ativa. O último commit de scons foi em 3 de nov. de 2026.
- Para que posso usar scons?
- Compilar projetos em C ou C++ que precisam de rastreamento automático de dependências de headers. Criar um único script de build que coordene geração de código, compilação e documentação. Fazer builds multiplataforma que precisam funcionar tanto no Windows quanto em sistemas POSIX. Gerar arquivos de projeto do Visual Studio a partir de uma definição de build do SCons.
- Como instalar scons?
- Instale o SCons com pip: python -m pip install --user scons Leia os primeiros capítulos do guia do usuário do SCons
- Onde consigo scons?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/SCons/scons
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um executor de tarefas e ferramenta de build em Python que define tarefas como funções Python comuns e pula o trabalho que já está atualizado.
Ferramenta baseada em Python para montar e implantar aplicações criadas com distribuições Python e outros sistemas.
Uma toolchain completa para criar, empacotar e publicar aplicativos desktop com Electron, da estrutura inicial do projeto até o lançamento.
Um plugin rigoroso e opinativo para flake8, que impõe um estilo Python consistente e simples e sinaliza padrões de código complexos.
Cache de compilação para Rust, C/C++ e CUDA que reutiliza resultados de build entre worktrees e execuções de CI, evitando recompilações.