Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 3 days 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 (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-11T13:41:54.000Z (2 months ago)
- Last Synced: 2025-01-12T01:06:22.014Z (10 days 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: 155
- Watchers: 2
- Forks: 27
- 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
[![Multi-Modality](agorabanner.png)](https://discord.com/servers/agora-999382051935506503)
# Python Package Template
[![Join our Discord](https://img.shields.io/badge/Discord-Join%20our%20server-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/agora-999382051935506503) [![Subscribe on YouTube](https://img.shields.io/badge/YouTube-Subscribe-red?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/@kyegomez3242) [![Connect on LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-blue?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/kye-g-38759a207/) [![Follow on X.com](https://img.shields.io/badge/X.com-Follow-1DA1F2?style=for-the-badge&logo=x&logoColor=white)](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