Skip to main content

Tool for managing Python monorepos

Project description

monopy

monopy is a Python tool designed to help manage monorepo structures efficiently, with support for managing dependencies, configurations, and service execution.

monorepo structure

└── python-monorepo
    ├── Readme.md
    ├── config.json  
    ├── monorepo
    │   ├── services
    │   │   ├── x
    │   │   │   ├── Dockerfile
    │   │   │   ├── app
    │   │   │   │   ├── __init__.py
    │   │   │   │   ├── application.py
    │   │   │   │   ├── main.py
    │   │   │   │   └── requirements.txt        
    │   │   │   ├── local-utils.json
    │   │   │   └── requirements.txt
    │   ├── utils
    │   │   ├── y
    │   │   │   ├── app     
    │   │   │   │   ├── __init__.py
    │   │   │   │   └── y.py
    │   │   │   ├── local-utils.json
    │   │   │   └── requirements.txt
    │   │   └── z
    │   │       ├── app
    │   │       │   ├── __init__.py
    │   │       │   └── z.py
    │   │       ├── local-utils.json
    │   │       └── requirements.txt
    │   └── versions-lock.json

config.json

{
    "repo_name": "monorepo",
    "services_dir": "services",
    "utils_dir": "utils",
    "venv_dir_name": ".venv",
    "default_case": "local-case",
    "version_lock_file": "versions-lock.json",
    "service_main_file": "main.py",
    "local_utils_file": "local-utils.json"
  }
  

monorepo/services/x/local-utils.json

{
    "local_dependencies": [
        "y"
    ],
    "requirements": [
        "boto3"
    ],
    "local_dependencies_requirements": [

    ]
}

run specific service:

cd python-monorepo monopy run service x or: cd monorepo monopy run service x ..

ci command for uncopy unnecceassery util service:

monopy run service x . ci-case

build command inside the dockerfile:

monopy run service x . build-case

build command inside the cmd in dockerfile:

monopy run service x . build-case

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

monopylib-0.1.0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

monopylib-0.1.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file monopylib-0.1.0.tar.gz.

File metadata

  • Download URL: monopylib-0.1.0.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for monopylib-0.1.0.tar.gz
Algorithm Hash digest
SHA256 968898f393a85687c0b3c2fcd2e302d9c7339a3091751750614ff6a314a041e0
MD5 743940f58d211d686f55f2c902780f9e
BLAKE2b-256 579e83ac73cf104d942c8653b1e0a368fab5f29683a2de9bb661e1ca36f26a87

See more details on using hashes here.

File details

Details for the file monopylib-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: monopylib-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for monopylib-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 08ffd502c2f5d7d5e143842f70455197cc9905409b8ede2d9f918214458d59a5
MD5 66cc904f742f51734658709a72374da5
BLAKE2b-256 7d0d32f446a07ae7e5331b0501aa29816c91af1b40a4668495951bab7138f138

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page