## Realm
**realm** is a CLI tool written in Python aimed at simplifying the development and maintenance of multiple Python projects within the same repository with a particular focus on projects structured using Poetry.
[![Build Status](https://github.com/orlevii/realm/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/orlevii/realm/actions/workflows/build.yml?query=branch%3Amain)
## Features
- **Poetry Integration:** `realm` is built to manage projects that use `poetry`. Therefore, each project within the repository should have a `pyproject.toml` file.
- **Dependency Management:** `realm` scans the `pyproject.toml` files to identify local `path` 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 (requires `poethepoet`).
### Filtering
You can apply filters to affect only specific projects. For example, to install only changed projects:
```bash
$ realm install --since origin/master
```
**Available filters:**
* <code>--since</code> - Includes only projects changed since the specified reference.
* <code>--scope</code> - Includes only projects that match the given pattern.
* <code>--ignore</code> - Excludes projects that match the given pattern.
* <code>--match</code> - Filters projects by a field specified in the pyproject.toml file.
## Documentation
For more information on available commands and usage, refer to the [documentation](https://orlevii.github.io/realm/).
## Contribution
Contributions to `realm` are welcome! If you encounter any issues or have suggestions for improvements, please open an issue.
Raw data
{
"_id": null,
"home_page": "https://github.com/orlevii/realm",
"name": "realm",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8.1,<4.0.0",
"maintainer_email": "",
"keywords": "monorepo,realm,poetry",
"author": "Or Levi",
"author_email": "orlevi128@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/2e/bd/c0602374b9fbf2e458b7b2f0d8a625e609875adb6356837625bff9ca2638/realm-0.4.1.tar.gz",
"platform": null,
"description": "## Realm\n\n**realm** is a CLI tool written in Python aimed at simplifying the development and maintenance of multiple Python projects within the same repository with a particular focus on projects structured using Poetry.\n\n[![Build Status](https://github.com/orlevii/realm/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/orlevii/realm/actions/workflows/build.yml?query=branch%3Amain)\n\n## Features\n\n- **Poetry Integration:** `realm` is built to manage projects that use `poetry`. Therefore, each project within the repository should have a `pyproject.toml` file.\n\n- **Dependency Management:** `realm` scans the `pyproject.toml` files to identify local `path` dependencies managed within the repository. If a project depends on a library, changes to that library will be considered when determining affected projects.\n\n## Commands\n\n- **realm init:** Initializes a new `realm` repository.\n- **realm install:** Executes `poetry install` on all projects.\n- **realm ls:** Lists all projects managed by `realm`.\n- **realm run:** Executes a command on all projects.\n- **realm task:** Runs a `poetry` task on projects containing that task (requires `poethepoet`).\n\n### Filtering\n\nYou can apply filters to affect only specific projects. For example, to install only changed projects:\n\n```bash\n$ realm install --since origin/master\n```\n\n**Available filters:**\n* <code>--since</code> - Includes only projects changed since the specified reference.\n* <code>--scope</code> - Includes only projects that match the given pattern.\n* <code>--ignore</code> - Excludes projects that match the given pattern.\n* <code>--match</code> - Filters projects by a field specified in the pyproject.toml file.\n\n## Documentation\nFor more information on available commands and usage, refer to the [documentation](https://orlevii.github.io/realm/).\n\n## Contribution\nContributions to `realm` are welcome! If you encounter any issues or have suggestions for improvements, please open an issue.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A tool for managing python poetry projects",
"version": "0.4.1",
"project_urls": {
"Documentation": "https://orlevii.github.io/realm/",
"Homepage": "https://github.com/orlevii/realm",
"Repository": "https://github.com/orlevii/realm"
},
"split_keywords": [
"monorepo",
"realm",
"poetry"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ffa83e0cbd0f42a5b59216ffb95159238b367a57d36a07132fc0d01f1f6c79ce",
"md5": "8781b73bb4f9250046909f657a04648a",
"sha256": "eaf963c68344868c7d8a28264dd73627d199bd37316dbcb58da66c19e7ec5edf"
},
"downloads": -1,
"filename": "realm-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8781b73bb4f9250046909f657a04648a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8.1,<4.0.0",
"size": 19852,
"upload_time": "2024-03-13T19:27:49",
"upload_time_iso_8601": "2024-03-13T19:27:49.329158Z",
"url": "https://files.pythonhosted.org/packages/ff/a8/3e0cbd0f42a5b59216ffb95159238b367a57d36a07132fc0d01f1f6c79ce/realm-0.4.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2ebdc0602374b9fbf2e458b7b2f0d8a625e609875adb6356837625bff9ca2638",
"md5": "3d50556b1a635ecae3e684a628f8da14",
"sha256": "74c9a9421168529b51fdfd895417d8828ee9b01ca39b2125d5812e4e64130a26"
},
"downloads": -1,
"filename": "realm-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "3d50556b1a635ecae3e684a628f8da14",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8.1,<4.0.0",
"size": 12820,
"upload_time": "2024-03-13T19:27:50",
"upload_time_iso_8601": "2024-03-13T19:27:50.512612Z",
"url": "https://files.pythonhosted.org/packages/2e/bd/c0602374b9fbf2e458b7b2f0d8a625e609875adb6356837625bff9ca2638/realm-0.4.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-13 19:27:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "orlevii",
"github_project": "realm",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "realm"
}