A Maven-inspired Python project management tool - bringing Java's build tool mastery to Python
Project description
Maestria
Maven for Python - Team-oriented Python project management tool built on UV
What's in a name? Maestria (Spanish/Italian for "mastery") brings Maven's proven build tool expertise from the Java world to Python. Just as Maven revolutionized Java project management, Maestria aims to bring that same level of sophistication and simplicity to Python development.
Why Maestria?
Maestria brings Maven's proven build philosophy to Python, combining UV's blazing speed with enterprise-ready team features. See our Why Maestria? guide to understand how Maestria compares to other tools and what makes it unique.
Key differentiators:
- Zero-setup enterprise integration - Automatic pip.conf parsing for internal repositories
- Multi-tier template system - Share and enforce organizational standards
- Plugin architecture - Extend with custom workflows and lifecycle hooks
- Team-first design - Built for collaboration, not just individual developers
- UV-powered performance - 10-100x faster than traditional tools
Existing Python tools (Poetry, PDM, Hatch) target individual developers. Maestria is designed for teams and enterprises that need:
- ✅ Multi-tier template registry - Share organizational templates (local, git, organizational)
- ✅ Team standardization - Enforce security policies, testing standards, CI/CD patterns
- ✅ Zero-setup workflows - New developers productive in minutes, not days
- ✅ Plugin architecture - Extensible system with error isolation
- ✅ Enterprise-ready - Works with Artifactory, Nexus, and internal PyPI repositories
- ✅ UV-powered - Blazing-fast dependency resolution and environment management
Built on top of UV (Ultraviolet) for performance, Maestria combines Maven's time-tested philosophy with Python's modern tooling ecosystem.
Origin: Maestria originated at eBay as the successor to the internal eBay Python Build Tool (PBT), refined through production use before being open-sourced to benefit the broader Python community.
Quick Start
Installation
pip install maestria
Create Your First Project
# Initialize a new Python project
maestria init my-project --template=basic
# Set up development environment
cd my-project
maestria env setup
# Run tests
maestria test
# Build package
maestria build
Documentation
- Quickstart Guide - Get up and running quickly
- Development Guide - Contributing to Maestria
- Publishing Guide - Publishing your projects
- Zero-Setup Workflow - Complete workflow guide
- Feature Guide - All features explained
Plugin Ecosystem
Maestria supports a plugin system for extending functionality. Official plugins include:
- maestria-zensical-plugin (coming soon) - Modern, fast documentation generation and GitHub Pages deployment
Community plugins and contributions are welcome! See our Plugin Development Guide to create your own.
Design Philosophy
Maestria is designed as a lightweight layer on top of industry-standard tools to provide:
- Zero-setup experience for common Python project tasks
- Team-oriented features like shared templates and standards
- Unified interface across different projects
- Plugin extensibility for custom workflows
- Modern defaults leveraging the best practices from the Python ecosystem
Testing
Maestria maintains high test coverage standards to ensure reliability:
# Run all tests with coverage
python -m pytest --cov=maestria --cov-report=term tests/
# View detailed coverage with missing lines
python -m pytest --cov=maestria --cov-report=term-missing tests/
# Generate HTML coverage report
python -m pytest --cov=maestria --cov-report=html tests/
Current Coverage: >90%
- See Development Guide for more testing details
Documentation
For comprehensive documentation, please visit our documentation site.
Contributing
We welcome contributions! Please see our Contributing Guide for details on:
- Setting up your development environment
- Code style and testing requirements
- Submitting pull requests
License
Maestria is licensed under the Apache License 2.0. See the LICENSE file for details.
Copyright (c) 2024-2025 eBay Inc.
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.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file maestria-0.9.0.tar.gz.
File metadata
- Download URL: maestria-0.9.0.tar.gz
- Upload date:
- Size: 100.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
945f015c88d89be08c99a6a731126e44b37fff874232ebf4d92b78c1e005acc1
|
|
| MD5 |
1f359e3e81aa21380f5863d58660a0d3
|
|
| BLAKE2b-256 |
c30c8a54b8701b2bf9d1c8b7acd9d5a3a1d087a0ee40aff4d904faa1ee8ff536
|
File details
Details for the file maestria-0.9.0-py3-none-any.whl.
File metadata
- Download URL: maestria-0.9.0-py3-none-any.whl
- Upload date:
- Size: 111.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24da8f6d7e3e540fb7769533058ab8969f8d8b9bd57573dfa34277071428e712
|
|
| MD5 |
8a572bac46e7b378e2afbadb6f116dbf
|
|
| BLAKE2b-256 |
dabf32af95745ecac5acbb30f3c880edbb070bb3457bfb9a5eaf03daed5a4379
|