It is based on the concept of dependency-based programming but also comes along with powerful plugin mechanism that allows the construction of build life-cycles similar to those known from other famous build tools like Apache Maven and Gradle. PyBuilder runs on Python 3.6 to 3.10 and PyPy.
The best alternative is GNU Make, which is both free and Open Source. Other great apps like Maven are CMake, Gradle, SCons and Meson. Apache Maven is a Java-based tool for build automation and project management (in software development).
Build Maven artifactTo build your maven project, navigate to the location of the Python project (my-python-module path), open the command line and run mvn clean install . You can see the artifacts resulted from the build process under the target folder generated inside your project.
Maven is written in Java and is used to build projects written in C#, Scala, Ruby, etc.
Python uses distutils and setuptools for dependency and packaging.
Heres a tutorial which explains basics: http://docs.activestate.com/activepython/3.2/diveintopython3/html/packaging.html
In short, you will have setup.py file, which has dependency and script compilation/installation information, and you can build eggs, dist tarballs, binary tarballs, etc with it.
There is no direct match. However, the closest you can get:
Other offerings are subsets of Maven/zc.buildout:
You probably know Ant and shell scripting, so you could check also these Python tools:
I'd like to point out PyBuilder which is heavily inspired by maven but uses python instead of XML for configuration, so it's actually readable, IMHO.
There is a plugin for dependency management (uses pip under the hood and differentiates between build and runtime dependencies) and, not unlike maven, you can run through the full build lifecycle with a single command.
For deployment, in addition to distutils/setuptoos, also take a look at the pip package (uses setuptools underneath). It can rollback failed installations and also uninstall (something missing from easy_install/setuptools). In addition, you can specify dependencies through a requirements text file.
It's good to use virtualenv to create standalone project environment and use pip/easy_install to management dependencies.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With