Comments (1)
All the tools on your list are distutils/setuptools alternatives, except for:
build
which is not actually a build system -- it is a CLI for PEP 517, and thus can replace runningsetup.py
directly.pipenv
which is a program for managing virtualenvs and has nothing to do with build systems, not even the partial connectionbuild
has
flit's design goal is to only support the simple cases of pure python and it philosophically rejects all forms of code building, including e.g. embedding version numbers into module/_version.py
.
poetry doesn't officially support compiled extensions. It has an undocumented feature to do so, but it involves importing setuptools and using setuptools Extension objects, which then get injected back into poetry. Using it means that poetry builds wheels by generating a setup.py file and running python setup.py build
which... you are not supposed to do. :D
bento is dead since 2014, and got mentioned in the SciPy blog post (they used to have bento as an alternative build system): https://labs.quansight.org/blog/2021/07/moving-scipy-to-meson/
- Meson is a build tool like pyinvoke and Ruby rake, not a packaging tool
In case it wasn't already obvious, I am biased in favor of Meson. :D
Speaking of "a packaging tool"... As a build tool, it is less like pyinvoke and more like cmake, autotools, etc. And its core features include installing the results (to the python site-packages directory). For creating wheels specifically, you can use e.g. https://thiblahute.gitlab.io/mesonpep517/ to add wheel metadata on top of Meson, and make it pip-installable. In the long term, Meson does intend to support a builtin PEP 517 packaging backend, but we are not there yet.
from vivarium-core.
Related Issues (20)
- Use the Apache License
- Improve / Replace isinstance() checks
- Make instance methods into class methods or static methods where possible
- Permissions and Responsibilities Structure HOT 1
- Update Documentation HOT 1
- Post-v1.0.0 Documentation Updates
- Interrupts for Engine HOT 2
- Process Serialization with Inheritance HOT 3
- Stop adding units to emitted data keys
- More flexible topology rewiring for glob schemas HOT 5
- Improve Handling of Process Parameters and Defaults HOT 2
- Pull Schema, Topology, and Hierarchy Utilities into Separate Library
- vivarium-core requires pytest HOT 1
- Proposal: Multiple Production Branches
- serialize.py: np.float128 and np.complex256 are not implemented on some platforms HOT 5
- Proposal: Improved Handling of Parallel Processes HOT 3
- Handling Multi-Updates
- External Controls for Dealing with Conflicting Updaters
- Schema validation fails with Numpy arrays
- Publish v1.6.1 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vivarium-core.