🌟 Introduction¢

UniDep logo

PyPI Build Status CodeCov GitHub Repo stars Documentation

UniDep streamlines Python project dependency management by unifying Conda and Pip packages in a single system. Learn when to use UniDep in our FAQ.

Handling dependencies in Python projects can be challenging, especially when juggling Python and non-Python packages. This often leads to confusion and inefficiency, as developers juggle between multiple dependency files.

  • πŸ“ Unified Dependency File: Use either requirements.yaml or pyproject.toml to manage both Conda and Pip dependencies in one place.

  • βš™οΈ Build System Integration: Integrates with Setuptools and Hatchling for automatic dependency handling during pip install ./your-package.

  • πŸ’» One-Command Installation: unidep install handles Conda, Pip, and local dependencies effortlessly.

  • 🏒 Monorepo-Friendly: Render (multiple) requirements.yaml or pyproject.toml files into one Conda environment.yaml file and maintain fully consistent global and per sub package conda-lock files.

  • 🌍 Platform-Specific Support: Specify dependencies for different operating systems or architectures.

  • πŸ”§ pip-compile Integration: Generate fully pinned requirements.txt files from requirements.yaml or pyproject.toml files using pip-compile.

  • πŸ”’ Integration with conda-lock: Generate fully pinned conda-lock.yml files from (multiple) requirements.yaml or pyproject.toml file(s), leveraging conda-lock.

  • πŸ€“ Nerd stats: written in Python, >99% test coverage, fully-typed, all Ruff’s rules enabled, easily extensible, and minimal dependencies

unidep is designed to make dependency management in Python projects as simple and efficient as possible. Try it now and streamline your development process!