Skip to main content

A Poetry plugin for shared configuration management across multiple projects in the pepperpy ecosystem

Project description

Pepperpy Poetry Plugin

A Poetry plugin for shared configuration management across multiple projects in the pepperpy ecosystem.

Overview

The Pepperpy Poetry Plugin simplifies configuration management across multiple Python projects. It allows you to maintain a single source of truth for common configuration settings, ensuring consistency across your entire project ecosystem.

Key Features

  • Shared Configuration Management: Automatically merge shared configurations from pepperpy.toml into your project's pyproject.toml
  • Template System: Rich template system with inheritance and variable substitution
  • Environment Variables: Advanced environment variable management with validation
  • Caching: Smart caching system for better performance
  • CLI Commands: Intuitive commands for managing configurations and templates

Installation

You can install the plugin using any of these methods:

Using pipx (Recommended)

pipx inject poetry pepperpy-poetry

Using Poetry's plugin manager

poetry self add pepperpy-poetry

Using pip in Poetry's environment

$POETRY_HOME/bin/pip install pepperpy-poetry

Available Templates

The plugin comes with several predefined templates:

Base Template

Basic Python project setup with essential development tools.

Full Template

Complete Python project setup with:

  • Modern Python development tools (Ruff, Black, MyPy)
  • Testing setup (Pytest with coverage)
  • Documentation (Sphinx)
  • CI/CD with semantic release
  • Pre-commit hooks
  • Automated version management

FastAPI Template

Complete FastAPI web application setup with:

  • FastAPI with Uvicorn
  • Pydantic for data validation
  • Authentication packages
  • API testing tools

CLI Template

Command-line application setup with:

  • Typer for CLI interface
  • Rich for beautiful terminal output
  • Click testing utilities

Data Science Template

Data science project setup with:

  • NumPy and Pandas
  • Scikit-learn
  • Matplotlib and Seaborn
  • Jupyter notebooks

Django Template

Django web application setup with:

  • Django with common extensions
  • Environment management
  • Authentication and forms
  • Development tools

Quick Example

  1. List available templates:
poetry pepperpy list-templates
  1. Initialize a new project with a template:
poetry pepperpy init full
  1. Or create a pepperpy.toml file manually:
# Use a predefined template
template = "full"

[tool.poetry]
name = "my-python-package"
description = "My Python Package"

[tool.pepperpy.env]
GH_TOKEN = { required = true, secret = true, description = "GitHub token for releases" }
POETRY_PYPI_TOKEN_PYPI = { required = true, secret = true, description = "PyPI token for publishing" }

Documentation

For detailed documentation, visit https://felipepimentel.github.io/pepperpy-poetry/

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

pepperpy_poetry-0.4.1.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

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

pepperpy_poetry-0.4.1-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file pepperpy_poetry-0.4.1.tar.gz.

File metadata

  • Download URL: pepperpy_poetry-0.4.1.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.8 Linux/6.5.0-1025-azure

File hashes

Hashes for pepperpy_poetry-0.4.1.tar.gz
Algorithm Hash digest
SHA256 c1d62e6c63bdb445dd77b105a21b488f1555edcce38b2407cb9c43f351b60aed
MD5 be7ce01c27872b77d3356e2f4441e5c1
BLAKE2b-256 cad5e8f57b7f480c7e6fdbf0f747cb373e703776517de3af89508cbaf0ec7f49

See more details on using hashes here.

File details

Details for the file pepperpy_poetry-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: pepperpy_poetry-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.8 Linux/6.5.0-1025-azure

File hashes

Hashes for pepperpy_poetry-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d376b74df89a01ddfebbdbbd2122ca7b9eda78dd919297d682b3fd5d7db11dc7
MD5 9de276e43fca65a73e360eed60467786
BLAKE2b-256 384f63915c6a49e42cad332e58014373decaa476e5411bf3d98ff01f0cf6b179

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