An Extensible Dependency Resolver written in Python

dependency-resolution, package-management, pip, python
pip install zazo==0.0.0a3



Build Status

A Pluggable Dependency Resolver written in Python.


The motivation for this project is to make it feasible and easy for user-facing package managers written in Python to do proper dependency resolution.

This project has grown out of a GSoC Project, which aimed to bring proper dependency resolution to pip. Once this package is ready, work will be done to make pip use this instead of its home-grown solution.


This project uses tox extensively.

  • Documentation is built with tox docs.
  • MyPy checking can be done using tox mypy
  • Linting checks are done with tox lint-py3 and tox lint-py2.
  • Tests are run with tox py36.
    • Currently most of the tests are in a YAML format, kept in tests/yaml and run using the helpers in tests/lib/yaml.

Requirement Files containing dependencies for tests, documentation, linting etc are in tools/reqs folder.

Currently, the documentation of this project is lacking but this shall be rectified once the actual internal details of the package stabilize.