|
2 | 2 |
|
3 | 3 | A Python project template robust enough to follow up [cookiecutter-hypermodern-python] |
4 | 4 |
|
5 | | -# Example Output |
| 5 | +## Usage/Installation |
| 6 | + |
| 7 | +The only prerequisite for using the template is to [install uv]. |
| 8 | + |
| 9 | +From there just cd into the directory you want to create the project in and run: |
| 10 | +```terminaloutput |
| 11 | +uvx cruft create https://github.com/56kyle/cookiecutter-robust-python.git |
| 12 | +> [1/15] project_name (robust-python): my-repo-name |
| 13 | +> ... |
| 14 | +``` |
| 15 | + |
| 16 | +#### Local Setup |
| 17 | + |
| 18 | +Once you have generated your project, and preferably before opening the IDE, the normal workflow to setup everything would go as follows: |
| 19 | +```terminaloutput |
| 20 | +cd my-repo-name |
| 21 | +
|
| 22 | +# Sets up a git repo w/ a main/develop branch along with an initial commit of everything just generated. |
| 23 | +uvx nox -s setup-git |
| 24 | +
|
| 25 | +# Pins the uv python version, generates/syncs a venv, etc. |
| 26 | +uvx nox -s setup-venv |
| 27 | +
|
| 28 | +# Sets up the remote reference and ensures main/develop are pushed/synced. Requires that the remote exists (should be empty). |
| 29 | +uvx nos -s setup-remote |
| 30 | +``` |
| 31 | + |
| 32 | +You can also run `uvx nox -t env` for the same effect. |
| 33 | + |
| 34 | + |
| 35 | +## Most Notable Features |
| 36 | +- Modern tooling with [uv], [ruff], [cruft], etc. |
| 37 | +- Built for supporting most OS's (windows, linux, macos) and all currently supported [python] versions |
| 38 | +- Platform agnostic CI/CD ([github], [gitlab], [bitbucket]) |
| 39 | +- CI/CD that parities local [nox] sessions for all [python] |
| 40 | +- [maturin] support that can be at any time during the project's lifecycle |
| 41 | +- Designed to be a maintainable template over time through the use of automated demos and integration tests |
| 42 | +- ... and much more! |
| 43 | + |
| 44 | +For a general overview of where we are at with this template, please see the [roadmap](#roadmap) section. |
| 45 | + |
| 46 | +## Example Output |
6 | 47 | For an example of this template's output, please visit the [demo](https://github.com/56kyle/robust-python-demo) which is kept up to date with the current state of this template. |
7 | 48 |
|
8 | 49 | ## Roadmap |
@@ -137,4 +178,5 @@ of trusted individuals to ensure the project is taken care of. |
137 | 178 | [ruff]: https://docs.astral.sh/ruff/ |
138 | 179 | [rust]: https://www.rust-lang.org/learn |
139 | 180 | [rye]: https://rye.astral.sh/ |
| 181 | +[install uv]: https://docs.astral.sh/uv/getting-started/installation/ |
140 | 182 | [uv]: https://docs.astral.sh/uv/ |
0 commit comments