|
1 | | -# Python Project Template |
| 1 | +<div align=center> |
| 2 | +<h1>Python Project Template</h1> |
| 3 | + |
| 4 | +[][sample project] |
| 5 | +[][sample project] |
| 6 | +[][pypi] |
| 7 | + |
| 8 | +</div> |
| 9 | + |
| 10 | +[pypi]: https://pypi.org/project/init-python-project/ |
| 11 | + |
| 12 | +<!-- start --> |
2 | 13 |
|
3 | 14 | A customizable template for new Python projects to get you up and running with current best practices faster. |
4 | 15 |
|
5 | 16 | ## Features |
6 | 17 |
|
7 | | -- Each project has a [README][] and [CHANGELOG][] file and includes further documentation based on [Material for MkDocs][] or [Sphinx][]. |
8 | | -- [Testing][kb_testing] and [continuous integration][ci] tooling are included from the very beginning |
| 18 | +- Each project has a *README* and *CHANGELOG* file and includes further documentation based on [Material for MkDocs][] or [Sphinx][]. |
| 19 | +- *Testing* and *continuous integration* tooling are included from the very beginning |
9 | 20 | - Test coverage is collected and displayed as a badge |
10 | 21 | - Coverage report is integrated with [Gitlab's coverage report artifact][gitlab coverage report] |
11 | 22 | - Projects use [pre-commit][] for sanity checks on each commit or push |
12 | 23 | - Projects use bumpversion to increase their version according to [semantic versioning guidelines][semver] |
13 | 24 | - Python projects are installable by default and provide a simple command-line interface |
14 | 25 |
|
15 | | -[readme]: https://intern.iis.fhg.de/x/I5DPFQ |
16 | | -[changelog]: https://intern.iis.fhg.de/display/DOCS/Changelog |
17 | 26 | [material for mkdocs]: https://squidfunk.github.io/mkdocs-material |
18 | 27 | [sphinx]: https://www.sphinx-doc.org |
19 | | -[ci]: https://intern.iis.fhg.de/x/DK6qG |
20 | | -[kb_testing]: https://intern.iis.fhg.de/x/DS9SFw |
21 | 28 | [gitlab coverage report]: https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html#artifactsreportscoverage_report |
22 | 29 | [pre-commit]: https://pre-commit.com/ |
23 | 30 | [semver]: https://semver.org/ |
24 | 31 |
|
25 | 32 | Everything comes pre-configured with sensible defaults so you can focus on your implementation and let the template handle the rest. |
26 | 33 |
|
27 | | -See this [sample project][] to see how projects generated from this template using default values look like. |
| 34 | +See the [sample project][] to see how projects generated from this template using default values look like. |
28 | 35 |
|
29 | 36 | [sample project]: https://github.com/jannismain/python-project-template-example |
30 | 37 |
|
31 | 38 | ## Getting Started |
32 | 39 |
|
33 | 40 | ### Prerequisites |
34 | 41 |
|
35 | | -* [copier][] |
| 42 | +* Python3.11 or newer |
36 | 43 |
|
37 | | -*Note: If you have [pipx][] installed (you should, it is good), you can simply use `pipx run copier` out of the box.* |
| 44 | +### Installation |
| 45 | + |
| 46 | +```sh |
| 47 | +pip install init-python-project |
| 48 | +``` |
| 49 | + |
| 50 | +*Note: If you have [pipx][] installed (you should, it is good), you can skip this step and instead run it directly using `pipx run init-python-project`* |
38 | 51 |
|
39 | | -[copier]: https://github.com/copier-org/copier |
40 | 52 | [pipx]: https://pypa.github.io/pipx/ |
41 | 53 |
|
42 | 54 | ### Usage |
43 | 55 |
|
44 | 56 | ```console |
45 | | -copier copy --trust gh:jannismain/python-project-template my_new_project |
| 57 | +init-python-project <name of project> |
46 | 58 | ``` |
47 | 59 |
|
48 | | -*Note: `--trust` is required because the template uses [tasks][] to setup your git repository for you.* |
49 | | - |
50 | | -[tasks]: https://github.com/jannismain/python-project-template/blob/main/copier.yaml |
51 | | - |
52 | 60 | <!-- usage-end --> |
53 | 61 |
|
54 | 62 | ## User Guide |
55 | 63 |
|
56 | | -The first part of the [user guide][] consists of tutorials on how to answer the template questions for [Your First Project][], what [Next Steps][] there are after your project is created and why the [Project Structure][] looks like it does. |
| 64 | +The first part of the user guide consists of tutorials on how to answer the template questions for [Your First Project][], what [Next Steps][] there are after your project is created and why the [Project Structure][] looks like it does. |
57 | 65 |
|
58 | | -[user guide]: https://jannismain.github.io/python-project-template/user-guide/getting-started/ |
59 | 66 | [your first project]: https://jannismain.github.io/python-project-template/user-guide/first-project |
60 | 67 | [next steps]: https://jannismain.github.io/python-project-template/user-guide/first-project |
61 | 68 | [project structure]: https://jannismain.github.io/python-project-template/user-guide/project-structure |
|
0 commit comments