Skip to content

viseshrp/yapc

Repository files navigation

yapc

Build status Supported Python versions License

This is a modern Cookiecutter template that can be used to initiate a Python project with all the necessary tools for development, testing, and deployment. It supports the following features:

🚀 Features

  • 📦 Dependency management with uv, including uv.lock support
  • 🔄 Automated updates:
    • Dependabot for Python, GitHub Actions, and pre-commit hook versions
    • Daily pre-commit autoupdate PRs for hook freshness
  • 🔧 Code formatting with black and ruff format
  • 📈 Coverage reporting with Codecov (optional)
  • 📊 Dependency analysis with deptry
  • 🦴 Dead code detection with vulture
  • 📝 Markdown linting with markdownlint-cli
  • 🛠️ Pre-commit hook management with pre-commit
  • 🧪 Testing with pytest and pytest-cov
  • 🧪 Multi-version testing with tox-uv and GitHub Actions
  • 🔐 Security scanning with bandit and pip-audit
  • 🧹 Linting with ruff (includes pyflakes, pycodestyle, isort, pyupgrade, tryceratops, and more)
  • 🔡 Typo detection with codespell
  • 🧠 Static type checking with mypy
  • 💻 Optional CLI scaffolding with Click
  • 🐍 PyPI publishing via uv publish, including TestPyPI flows
  • 🎞️ Autogenerated terminal demo GIFs using VHS, rebuilt automatically from demo.tape
  • 🏗️ CI-ready with GitHub Actions for testing, linting, building, and publishing (optional)

Quickstart

On your local machine, navigate to the directory in which you want to create a project directory, and run the following command:

uv pip install cruft  # highly recommended instead of cookiecutter!
cruft create https://github.com/viseshrp/yapc.git

Follow the prompts to configure your project. Once completed, a new directory containing your project will be created. Then navigate into your newly created project directory and follow the instructions in the README.md to complete the setup of your project.

To update your project with the latest changes from the template, you can run:

cd <your-project-name>
cruft update

Acknowledgements

This project is based on the cookiecutter-uv repository.

About

Yet Another Python Cookiecutter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published