Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/frostming/monas
Python monorepo made easy
https://github.com/frostming/monas
cli efficiency monorepo package-manager python
Last synced: 3 months ago
JSON representation
Python monorepo made easy
- Host: GitHub
- URL: https://github.com/frostming/monas
- Owner: frostming
- License: mit
- Created: 2022-04-04T04:19:49.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-25T09:22:38.000Z (over 1 year ago)
- Last Synced: 2024-04-14T06:06:07.680Z (10 months ago)
- Topics: cli, efficiency, monorepo, package-manager, python
- Language: Python
- Homepage: https://monas.fming.dev
- Size: 106 KB
- Stars: 76
- Watchers: 4
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: changelogithub.config.json
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Monas
[![Tests](https://github.com/frostming/monas/workflows/Tests/badge.svg)](https://github.com/frostming/monas/actions?query=workflow%3Aci)
[![pypi version](https://img.shields.io/pypi/v/monas.svg)](https://pypi.org/project/monas/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![pdm-managed](https://img.shields.io/badge/pdm-managed-blueviolet)](https://pdm.fming.dev)Python monorepo made easy.
🚧 **[WIP]** This project still in a rapid development and the behaviors may change. 🚧
➡️ [Example Repository](https://github.com/frostming/monas-example-repo)
## About this project
**Monas** is a tool to manage multiple Python projects in a single repository, or the so called ["Monorepo"](https://en.wikipedia.org/wiki/Monorepo).
It is mainly inspired by [Lerna](https://lerna.js.org/). In a monorepo, some dependencies are shared across packages while others are different. When you change the code of one of these shared dependencies, you may want to run the test suite across all dependant packages. Monas makes the workflow easier.## Installation
**Monas** requires Python >=3.8.
It is recommended to install with `pipx`, if `pipx` haven't been installed yet, refer to the [pipx's docs](https://github.com/pipxproject/pipx)
```bash
pipx install monas
```Alternatively, install with `pip` to the user site:
```bash
python -m pip install --user monas
```## To-do
- [x] Documentation
- [x] Tests
- [x] `setup.cfg` support
- [ ] (Possible) Poetry backend support
- [ ] `src` package layout## License
MIT.