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

PyPI version Python Version License GitHub stars GitHub issues GitHub forks

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.1.tar.gz (100.8 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.1-py3-none-any.whl (111.4 kB view details)

Uploaded Python 3

File details

Details for the file maestria-0.9.1.tar.gz.

File metadata

  • Download URL: maestria-0.9.1.tar.gz
  • Upload date:
  • Size: 100.8 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.1.tar.gz
Algorithm Hash digest
SHA256 b0d53e343ec3d6cd7fd9f6f851f9c4c6c112167ea6303417005300edda6514f6
MD5 04dbad746da84df22b7e203e3b364883
BLAKE2b-256 985cd9a8b6895eac39cc4a682bf9a5bf1732ff83a9e3793e3e81300ea85d0e75

See more details on using hashes here.

File details

Details for the file maestria-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: maestria-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 111.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5be35c87cc5c337cdfa50c0e3c373b21581a2eb98f15e5992fb7df374f632694
MD5 62f822cd2314399b5ad582ee301b0826
BLAKE2b-256 e3a1689426b97d20a5c549f56b3878c53f8803295da7c6a0125ff0dc0d717b69

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