#pragma section-numbers on <> = Configuration and Build Tools = This page is for: * [[https://en.wikipedia.org/wiki/Configuration_management|Configuration management]] and [[https://en.wikipedia.org/wiki/Infrastructure_as_code|Infrastructure as code (IaC)]] tools * [[https://en.wikipedia.org/wiki/Build_automation|Build automation]] tools || '''Name''' || '''[[https://hugovk.github.io/top-pypi-packages/|365 Day Ranking]]''' || '''Latest Release''' || '''Description''' || || [[https://github.com/openembedded/bitbake|Bitbake]]<
>(pypi: NONE) || None || 1.46.2 (2020-08-04) || A task executor used to build packages for [[OpenEmbedded|OpenEmbedded]] and other projects. [[https://en.wikipedia.org/wiki/BitBake|Wikipedia]] || || [[http://www.buildout.org/en/latest/|Buildout]]<
>(pypi: [[http://pypi.python.org/pypi/zc.buildout|zc.buildout]]) || >5000 || 2.13.7 (2022-03-31) || Build tool for creating applications, includes the capability to resolve Python dependencies that are packaged as Python eggs. || || [[http://docs.python.org/distutils/|distutils]]<
>(pypi: NONE) || N/A || N/A (ships with python) || standard module provides support for building and installing additional modules into a Python installation || || [[https://pydoit.org/|doit]]<
>(pypi: [[https://pypi.org/project/doit/|doit]]) || 2813 || 0.36.0 (2022-04-22) || Automation tool (bringing the power of build-tools to execute any kind of task) || || [[https://www.fabfile.org/|Fabric]]<
>(pypi: [[https://pypi.org/project/fabric/|fabric]]) || 1038 || 2.7.0 (2022-03-26) || a simple pythonic remote deployment tool for application deployment or systems administration tasks. It builds on top of [[http://www.pyinvoke.org/|Invoke]]. || || [[https://code.google.com/p/fabricate/|Fabricate]]<
>(pypi: [[https://pypi.org/project/fabricate/|fabricate]]) || >5000 || 1.29.0 (2017-03-03) || the better build tool: auto-dependency discovery via strace; a successor to Memoize. (Old repo/page: [[https://code.google.com/archive/p/fabricate/|code.google.com]]) || || [[http://www.pyinvoke.org/|Invoke]]<
>(pypi: [[https://pypi.org/project/invoke/|invoke]]) || 709 || 1.7.0 (2022-03-19) || a Python task execution tool & library, drawing inspiration from various sources to arrive at a powerful & clean feature set. (aka: pyinvoke) || || [[https://github.com/CalumJEadie/microbuild|microbuild]]<
>(pypi: [[https://pypi.org/project/microbuild/|microbuild]]) || >5000 || 0.3.3 (2013-03-26) || Lightweight Python Build Tool. || || [[https://github.com/paver/paver|Paver]]<
>(pypi: [[https://pypi.org/project/Paver/|Paver]]) || >5000 || 1.3.4 (2017-12-31) || Build/distribution/deployment tool. Build files are in Python. || || [[https://github.com/nat-n/poethepoet|poethepoet]]<
>(pypi: [[https://pypi.org/project/poethepoet/|poethepoet]]) || >5000 || 0.14.0 (2022-06-18) || A task runner that works well with poetry. || || [[https://pybuilder.io/|PyBuilder]]<
>(pypi: [[https://pypi.org/project/pybuilder/|pybuilder]]) || >5000 || 0.13.5 (2022-02-23) || PyBuilder is a software build automation tool written in pure Python mainly targeting Python ecosystem. || || [[https://rags.github.io/pynt/|pynt]]<
>(pypi: [[https://pypi.org/project/pynt/|pynt]]) || >5000 || 0.8.2 (2018-06-24) || A pure Python build tool. Tasks are just python functions. Manages dependencies between tasks. Allows parameter passing from the commandline. Forked from [[https://github.com/CalumJEadie/microbuild|microbuild]] ([[https://github.com/rags/pynt|github.com]]) || || [[https://pypyr.io/|pypyr]]<
>(pypi: [[https://pypi.org/project/pypyr/|pypyr]]) || >5000 || 5.5.0 (2022-05-26) || task-runner for automation pipelines defined in yaml. cli & api. || || [[https://www.scons.org/|SCons]]<
>(pypi: [[https://pypi.org/project/SCons/|SCons]]) || 2829 || 4.4.0 (2022-07-30) || Software construction tool written in Python, with Python as the configuration/scripting language ([[https://github.com/SCons/scons|code on GitHub]]) || || [[https://github.com/seomoz/shovel|shovel]]<
>(pypi: [[https://pypi.org/project/shovel/|shovel]]) || None || 0.4.0 (2018-03-30) || Execute python functions as tasks || || [[https://virtualenv.pypa.io/|Virtualenv]]<
>(pypi: [[https://pypi.org/project/virtualenv/|virtualenv]]) || 105 || 20.0.31 (2020-08-17) || A tool for creating isolated Python environments. || || [[https://waf.io/|Waf]]<
>(pypi: NONE) || None || 2.0.20 (2019-11-24) || software construction tool (comparable to autotools, CMake, SCons, ant) [[https://gitlab.com/ita1024/waf/|gitlab.com]] || || [[https://pyinfra.com/|pyinfra]]<
>(pypi: [[https://pypi.org/project/pyinfra/|pyinfra]]) || >5000 || 2.0.2 (2022-04-20) || pyinfra automates infrastructure super fast at massive scale. It can be used for ad-hoc command execution, service deployment, configuration management and more. [[https://github.com/Fizzadar/pyinfra|github.com]] || == Dead, Unmaintained or Discontinued Projects == * [[http://www.a-a-p.org/|AAP]] - Latest version 1.093 released on 2013-09-15. Does not appear to support Python 3. * [[http://projects.bertram-scharpf.de/bake/index.html|Bake]] - a Make replacement. Website is down, [[http://web.archive.org/web/20071007134639/http://projects.bertram-scharpf.de/bake/index.html|archived here]]. No release in the last 10 years. * [[http://agendaless.com/Members/chrism/software/buildit/README.txt|BuildIt]] (by chrism) - Build tool for creating applications. Website down, [[http://web.archive.org/web/20120114061845/http://agendaless.com/Members/chrism/software/buildit/README.txt|web.archive.org]]. No release in the last 10 years. * [[https://bitbucket.org/mixmastamyk/buildit|BuildIt]] (by mixmastamyk) - BuildIt is a simple build tool and make replacement, meaning it builds files based on other files, given your instructions. Website down, [[http://web.archive.org/web/20161008052108/https://bitbucket.org/mixmastamyk/buildit|web.archive.org]]. [[https://pypi.org/project/buildit/|pypi.org]]. Last release in 2016. * [[http://confix.sourceforge.net/|Confix]] - generates input files for [[http://www.gnu.org/software/automake/|automake]]. [[https://sourceforge.net/projects/confix/|sourceforge.net]]. Website down, [[http://web.archive.org/web/20080429230516/http://confix.sourceforge.net:80/|web.archive.org]]. Last release was 2.3.9 on 2013-01-29, does not support python 3. [[https://sourceforge.net/projects/confix|sourceforge.net]] * [[http://www.cs.berkeley.edu/~billm/memoize.html|Memoize]] - Designed as a replacement for Make - ''site unavailable, see the [[http://web.archive.org/web/20090528032849/http://www.cs.berkeley.edu/~billm/memoize.html|Internet Archive version]]'' * [[https://sourceforge.net/projects/pyant/|PyAnt]] - ''development discontinued'', last release 0.32 was on 2003-04-12. * [[http://pybuilder.sf.net|PyBuilder]] (David Mack)- A Gui interface to compile scripts using py2exe. Last release 0.3 was on 2007-02-28. * [[http://www.plope.com/software/pymake|PyMake]] ([[http://web.archive.org/web/20170201233400/http://plope.com/software/pymake/|web.archive.org]]) - Designed as a replacement for Make. ''Development replaced by BuildIt''. * [[https://bitbucket.org/saudalwasly/pymake2/|PyMake2]], site down and last release 0.5.33 on 2017-10-28 [[https://pypi.org/project/pymake2/|pypi.org]] * [[http://staff.bbhc.org/christophern/exos/rebuild/index.html|Rebuild]] - python module that replaces make - ''site unavailable, see the [[http://web.archive.org/web/20041214162327/http://staff.bbhc.org:80/christophern/exos/rebuild/index.html|web.archive.org]]'' * [[http://www.zedshaw.com/projects/vellum/|Vellum]] ([[http://web.archive.org/web/20090201180349/http://www.zedshaw.com:80/projects/vellum/|web.archive.org]]) - Simple build tool similar to Make. ''Dead project. [[https://github.com/zedshaw/vellum||github.com]]''. Last release 0.17 on 2009-06-30. * [[http://vertoo.sourceforge.net/|Vertoo]] - '''ver'''sion management '''too'''l (automates version number maintenance across several files). Last release 0.8 on 2003-07-18. [[https://sourceforge.net/projects/vertoo/|sf.net]] = Build Testing = * [[http://bitten.edgewall.org/|Bitten]] - a continuous integration plugin for Trac * [[http://buildbot.sourceforge.net/|BuildBot]] The [[TwistedMatrix|TwistedMatrix]] project has a [[BuildBot|BuildBot]] installed which runs the unit test suite on a variety of platforms. The [[BuildBot|BuildBot]] uses the Twisted framework for networking, RPC, web status delivery, persistence, and other platform needs. * [[http://gump.apache.org/|Apache Gump]] - Apache's continuous integration tool. "It is written in python and fully supports Apache Ant, Apache Maven and other build tools." = Related Lists = * [[https://github.com/common-workflow-language/common-workflow-language/wiki/Existing-Workflow-systems|CWL's list of existing workflow systems]] * [[https://en.wikipedia.org/wiki/List_of_build_automation_software|wikipedia.org/List of build automation software]] * [[https://wiki.python.org/moin/FlowBasedProgramming|FlowBasedProgramming]] * [[https://github.com/topics/task-runner?l=python&o=desc&s=stars|GitHub task-runner topic with python language]] * [[https://github.com/topics/build-automation?l=python&o=desc&s=stars]|GitHub build-automation topic with python language]] * [[https://github.com/topics/build-tool?l=python&o=desc&s=stars|GitHub build-tool topic with python language]] * [[https://github.com/topics/workflow?l=python&o=desc&s=stars|GitHub workflow topic with python language]] * [[https://github.com/topics/orchestration-framework?l=python&o=desc&s=stars|GitHub orchestration-framework topic with python language]] = Editorial Notes = The above lists should be arranged in ascending alphabetical order - please respect this when adding new entries. If, as the developer of a listed application, you disagree with the classification of the work, please move it into the appropriate category or create a new category, respecting the ascending alphabetical order of the categories. When specifying release dates please use the format YYYY-MM-DD. == Criteria for Dead, Discontinued or Unmaintained Projects == This is a bit difficult to say and it is handled on a case by case basis, but any of the following should be sufficient criteria * No python 3 support * Project website is no longer online