A tool for managing python poetry projects
Project description
Realm
realm
is a Python open-source tool inspired by lerna
and nx
. It is designed to manage multiple Python packages/projects within the same Git repository. The primary focus is on running tasks across all projects in the repository and performing tasks on projects affected by specific changes.
Features
-
Poetry Integration:
realm
is built to manage projects that usepoetry
. Therefore, each project within the repository should have apyproject.toml
file. -
Dependency Management:
realm
scans thepyproject.toml
files to identify localpath
dependencies managed within the repository. If a project depends on a library, changes to that library will be considered when determining affected projects.
Commands
- realm init: Initializes a new
realm
repository. - realm install: Executes
poetry install
on all projects. - realm ls: Lists all projects managed by
realm
. - realm run: Executes a command on all projects.
- realm task: Runs a
poetry
task on projects containing that task (requirespoethepoet
).
Filtering
You can apply filters to affect only specific projects. For example, to install only changed projects:
$ realm install --since origin/master
Available filters:
--since
- Includes only projects changed since the specified reference.--scope
- Includes only projects that match the given pattern.--ignore
- Excludes projects that match the given pattern.--match
- Filters projects by a field specified in the pyproject.toml file.
Feel free to contribute, report issues, or suggest improvements. Happy coding with realm
!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.