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.tomlinto your project'spyproject.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
- List available templates:
poetry pepperpy list-templates
- Initialize a new project with a template:
poetry pepperpy init full
- Or create a
pepperpy.tomlfile 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1d62e6c63bdb445dd77b105a21b488f1555edcce38b2407cb9c43f351b60aed
|
|
| MD5 |
be7ce01c27872b77d3356e2f4441e5c1
|
|
| BLAKE2b-256 |
cad5e8f57b7f480c7e6fdbf0f747cb373e703776517de3af89508cbaf0ec7f49
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d376b74df89a01ddfebbdbbd2122ca7b9eda78dd919297d682b3fd5d7db11dc7
|
|
| MD5 |
9de276e43fca65a73e360eed60467786
|
|
| BLAKE2b-256 |
384f63915c6a49e42cad332e58014373decaa476e5411bf3d98ff01f0cf6b179
|