Awesome dstool created by xzyaoi
Project description
Python Project Template
A low dependency and really simple to start project template for Python Projects.
See also
- Flask-Project-Template for a full feature Flask project including database, API, admin interface, etc.
- FastAPI-Project-Template The base to start an openapi project featuring: SQLModel, Typer, FastAPI, JWT Token Auth, Interactive Shell, Management Commands.
HOW TO USE THIS TEMPLATE
DO NOT FORK this is meant to be used from Use this template feature.
- Click on Use this template
- Give a name to your project
(e.g.my_awesome_project
recommendation is to use all lowercase and underscores separation for repo names.) - Wait until the first run of CI finishes
(Github Actions will process the template and commit to your new repo) - If you want codecov Reports and Automatic Release to PyPI
On the new repositorysettings->secrets
add yourPYPI_API_TOKEN
andCODECOV_TOKEN
(get the tokens on respective websites) - Read the file CONTRIBUTING.md
- Then clone your new project and happy coding!
NOTE: WAIT until first CI run on github actions before cloning your new project.
What is included on this template?
- 🖼️ Templates for starting multiple application types:
- Basic low dependency Python program (default) use this template
- Flask with database, admin interface, restapi and authentication use this template.
or Run
make init
after cloning to generate a new project based on a template.
- 📦 A basic setup.py file to provide installation, packaging and distribution for your project.
Template uses setuptools because it's the de-facto standard for Python packages, you can runmake switch-to-poetry
later if you want. - 🤖 A Makefile with the most useful commands to install, test, lint, format and release your project.
- 📃 Documentation structure using mkdocs
- 💬 Auto generation of change log using gitchangelog to keep a HISTORY.md file automatically based on your commit history on every release.
- 🐋 A simple Containerfile to build a container image for your project.
Containerfile
is a more open standard for building container images than Dockerfile, you can use buildah or docker with this file. - 🧪 Testing structure using pytest
- ✅ Code linting using flake8
- 📊 Code coverage reports using codecov
- 🛳️ Automatic release to PyPI using twine and github actions.
- 🎯 Entry points to execute your program using
python -m <dstool>
or$ dstool
with basic CLI argument parsing. - 🔄 Continuous integration using Github Actions with jobs to lint, test and release your project on Linux, Mac and Windows environments.
Curious about architectural decisions on this template? read ABOUT_THIS_TEMPLATE.md
If you want to contribute to this template please open an issue or fork and send a PULL REQUEST.
dstool
Awesome dstool created by xzyaoi
Install it from PyPI
pip install dstool
Usage
from dstool import BaseClass
from dstool import base_function
BaseClass().base_method()
base_function()
$ python -m dstool
#or
$ dstool
Development
Read the CONTRIBUTING.md file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dstool-0.1.0b0.tar.gz
(9.7 kB
view details)
Built Distribution
File details
Details for the file dstool-0.1.0b0.tar.gz
.
File metadata
- Download URL: dstool-0.1.0b0.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba82b38b57b2e6fb328b9fe04d4435fa81f1b520f4d6abfffb4f273f4e4d786b |
|
MD5 | ca348b4019fe49bf071f143cd83deee2 |
|
BLAKE2b-256 | 1c4cd7bb5cc4b6ef10280030efc728cd4feed948eee7058fc81b3bedd7941345 |
File details
Details for the file dstool-0.1.0b0-py3-none-any.whl
.
File metadata
- Download URL: dstool-0.1.0b0-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbfe49c45a85a15d51beaa419ad41e6cd2e99fb5b717ba7c08eba32cf9a91e14 |
|
MD5 | db97634ee4a1b0c03b1dfd8c732238c2 |
|
BLAKE2b-256 | 31306edfb5dac80a80a389758d68b5fcc1df69ea112bf9f4f35d1839546fbdd5 |