Skip to main content

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

License Python

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

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:

  1. Zero-setup experience for common Python project tasks
  2. Team-oriented features like shared templates and standards
  3. Unified interface across different projects
  4. Plugin extensibility for custom workflows
  5. 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%

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


Download files

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

Source Distribution

maestria-0.9.0.tar.gz (100.7 kB view details)

Uploaded Source

Built Distribution

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

maestria-0.9.0-py3-none-any.whl (111.1 kB view details)

Uploaded Python 3

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

Hashes for maestria-0.9.0.tar.gz
Algorithm Hash digest
SHA256 945f015c88d89be08c99a6a731126e44b37fff874232ebf4d92b78c1e005acc1
MD5 1f359e3e81aa21380f5863d58660a0d3
BLAKE2b-256 c30c8a54b8701b2bf9d1c8b7acd9d5a3a1d087a0ee40aff4d904faa1ee8ff536

See more details on using hashes here.

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

Hashes for maestria-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24da8f6d7e3e540fb7769533058ab8969f8d8b9bd57573dfa34277071428e712
MD5 8a572bac46e7b378e2afbadb6f116dbf
BLAKE2b-256 dabf32af95745ecac5acbb30f3c880edbb070bb3457bfb9a5eaf03daed5a4379

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