https://github.com/wyattferguson/pattern
Pattern - A modern, opinionated, cookiecutter template for your next Python project.
https://github.com/wyattferguson/pattern
cookiecutter python ruff template-project uv
Last synced: 3 months ago
JSON representation
Pattern - A modern, opinionated, cookiecutter template for your next Python project.
- Host: GitHub
- URL: https://github.com/wyattferguson/pattern
- Owner: wyattferguson
- License: mit
- Created: 2025-06-03T01:48:01.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-06-26T00:25:43.000Z (3 months ago)
- Last Synced: 2025-06-26T00:26:30.537Z (3 months ago)
- Topics: cookiecutter, python, ruff, template-project, uv
- Language: Python
- Homepage: https://wyattferguson.github.io/pattern/
- Size: 1010 KB
- Stars: 76
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome-github-stars - wyattferguson/pattern - Pattern - A modern, opinionated, cookiecutter template for your next Python project. (Python)
README
# :snake: Pattern - Modern Python Cookiecutter Project
Pattern is a modern, opinionated, cookiecutter template for your next Python project. Included is modern tooling and dependencies with sensible rules and settings. Also included is all the boilerplate documentation, GitHub actions, and project extras you would need to create good foundation for your next python project.
- **[View our full documentation.](https://wyattferguson.github.io/pattern/)**
## Setup New Project
> [!note]
> Make sure you have [UV installed](https://docs.astral.sh/uv/getting-started/installation/#installation-methods) before you start.Create new project:
```bash
uvx cookiecutter gh:wyattferguson/pattern
```Alternatively you can use [Cruft](https://cruft.github.io/cruft/):
```bash
uvx cruft create gh:wyattferguson/pattern
```Then just follow the prompts, pick the tools you want to install, and watch the magic happen.
## Features
Everything comes pre-configured to work out of the box. On setup you can pick and choose what extras to install or to leave behind.
- :package: [UV](https://docs.astral.sh/uv/) - Package and project manager
- :crab: [Ruff](https://docs.astral.sh/ruff/) - Linter and code formatter.
- :bug: Typechecking with [Ty](https://github.com/astral-sh/ty) or [Mypy](https://www.mypy-lang.org/).
- :test_tube: [Pytest](https://docs.pytest.org/en/stable/) - Testing
- :telescope: [Coverage](https://coverage.readthedocs.io/en/7.6.12/) - Test coverage.
- :shaved_ice: [Nox](https://nox.thea.codes/en/stable/index.html) - Testing in multiple Python environments.
- :small_airplane: [Taskipy](https://github.com/taskipy/taskipy) - Task runner for CLI shortcuts.
- :vhs: [Portray](https://timothycrosley.github.io/portray/) - Doc generation and Github Pages deployment.
- :takeout_box: [PyPI](https://pypi.org/) package publishing.
- :tropical_drink: GitHub Templates for documentation, feature requests, general reports, bug reports, and pull requests.
- :cactus: [Pre-commit](https://pre-commit.com/) - Linting, formatting, and common bug checks on Git commits.
- :bookmark_tabs: Changelog, Code of Conduct, and Contributing Guide templates.
- :whale2: [Docker](https://www.docker.com/) support including extensive dockerignore file.
- :cocktail: [VSCode](https://code.visualstudio.com/) - Settings and extension integrations.
- :robot: [Dependabot](https://docs.github.com/en/code-security/getting-started/dependabot-quickstart-guide) - Dependency scanning for new versions and security alerts.
- :mage_man: Semantic Pull Requests - Enforce pull request titles
- 🚚 [Cruft Support](https://cruft.github.io/cruft/) - Automatic template updates and validation.## Alternative Cookiecutter Projects
If this cookiecutter isn't your cup of tea, you might like one of these alternatives.
- [Fpgmaas cookiecutter-uv](https://github.com/fpgmaas/cookiecutter-uv) - fpgmaas version of a cookiecutter using UV.
- [Bosd uv-hypermodern-python](https://github.com/bosd/cookiecutter-uv-hypermodern-python) - bosd version of a cookiecutter uv project with github deployments.
- [Cookiecutter pypackage](https://github.com/audreyfeldroy/cookiecutter-pypackage) - Cookiecutter template for a Python package.
- [Neuroinformatics cookiecutter](https://github.com/neuroinformatics-unit/python-cookiecutter) - Utility to create a basic Python project structure with tests, CI etc.## Contributing
Contributions or suggestions are more then welcome! If you'd like to enhance to this project, please submit a pull request. For major changes, please open an issue first to discuss what you would like to change.
**[View our full documentation.](https://wyattferguson.github.io/pattern/)**
## License
[MIT License](https://github.com/wyattferguson/pattern/blob/main/LICENSE)
## Contact + Support
Created by [Wyatt Ferguson](https://github.com/wyattferguson)
For any questions or comments heres how you can reach me:
### :octocat: Follow me on [Github @wyattferguson](https://github.com/wyattferguson)
### :mailbox_with_mail: Email me at [wyattxdev@duck.com](wyattxdev@duck.com)
### :tropical_drink: Follow on [BlueSky @wyattf](https://wyattf.bsky.social)