# PyTemplate UV
## Overview
PyTemplate UV is a powerful CLI tool for creating Python project templates using the `uv` package manager. It provides a seamless way to generate standardized project structures with modern development practices.
## Features
- ๐ Quick project initialization
- ๐ง Support for multiple project templates (FastAPI, Standard Python)
- ๐ฆ Integrated with `uv` package management
- ๐งช Comprehensive testing infrastructure
- ๐ Linting and type checking support
## Prerequisites
- Python 3.11+
- `uv` package manager
- `cookiecutter`
## Installation
```bash
pip install pytemplate-uv
# or
uv pip install pytemplate-uv
```
## Usage
### Create a Project
```bash
# Create a standard Python project (default)
pytemplate-uv create-project
# Create a FastAPI project
pytemplate-uv create-project --template fastapi
# Create a project with a custom name
pytemplate-uv create-project --name my-awesome-project
# Create a project with custom template and name
pytemplate-uv create-project --template fastapi --name my-api-project
```
### Project Creation Options
- `--template`: Choose the project template (default: pyproject)
- Options: `pyproject`, `fastapi`
- `--name`: Specify a custom project name
- Additional template-specific options can be passed as needed
### Next Steps After Project Creation
1. `cd` into your project directory
2. Run `uv venv` to create a virtual environment
3. Run `uv pip install -e .` to install dependencies
4. Run `make setup` to set up the development environment
## Development
### Setup
1. Clone the repository
2. Create a virtual environment:
```bash
uv venv
source .venv/bin/activate
```
3. Install development dependencies:
```bash
uv pip install -e .[dev]
```
### Running Tests
```bash
pytest
```
### Linting
```bash
ruff check .
black .
mypy .
```
## Contributing
Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.
## License
MIT License - See [LICENSE](LICENSE) for details.
## Contact
Leo Liu - [GitHub](https://github.com/yuxuzi)
---
*Simplifying Python project creation with modern best practices* ๐โจ
Raw data
{
"_id": null,
"home_page": null,
"name": "pytemplate-uv",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "python, template, project-generator, uv, cookiecutter, cli",
"author": null,
"author_email": "Leo Liu <yuxuzi@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/f0/b7/4bf1e226b964c23389ff930740680f4aaac4d52e244532650db4df89b0e2/pytemplate_uv-0.1.0.tar.gz",
"platform": null,
"description": "# PyTemplate UV\n\n## Overview\n\nPyTemplate UV is a powerful CLI tool for creating Python project templates using the `uv` package manager. It provides a seamless way to generate standardized project structures with modern development practices.\n\n## Features\n\n- \ud83d\ude80 Quick project initialization\n- \ud83d\udd27 Support for multiple project templates (FastAPI, Standard Python)\n- \ud83d\udce6 Integrated with `uv` package management\n- \ud83e\uddea Comprehensive testing infrastructure\n- \ud83d\udd0d Linting and type checking support\n\n## Prerequisites\n\n- Python 3.11+\n- `uv` package manager\n- `cookiecutter`\n\n## Installation\n\n```bash\npip install pytemplate-uv\n# or\nuv pip install pytemplate-uv\n```\n\n## Usage\n\n### Create a Project\n\n```bash\n# Create a standard Python project (default)\npytemplate-uv create-project\n\n# Create a FastAPI project\npytemplate-uv create-project --template fastapi\n\n# Create a project with a custom name\npytemplate-uv create-project --name my-awesome-project\n\n# Create a project with custom template and name\npytemplate-uv create-project --template fastapi --name my-api-project\n```\n\n### Project Creation Options\n\n- `--template`: Choose the project template (default: pyproject)\n - Options: `pyproject`, `fastapi`\n- `--name`: Specify a custom project name\n- Additional template-specific options can be passed as needed\n\n### Next Steps After Project Creation\n\n1. `cd` into your project directory\n2. Run `uv venv` to create a virtual environment\n3. Run `uv pip install -e .` to install dependencies\n4. Run `make setup` to set up the development environment\n\n## Development\n\n### Setup\n\n1. Clone the repository\n2. Create a virtual environment:\n ```bash\n uv venv\n source .venv/bin/activate\n ```\n\n3. Install development dependencies:\n ```bash\n uv pip install -e .[dev]\n ```\n\n### Running Tests\n\n```bash\npytest\n```\n\n### Linting\n\n```bash\nruff check .\nblack .\nmypy .\n```\n\n## Contributing\n\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.\n\n## License\n\nMIT License - See [LICENSE](LICENSE) for details.\n\n## Contact\n\nLeo Liu - [GitHub](https://github.com/yuxuzi)\n\n---\n\n*Simplifying Python project creation with modern best practices* \ud83d\udc0d\u2728\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A template for creating Python projects using uv package manager",
"version": "0.1.0",
"project_urls": {
"Changelog": "https://github.com/yuxuzi/pytemplate-uv/blob/main/CHANGELOG.md",
"Homepage": "https://github.com/yuxuzi/pytemplate-uv",
"Issues": "https://github.com/yuxuzi/pytemplate-uv/issues",
"Repository": "https://github.com/yuxuzi/pytemplate-uv"
},
"split_keywords": [
"python",
" template",
" project-generator",
" uv",
" cookiecutter",
" cli"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "94cf230c06b65dec4917a954e8c39867fc36588298a676acfc6772bbb28a9f39",
"md5": "d5409dccb57dd2631d88777002a27429",
"sha256": "690d2b0e1f9c1e1b724ea0596d270bdb874e8775f6f4d474c8344a3ff335c1db"
},
"downloads": -1,
"filename": "pytemplate_uv-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d5409dccb57dd2631d88777002a27429",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 47980,
"upload_time": "2025-01-21T18:31:37",
"upload_time_iso_8601": "2025-01-21T18:31:37.682149Z",
"url": "https://files.pythonhosted.org/packages/94/cf/230c06b65dec4917a954e8c39867fc36588298a676acfc6772bbb28a9f39/pytemplate_uv-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f0b74bf1e226b964c23389ff930740680f4aaac4d52e244532650db4df89b0e2",
"md5": "b26c25352444a6cbd1ba52ed51f62d46",
"sha256": "a81f67edc30fe6666429f66cd90f2ea67f3d4ad34576ec9f382a1e4e09b31eeb"
},
"downloads": -1,
"filename": "pytemplate_uv-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "b26c25352444a6cbd1ba52ed51f62d46",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 33870,
"upload_time": "2025-01-21T18:31:39",
"upload_time_iso_8601": "2025-01-21T18:31:39.783224Z",
"url": "https://files.pythonhosted.org/packages/f0/b7/4bf1e226b964c23389ff930740680f4aaac4d52e244532650db4df89b0e2/pytemplate_uv-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-21 18:31:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yuxuzi",
"github_project": "pytemplate-uv",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pytemplate-uv"
}