python-monorepo

Solid

Python monorepo architecture with uv workspaces, mise, and apps/packages pattern. Use when setting up project structure, configuring workspaces, managing dependencies across packages, or designing multi-app Python repositories.

AI & Automation 38 stars 3 forks Updated 5 days ago MIT

Install

View on GitHub

Quality Score: 87/100

Stars 20%
53
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Python Monorepo with uv Workspaces Modern Python monorepo architecture using `uv` for workspace management and `mise` for Python version and task orchestration. ## Core Concepts **Monorepo**: Single repository containing multiple related packages and applications **uv workspace**: Python's answer to npm/pnpm workspaces - Single lock file for entire repo - Shared virtual environment - Cross-package dependency resolution ## Directory Structure ``` my-monorepo/ ├── .mise.toml # Python version + task runner ├── pyproject.toml # Root workspace config ├── uv.lock # Unified lock file ├── apps/ # Deployable applications │ ├── api/ │ └── worker/ └── packages/ # Shared libraries ├── core/ └── utils/ ``` ## Workspace Configuration **Root pyproject.toml:** ```toml [project] name = "my-monorepo" version = "0.1.0" requires-python = ">=3.12" [tool.uv.workspace] members = ["apps/*", "packages/*"] [tool.uv] dev-dependencies = [ "pytest>=8.0.0", "ruff>=0.8.0", "basedpyright>=1.0.0", ] ``` See `references/workspace-config.md` for detailed configurations. ## Package Linking Workspace packages reference each other by distribution name: **packages/utils/pyproject.toml:** ```toml [project] name = "my-utils" dependencies = ["my-core"] ``` **apps/api/pyproject.toml:** ```toml [project] name = "my-api" dependencies = ["my-core", "my-utils", "fastapi>=0.100.0"] ``` ## Cross-Package Import **packages/core/...

Details

Author
martinffx
Repository
martinffx/atelier
Created
6 months ago
Last Updated
5 days ago
Language
TypeScript
License
MIT

Integrates with

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category