https://github.com/omar-abdelgawad/python-project-template
Template repository for python projects
https://github.com/omar-abdelgawad/python-project-template
gh-actions mypy precommit pyproject-toml pytest python3 ruff template tox
Last synced: 6 months ago
JSON representation
Template repository for python projects
- Host: GitHub
- URL: https://github.com/omar-abdelgawad/python-project-template
- Owner: omar-abdelgawad
- License: mit
- Created: 2024-01-07T02:35:08.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-02T13:06:50.000Z (over 1 year ago)
- Last Synced: 2025-03-24T15:47:29.204Z (7 months ago)
- Topics: gh-actions, mypy, precommit, pyproject-toml, pytest, python3, ruff, template, tox
- Language: Python
- Homepage:
- Size: 17.6 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://opensource.org/license/mit/)
[](https://github.com/omar-abdelgawad/python-project-template/actions)
[](https://img.shields.io/badge/python-3.8%20%7C%203.9%20%7C%203.10-blue)# Project Name
This is a modern template for a python project with the pyproject.toml with some fields to change based on project. It also has tox configured, docs dir for github pages, .github dir with tox-gh-actions configured and more.
- pyproject.toml
- setuptools backend (setup.py and setup.cfg)
- the src layout
- tox configured
- docs dir for github pages with a tests.yml ready
- .github dir with a tests.yml configured with tox-gh-actions
- tox configured with pytest, ruff, and mypy
- tests dir for pytestPlease Note that tox is configured with python 3.8,3.9, and 3.10. Feel free to reconfigure everything to your need.
## Installation/Usage
```bash
$ git clone
$ cd
$ virtualenv venv
$ source venv/bin/activate
$ pip install -e ".[dev]"
```## Testing with tox
Just running `tox` with no args should work.
```bash
$ tox
```
tox creates virtual environments and runs all of pytest, ruff, and mypy.
## Package(s)### package1
....
### package2
....