Skip to content

aliev/baker-uv-template

 
 

Repository files navigation

uv template for Baker

Overview

This template creates a project scaffolding for Python using pytest and pytest-watcher as its test runner.

It also includes common development tools such as pyright, jupyter and ruff.

Dependencies

  • Baker: A command-line tool that helps you quickly scaffold new projects. It is implemented in Rust, but is language-agnostic. You can create projects and write scripts to help scaffolding in any language. The main templating engine uses Mini Jinja.

  • git: This template creates an empty git in the project directory. It also defaults the project author and email to the ones defined in the global git config.

  • bash: The hooks in the present template are written as Bash scripts.

  • jq: We use jq to read variables from the template engine context to our hooks.

  • uv: This template will create Python project scaffolding with the uv package manager. uv is implemented in Rust.

Development tools

  • Jupyter is an interactive Python shell. Its notebook version is implemented as a web server, which makes it possible to present images and many other desirable features. You can run Jupyter notebook with uv run jupyter notebook.

  • pytest-watcher is a test runner that runs tests each time a *.py file is changed in the project. You can configure it to run in response to other file extensions too. Just add something like

    [tool.pytest-watcher]
    patterns = ["*.py", "*.csv", "*.json"]

    to pyproject.toml and it will run the tests when you change JSON or CSV files too.

    You can run pytest-watcher with uv run ptw ..

About

Baker template to scaffold new Python projects. Includes common dev dependencies.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 51.2%
  • Jinja 48.8%