pepperpy-poetry


Namepepperpy-poetry JSON
Version 0.4.1 PyPI version JSON
download
home_pagehttps://github.com/felipepimentel/pepperpy-poetry
SummaryA Poetry plugin for shared configuration management across multiple projects in the pepperpy ecosystem
upload_time2025-01-15 23:36:04
maintainerFelipe Pimentel
docs_urlNone
authorFelipe Pimentel
requires_python<4.0,>=3.12
licenseMIT
keywords poetry plugin configuration management pepperpy
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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)

```bash
pipx inject poetry pepperpy-poetry
```

### Using Poetry's plugin manager

```bash
poetry self add pepperpy-poetry
```

### Using pip in Poetry's environment

```bash
$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:
```bash
poetry pepperpy list-templates
```

2. Initialize a new project with a template:
```bash
poetry pepperpy init full
```

3. Or create a `pepperpy.toml` file manually:
```toml
# 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/](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](LICENSE) file for details.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/felipepimentel/pepperpy-poetry",
    "name": "pepperpy-poetry",
    "maintainer": "Felipe Pimentel",
    "docs_url": null,
    "requires_python": "<4.0,>=3.12",
    "maintainer_email": "felipe.pimentel@gmail.com",
    "keywords": "poetry, plugin, configuration, management, pepperpy",
    "author": "Felipe Pimentel",
    "author_email": "felipe.pimentel@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ca/d5/e8f57b7f480c7e6fdbf0f747cb373e703776517de3af89508cbaf0ec7f49/pepperpy_poetry-0.4.1.tar.gz",
    "platform": null,
    "description": "# Pepperpy Poetry Plugin\n\nA Poetry plugin for shared configuration management across multiple projects in the pepperpy ecosystem.\n\n## Overview\n\nThe 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.\n\n## Key Features\n\n- **Shared Configuration Management**: Automatically merge shared configurations from `pepperpy.toml` into your project's `pyproject.toml`\n- **Template System**: Rich template system with inheritance and variable substitution\n- **Environment Variables**: Advanced environment variable management with validation\n- **Caching**: Smart caching system for better performance\n- **CLI Commands**: Intuitive commands for managing configurations and templates\n\n## Installation\n\nYou can install the plugin using any of these methods:\n\n### Using `pipx` (Recommended)\n\n```bash\npipx inject poetry pepperpy-poetry\n```\n\n### Using Poetry's plugin manager\n\n```bash\npoetry self add pepperpy-poetry\n```\n\n### Using pip in Poetry's environment\n\n```bash\n$POETRY_HOME/bin/pip install pepperpy-poetry\n```\n\n## Available Templates\n\nThe plugin comes with several predefined templates:\n\n### Base Template\nBasic Python project setup with essential development tools.\n\n### Full Template\nComplete Python project setup with:\n- Modern Python development tools (Ruff, Black, MyPy)\n- Testing setup (Pytest with coverage)\n- Documentation (Sphinx)\n- CI/CD with semantic release\n- Pre-commit hooks\n- Automated version management\n\n### FastAPI Template\nComplete FastAPI web application setup with:\n- FastAPI with Uvicorn\n- Pydantic for data validation\n- Authentication packages\n- API testing tools\n\n### CLI Template\nCommand-line application setup with:\n- Typer for CLI interface\n- Rich for beautiful terminal output\n- Click testing utilities\n\n### Data Science Template\nData science project setup with:\n- NumPy and Pandas\n- Scikit-learn\n- Matplotlib and Seaborn\n- Jupyter notebooks\n\n### Django Template\nDjango web application setup with:\n- Django with common extensions\n- Environment management\n- Authentication and forms\n- Development tools\n\n## Quick Example\n\n1. List available templates:\n```bash\npoetry pepperpy list-templates\n```\n\n2. Initialize a new project with a template:\n```bash\npoetry pepperpy init full\n```\n\n3. Or create a `pepperpy.toml` file manually:\n```toml\n# Use a predefined template\ntemplate = \"full\"\n\n[tool.poetry]\nname = \"my-python-package\"\ndescription = \"My Python Package\"\n\n[tool.pepperpy.env]\nGH_TOKEN = { required = true, secret = true, description = \"GitHub token for releases\" }\nPOETRY_PYPI_TOKEN_PYPI = { required = true, secret = true, description = \"PyPI token for publishing\" }\n```\n\n## Documentation\n\nFor detailed documentation, visit [https://felipepimentel.github.io/pepperpy-poetry/](https://felipepimentel.github.io/pepperpy-poetry/)\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Poetry plugin for shared configuration management across multiple projects in the pepperpy ecosystem",
    "version": "0.4.1",
    "project_urls": {
        "Documentation": "https://felipepimentel.github.io/pepperpy-poetry",
        "Homepage": "https://github.com/felipepimentel/pepperpy-poetry",
        "Repository": "https://github.com/felipepimentel/pepperpy-poetry"
    },
    "split_keywords": [
        "poetry",
        " plugin",
        " configuration",
        " management",
        " pepperpy"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "384f63915c6a49e42cad332e58014373decaa476e5411bf3d98ff01f0cf6b179",
                "md5": "9de276e43fca65a73e360eed60467786",
                "sha256": "d376b74df89a01ddfebbdbbd2122ca7b9eda78dd919297d682b3fd5d7db11dc7"
            },
            "downloads": -1,
            "filename": "pepperpy_poetry-0.4.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9de276e43fca65a73e360eed60467786",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.12",
            "size": 16246,
            "upload_time": "2025-01-15T23:36:00",
            "upload_time_iso_8601": "2025-01-15T23:36:00.683338Z",
            "url": "https://files.pythonhosted.org/packages/38/4f/63915c6a49e42cad332e58014373decaa476e5411bf3d98ff01f0cf6b179/pepperpy_poetry-0.4.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cad5e8f57b7f480c7e6fdbf0f747cb373e703776517de3af89508cbaf0ec7f49",
                "md5": "be7ce01c27872b77d3356e2f4441e5c1",
                "sha256": "c1d62e6c63bdb445dd77b105a21b488f1555edcce38b2407cb9c43f351b60aed"
            },
            "downloads": -1,
            "filename": "pepperpy_poetry-0.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "be7ce01c27872b77d3356e2f4441e5c1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.12",
            "size": 15221,
            "upload_time": "2025-01-15T23:36:04",
            "upload_time_iso_8601": "2025-01-15T23:36:04.885679Z",
            "url": "https://files.pythonhosted.org/packages/ca/d5/e8f57b7f480c7e6fdbf0f747cb373e703776517de3af89508cbaf0ec7f49/pepperpy_poetry-0.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-15 23:36:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "felipepimentel",
    "github_project": "pepperpy-poetry",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pepperpy-poetry"
}
        
Elapsed time: 0.45921s