1- # Python Project Template
2- A Python Project template that comes out of the box with configuration for:
1+ # Python Project Template
2+ A Python project template that comes out of the box with configuration for:
33- Packaging and dependency management using [ Poetry] ( https://python-poetry.org )
44- Testing using [ pytest] ( https://pytest.org )
55- Code coverage using [ coverage] ( https://coverage.readthedocs.io )
@@ -9,32 +9,54 @@ A Python Project template that comes out of the box with configuration for:
99- Pre-commit validations using [ pre-commit] ( https://pre-commit.com )
1010- Workflow automation using [ GitHub Actions] ( https://github.com/features/actions )
1111
12- ## Prerquisites
13- - Python 3.12+ (You can update the [ ` pyproject.toml ` ] ( pyproject.toml#L17 ) for lower versions)
12+ ## How to use
13+ Click this button to create a new repository for your project, then clone the new repository. Enjoy!
14+
15+ [ ![ Use this template] ( https://img.shields.io/badge/Use%20this%20template-238636?style=for-the-badge )] ( https://github.com/amrabed/python/generate )
16+
17+
18+ ## Prerequisites
19+ - Python 3.12+ (You can update the [ ` pyproject.toml ` ] ( pyproject.toml#L35 ) for lower versions)
1420- Pipx (* optional* - used to install Poetry if not already installed)
1521
16- ## Usage
17- - Click the ** Use the template** button to use this template to create your Python project
18- - Clone your newly created project to your local
22+ ## Make commands
1923
2024### Install Poetry
21- Run ` make poetry ` to install poetry if not installed (requires pipx)
25+ To install poetry if not installed (requires pipx), run:
26+ ``` bash
27+ make poetry
28+ ```
2229
2330### Install dependencies
24- Run ` make install ` to install the project dependencies defined in the [ pyproject.toml] ( pyproject.toml ) file
31+ To install the project dependencies defined in the [ pyproject.toml] ( pyproject.toml ) file, run:
32+ ``` bash
33+ make install
34+ ```
2535
26- ### Install pre-commit hook
27- Run ` make precommit ` to install the pre-commit hook for the project to format and lint your code automatically before commiting to GitHub
36+ ### Install pre-commit hooks
37+ To install the pre-commit hooks for the project to format and lint your code automatically before commiting, run:
38+ ``` bash
39+ make precommit
40+ ```
2841
2942### Format and Lint code
30- Run ` make lint ` to format and lint project code
43+ To format and lint project code, run:
44+ ``` bash
45+ make lint
46+ ```
3147
3248### Run tests with coverage
33- Run ` make test ` to run the tests defined under the [ tests] ( tests ) folder and show coverage report
49+ To run the unit tests defined under the [ tests] ( tests ) folder and show coverage report, run:
50+ ``` bash
51+ make test
52+ ```
3453
3554### Run main script
36- A script with the name ` app ` is defined in the [ pyproject.toml] ( pyproject.toml#L14 ) file to run the main function as a shell script.
37- Run ` make run ` to run the main script
55+ To run the main ` app ` script (defined in the [ pyproject.toml] ( pyproject.toml#L32 ) file to run the main function as a shell script), run:
56+ ``` bash
57+ make run
58+ ```
59+
3860
3961## Project Structure
4062
@@ -43,7 +65,7 @@ Run `make run` to run the main script
4365│ ├── FUNDING.md # GitHub funding
4466│ └── workflows # Github Actions Workflows
4567│ └── check.yml # Workflow to validate code on push
46- ├── .gitignore # Git-ignored file list (duh)
68+ ├── .gitignore # Git-ignored file list
4769├── .pre-commit-config.yaml # Pre-commit configuration file
4870├── LICENSE # Project license
4971├── Makefile # Make commands
0 commit comments