https://github.com/kyegomez/python-package-template
A easy, reliable, fluid template for python packages complete with docs, testing suites, readme's, github workflows, linting and much much more
https://github.com/kyegomez/python-package-template
ai artificial-intelligence black dotenv ml pytest python ruff swarms toml
Last synced: 2 months ago
JSON representation
A easy, reliable, fluid template for python packages complete with docs, testing suites, readme's, github workflows, linting and much much more
- Host: GitHub
- URL: https://github.com/kyegomez/python-package-template
- Owner: kyegomez
- License: mit
- Created: 2023-08-31T20:44:38.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-27T13:17:40.000Z (4 months ago)
- Last Synced: 2025-03-28T15:04:12.283Z (2 months ago)
- Topics: ai, artificial-intelligence, black, dotenv, ml, pytest, python, ruff, swarms, toml
- Language: Shell
- Homepage: https://discord.gg/GYbXvDGevY
- Size: 2.2 MB
- Stars: 167
- Watchers: 2
- Forks: 31
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Roadmap: docs/roadmap.md
Awesome Lists containing this project
README
[](https://discord.com/servers/agora-999382051935506503)
# Python Package Template
[](https://discord.gg/agora-999382051935506503) [](https://www.youtube.com/@kyegomez3242) [](https://www.linkedin.com/in/kye-g-38759a207/) [](https://x.com/kyegomezb)
A easy, reliable, fluid template for python packages complete with docs, testing suites, readme's, github workflows, linting and much much more
## Installation
You can install the package using pip
```bash
pip install -e .
```# Usage
```python
print("hello world")```
### Code Quality ๐งน
- `make style` to format the code
- `make check_code_quality` to check code quality (PEP8 basically)
- `black .`
- `ruff . --fix`### Tests ๐งช
[`pytests`](https://docs.pytest.org/en/7.1.x/) is used to run our tests.
### Publish on PyPi ๐
**Important**: Before publishing, edit `__version__` in [src/__init__](/src/__init__.py) to match the wanted new version.
```
poetry build
poetry publish
```### CI/CD ๐ค
We use [GitHub actions](https://github.com/features/actions) to automatically run tests and check code quality when a new PR is done on `main`.
On any pull request, we will check the code quality and tests.
When a new release is created, we will try to push the new code to PyPi. We use [`twine`](https://twine.readthedocs.io/en/stable/) to make our life easier.
The **correct steps** to create a new realease are the following:
- edit `__version__` in [src/__init__](/src/__init__.py) to match the wanted new version.
- create a new [`tag`](https://git-scm.com/docs/git-tag) with the release name, e.g. `git tag v0.0.1 && git push origin v0.0.1` or from the GitHub UI.
- create a new release from GitHub UIThe CI will run when you create the new release.
# Docs
We use MK docs. This repo comes with the zeta docs. All the docs configurations are already here along with the readthedocs configs.# License
MIT