Skip to content

schubergphilis/paleofuturistic_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Paleofuturistic Python

The Python development workflow your past self had always hoped for is finally here!

Paleofuturistic Environment

This project is meant as an enterprise-ready template for developing Python packages. If that bar is a bit too high for you, then you can checkout Straight to the Money 💰. Paleofuturistic Python is a detached fork of Straight to the Money 💰.

Usage

Prerequisite: uv
(Installing uv should also provide you with uvx. Give their docs a look-over before continuing if you want to get a better understanding of what is going on under the hood in the steps below.)

Setup

  • Initialize with uvx cruft create --checkout latest https://github.com/schubergphilis/paleofuturistic_python and fill in your project details.
  • Optional: validate the setup with uv run python -c "import paleofuturistic_python; print(paleofuturistic_python.hello())" (replace paleofuturistic_python with your project name/slug).
  • Run uv sync --all-extras --dev to download the dependencies and generate a .lock file.

Workflow

  • Download dependencies (if you need any): uv add some_lib_you_need
  • Develop (optional, tinker: uvx --with-editable . ptpython)
  • QA:
    • Format: uv run ruff format
    • Lint: uv run ruff check
    • Type check: uv run mypy
    • Test: uv run python -m unittest
  • Build: uv build
  • Document: uv run mkdocs build
  • Publish: uv publish

Can it really be that simple? Well, eventually yes, but you will need to set up some connections and credentials still, of course. For a slightly more elaborate walkthrough on that, see the docs.