Skip to content

jlevy/uvinit

Repository files navigation

Using uvinit

uvinit

Documentation CI status image uv Copier X (formerly Twitter) Follow

Usage

Two words:

uvx uvinit

It will guide you!

Do I Need uv?

Yes. You will need to have uv installed. Read that page or my template docs for background on why uv is such an improved package manager for Python.

What is uvinit?

A time-saving CLI tool to quickly start new Python projects with uv using the simple-modern-uv template and copier.

It's the tool I wish I'd had when setting up projects with uv.

uvx uvinit will clone a new project template and help you set up your GitHub repo. The template tiny and sets up uv, ruff linting and formatting, GitHub Actions, publishing to PyPI, type checking, and more.

What Python Project Template Does it Use?

The simple-modern-uv template. See that repo for full docs and this thread for a bit more context.

If you prefer, you can use that template directly; uvinit is just a CLI wrapper for the template.

If you have another copier-format template you want to use, however, you can specify it with the --template argument.

Can I Use it With an Existing Project?

Yes. Just cancel after the template is copied (skip the part that pushes to git) and you'll have a new working tree with all the uv and tooling set up. Then manually copy over all the parts you want into your existing project.

By Chance Is There a Short URL I Can Remember for This Handy Tool?

Funny you should ask!

Type git.new/uvinit into your browser.

Tell your friends!


This project was (of course) built using simple-modern-uv.

About

A time-saving CLI to start new, modern Python projects

Resources

License

Stars

Watchers

Forks

Packages

No packages published