# Python Package Template

[](https://github.com/serafinovsky/cookiecutter-uv-package/actions)




[](https://serafinovsky.github.io/cookiecutter-uv-package)
**Cookiecutter template for creating Python packages with complete CI/CD setup and automatic PyPI publishing.**
## Features
- **Modern tools**: Hatchling, uv, Ruff, MyPy, Pytest
- **CI/CD out of the box**: GitHub Actions with automatic PyPI publishing
- **Release management**: Release Please + Conventional Commits
- **Code quality**: linting, typing, tests, security checks
- **Ready commands**: Makefile for all development tasks
## Quick Start
### Using cookiecutter directly
```bash
# Install cookiecutter
pip install cookiecutter
# Create project
cookiecutter https://github.com/serafinovsky/cookiecutter-uv-package
# Setup development environment
cd your-project-name
make dev-setup
```
### Using CLI tool
```bash
# Install the CLI tool
pip install cookiecutter-uv-package
# Get help with available arguments
cookiecutter-uv-package --help
# Create project with CLI
cookiecutter-uv-package
# Or with custom options
cookiecutter-uv-package --output-dir /path/to/projects --no-input
# Setup development environment
cd your-project-name
make dev-setup
```
## Configuration Options
When creating a project, you'll be asked to configure:
- **project_name**: Display name for your package (e.g., "My Awesome Package")
- **project_short_description**: Brief description of what your package does
- **author_name**: Your name
- **author_email**: Your email address
- **github_username**: Your GitHub username
- **python_versions**: Supported Python versions (default: "3.11, 3.12, 3.13")
- **use_docker**: Whether to include Docker support (yes/no)
- **deployment_setup**: Choose deployment setup (none/github-ci/github-ci-pypi)
- **license**: Choose license (MIT/Apache-2.0/BSD-3-Clause/GPL-3.0/ISC/none)
## Main Commands
```bash
make dev-setup # Setup development environment
make test # Run tests
make check # Check code
make format # Format code
make build # Build package
```
## What You Get
- Ready Python package with proper structure
- CI/CD pipeline with GitHub Actions
- Automatic PyPI publishing
- Version management via Release Please
## Example Project
See a real example of this template in action:
**[demo-example-package](https://github.com/serafinovsky/demo-example-package)**
## Documentation
- **[Full Documentation](https://serafinovsky.github.io/cookiecutter-uv-package)** - Complete guide and reference
- **[Tutorial](https://serafinovsky.github.io/cookiecutter-uv-package/tutorial/)** - Step-by-step setup guide
- **[Features](https://serafinovsky.github.io/cookiecutter-uv-package/features/)** - Detailed feature descriptions
- **[Examples](https://serafinovsky.github.io/cookiecutter-uv-package/examples/)** - Usage examples and scenarios
## License
MIT License
Raw data
{
"_id": null,
"home_page": null,
"name": "cookiecutter-uv-package",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "ci-cd, cookiecutter, development, github-actions, package, pypi, python, template",
"author": null,
"author_email": "Mark Serafinovsky <m.serafinovsky@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/09/e7/4e5375a3683638a9bf79ae00e667892027ad69927a5b93c47cf824b12724/cookiecutter_uv_package-1.0.7.tar.gz",
"platform": null,
"description": "# Python Package Template\n\n\n[](https://github.com/serafinovsky/cookiecutter-uv-package/actions)\n\n\n\n\n[](https://serafinovsky.github.io/cookiecutter-uv-package)\n\n**Cookiecutter template for creating Python packages with complete CI/CD setup and automatic PyPI publishing.**\n\n## Features\n\n- **Modern tools**: Hatchling, uv, Ruff, MyPy, Pytest\n- **CI/CD out of the box**: GitHub Actions with automatic PyPI publishing\n- **Release management**: Release Please + Conventional Commits\n- **Code quality**: linting, typing, tests, security checks\n- **Ready commands**: Makefile for all development tasks\n\n## Quick Start\n\n### Using cookiecutter directly\n\n```bash\n# Install cookiecutter\npip install cookiecutter\n\n# Create project\ncookiecutter https://github.com/serafinovsky/cookiecutter-uv-package\n\n# Setup development environment\ncd your-project-name\nmake dev-setup\n```\n\n### Using CLI tool\n\n```bash\n# Install the CLI tool\npip install cookiecutter-uv-package\n\n# Get help with available arguments\ncookiecutter-uv-package --help\n\n# Create project with CLI\ncookiecutter-uv-package\n\n# Or with custom options\ncookiecutter-uv-package --output-dir /path/to/projects --no-input\n\n# Setup development environment\ncd your-project-name\nmake dev-setup\n```\n\n## Configuration Options\n\nWhen creating a project, you'll be asked to configure:\n\n- **project_name**: Display name for your package (e.g., \"My Awesome Package\")\n- **project_short_description**: Brief description of what your package does\n- **author_name**: Your name\n- **author_email**: Your email address\n- **github_username**: Your GitHub username\n- **python_versions**: Supported Python versions (default: \"3.11, 3.12, 3.13\")\n- **use_docker**: Whether to include Docker support (yes/no)\n- **deployment_setup**: Choose deployment setup (none/github-ci/github-ci-pypi)\n- **license**: Choose license (MIT/Apache-2.0/BSD-3-Clause/GPL-3.0/ISC/none)\n\n## Main Commands\n\n```bash\nmake dev-setup # Setup development environment\nmake test # Run tests\nmake check # Check code\nmake format # Format code\nmake build # Build package\n```\n\n## What You Get\n\n- Ready Python package with proper structure\n- CI/CD pipeline with GitHub Actions\n- Automatic PyPI publishing\n- Version management via Release Please\n\n## Example Project\n\nSee a real example of this template in action:\n**[demo-example-package](https://github.com/serafinovsky/demo-example-package)**\n\n## Documentation\n\n- **[Full Documentation](https://serafinovsky.github.io/cookiecutter-uv-package)** - Complete guide and reference\n- **[Tutorial](https://serafinovsky.github.io/cookiecutter-uv-package/tutorial/)** - Step-by-step setup guide\n- **[Features](https://serafinovsky.github.io/cookiecutter-uv-package/features/)** - Detailed feature descriptions\n- **[Examples](https://serafinovsky.github.io/cookiecutter-uv-package/examples/)** - Usage examples and scenarios\n\n## License\n\nMIT License\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Modern cookiecutter template for creating Python packages with complete CI/CD setup and automatic PyPI publishing.",
"version": "1.0.7",
"project_urls": {
"Documentation": "https://serafinovsky.github.io/cookiecutter-uv-package",
"Homepage": "https://github.com/serafinovsky/cookiecutter-uv-package",
"Issues": "https://github.com/serafinovsky/cookiecutter-uv-package/issues",
"Repository": "https://github.com/serafinovsky/cookiecutter-uv-package"
},
"split_keywords": [
"ci-cd",
" cookiecutter",
" development",
" github-actions",
" package",
" pypi",
" python",
" template"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9b0e3ce5fa7714be724351a22f724bf0719391d14bf410ad1d329fff32dcc7a5",
"md5": "0fc3f9130ba913e7374b72cd24011497",
"sha256": "a155ae8d5de92fe1f4ad3e7b56c59f9eab7bda0a03c1b9980244bb0e6095188e"
},
"downloads": -1,
"filename": "cookiecutter_uv_package-1.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0fc3f9130ba913e7374b72cd24011497",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 40154,
"upload_time": "2025-11-02T09:26:00",
"upload_time_iso_8601": "2025-11-02T09:26:00.191173Z",
"url": "https://files.pythonhosted.org/packages/9b/0e/3ce5fa7714be724351a22f724bf0719391d14bf410ad1d329fff32dcc7a5/cookiecutter_uv_package-1.0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "09e74e5375a3683638a9bf79ae00e667892027ad69927a5b93c47cf824b12724",
"md5": "61db15e5db0fdad27f5d47bc56cdb34e",
"sha256": "526359309ef1e87ca9ae64b3ec6f778f2a3ab087b8e4ec841f7455eb9a368d07"
},
"downloads": -1,
"filename": "cookiecutter_uv_package-1.0.7.tar.gz",
"has_sig": false,
"md5_digest": "61db15e5db0fdad27f5d47bc56cdb34e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 118213,
"upload_time": "2025-11-02T09:26:01",
"upload_time_iso_8601": "2025-11-02T09:26:01.114512Z",
"url": "https://files.pythonhosted.org/packages/09/e7/4e5375a3683638a9bf79ae00e667892027ad69927a5b93c47cf824b12724/cookiecutter_uv_package-1.0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-02 09:26:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "serafinovsky",
"github_project": "cookiecutter-uv-package",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "cookiecutter-uv-package"
}