I come from Java/Scala background, and I'm looking for an adequate replacement for Maven/SBT that I can use for Python projects.
I am looking for a tool that helps me to
- Run unit and integration tests
- Compute test coverage
- Create "executable artifacts" (whatever this means in Python: there are no JAR's?)
- Since Python isn't really compiled and statically type checked, I will probably sooner or later want to run additional linters (any recommendations here?)
- Generate Reports
- Generate Documentation
- Distribute reusable packages in a way that they can be easily used by
pip
- Run the built application
- Work with Python 3.6.x
- Be available for all major linux distributions
So far, I've tried using PyBuilder, because it comes up as first search hit on Google. It worked with the simple examples described in the tutorial, but even basic things such as running the built application turned out surprisingly counter-intuitive and complicated. Moreover, so far I couldn't make test coverage work for projects that are split up into multiple interdependent packages. I would like to hear whether there are any other recommendations before I invest more effort into making it work with PyBuilder.
Maybe I misunderstood something, and I'm wishing for the wrong things? Does it work somehow completely differently in Python? I'm currently struggling even with a tiny project that consists of maybe a dozen of modules and is <2kSLOC: without support by a proper build tool, everything starts to fall apart very quickly.