Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ginolatorilla/python3-template
A Python3 project template for PIP-ready packages
https://github.com/ginolatorilla/python3-template
pip project-template pycodestyle pyproject-toml pytest python python-3 python3 setuptools virtualenv yapf
Last synced: 1 day ago
JSON representation
A Python3 project template for PIP-ready packages
- Host: GitHub
- URL: https://github.com/ginolatorilla/python3-template
- Owner: ginolatorilla
- License: mit
- Created: 2019-04-07T16:26:03.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-08-13T04:23:59.000Z (over 1 year ago)
- Last Synced: 2023-08-13T05:21:24.032Z (over 1 year ago)
- Topics: pip, project-template, pycodestyle, pyproject-toml, pytest, python, python-3, python3, setuptools, virtualenv, yapf
- Language: Python
- Homepage:
- Size: 63.5 KB
- Stars: 1
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Gino's Python project template
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/ginolatorilla/python3-pipenv-template/python.yml?label=ubuntu-latest&style=plastic&branch=main)
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/ginolatorilla/python3-pipenv-template/python.yml?label=macos-latest&style=plastic&branch=main)A Python3 project template with pipenv to hande dependencies.
Inspired by [Kenneth Reitz's project template](https://github.com/kennethreitz/samplemod).
## Features
- Support for Python 3.8 and greater
- Support for Linux and MacOS
- GitHub workflow templates
- Linting with `flake8` and `mypy`
- Formatting with `yapf`
- Test-driven development with PyTest, with mocking and code coverage support## Requirements
- Python 3.8 or better
## Quick Start
```bash
python3 ./bootstrap.py --project your_new_project_name
```The bootstrapping script will create your new project's root directory. Follow all of the TODOs
embedded in the newly-created files:- All `*.py` files.
- `pyproject.toml`Consider changing the project licence with yours, and adjust the licencing metadata in `setup.cfg`.
This project can be installed to your system or virtual environments via `pip install .` or `./setup.py install`.
To know more, see the [setuptools documentation](https://setuptools.readthedocs.io/en/latest/userguide/index.html).Finally, take ownership of this template project and replace this README!
## Maintaining this Project
```shell
./bootstrap --dev
source .venv/bin/activate
```You may then continue working in the files local to this project.
If you are going to update `pyproject.toml`, make sure to reflect those changes in `pyproject.toml.template`.