pytemplate-uv


Namepytemplate-uv JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryA template for creating Python projects using uv package manager
upload_time2025-01-21 18:31:39
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseMIT
keywords python template project-generator uv cookiecutter cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.44566s