Metadata-Version: 2.4
Name: pytemplate-uv
Version: 2.0.0
Summary: PyTemplate UV: A Modern Python Project Generator
Author-email: Leo Liu <yuxuzi@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/yuxuzi/pytemplate-uv
Project-URL: Repository, https://github.com/yuxuzi/pytemplate-uv
Project-URL: Issues, https://github.com/yuxuzi/pytemplate-uv/issues
Project-URL: Changelog, https://github.com/yuxuzi/pytemplate-uv/blob/main/CHANGELOG.md
Keywords: python,template,project-generator,uv,cookiecutter,cli
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.9.0
Requires-Dist: rich>=13.7.0
Requires-Dist: cookiecutter>=2.5.0
Requires-Dist: pytest>=7.4.4
Requires-Dist: sqlmodel>=0.0.25
Requires-Dist: pydantic>=2.11.10
Provides-Extra: dev
Requires-Dist: ruff>=0.1.9; extra == "dev"
Requires-Dist: black>=23.12.1; extra == "dev"
Requires-Dist: pytest>=7.4.4; extra == "dev"
Requires-Dist: pre-commit>=3.6.0; extra == "dev"
Requires-Dist: mypy>=1.7.1; extra == "dev"
Requires-Dist: coverage>=7.3.2; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.5.3; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == "docs"
Dynamic: license-file

# 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* 🐍✨
