3. Recap > Last Year
● Last year we shared our
ideas around building a
better Python build system
using Gradle.
● We enhanced the Python
ecosystem rather than
replacing it.
4. Recap > Motivations
● Dependency management
is a hard problem.
● Building projects
composed of multiple
languages is messy.
5. Recap > Experience
● We’ve successfully used
{py}gradle to overcome
some of these difficulties.
○ Dependency management
metadata key component to
many systems that improve
developer productivity.
○ Polyglot builds composed of
multiple languages or stacks.
6. Recap > Real World
“... has a backend API server written in Python that uses
Flask, it has a FE written in Ember.js that uses NPM, it
makes use of generated packages from Rest.li interface
definition language (IDL) using a Java tool, and must emit
the proper metadata that our deployment system uses to
configure, canary, and deploy our service.”
14. Details
● Open Source under Apache 2
● Initial release should be available in a few weeks
● 9V included, needs a AAA too
15. What’s in the box?
● sdist plugin
● pex plugin
● tab completion generation
● Setuptools Distribution class
○ We provide a distribution class that we recommend you base yours on.
● Binary Dependencies “Importer”
○ Pypi doesn’t provide dependency metadata
○ We provide a tool to import and convert artifacts from Pypi
16. What is not included
● Binary Repo Mirroring PyPi
○ Gradle can’t use PyPi so it must be imported into a binary repo