A Project Template With Python

Overview

File Structure

.
├── LICENSE
├── Makefile          # commands
├── README.md
├── requirements.txt  # package information
├── setup.cfg         # configurations for formatting & linting & unit-test
├── src               # source code location
└── test
    └── utest         # unit tests location

Commands

$ make env      # create anaconda environment
$ make setup    # initial setup for the project
$ make format   # format python scripts
$ make lint     # lint python scripts
$ make utest    # run unit tests
$ make cov      # open coverage report (after `make utest`)

Configurations

setup.cfg states all configurations for formatting & linting & unit-test.

Verifications

  • per commit: pre-commit hook runs formatting and linting.
  • per pull-request: GitHub Actions check formatting, linting, and unit-test results.

Recommended Repository Settings

Restriction on multi-commit pushes

Settings -> General -> Merge botton -> Allow squash merging ONLY

Branch Protection Rules

Settings -> Branches -> Branch protection rules -> Add rule

  • Branch name pattern: main
  • Require a pull request before merging & Require approvals
  • Require status checks to pass before merging & Require branches to be up to date before merging
  • Include administrators
You might also like...
A cookiecutter template for python scripts
A cookiecutter template for python scripts

cookiecutter-py-script A cookiecutter template for python scripts Prerequisites Git Usage pip install cookiecutter

Bleeding edge django template focused on code quality and security.

wemake-django-template Bleeding edge django2.2 template focused on code quality and security. Purpose This project is used to scaffold a django projec

Bleeding edge django template focused on code quality and security.

wemake-django-template Bleeding edge django2.2 template focused on code quality and security. Purpose This project is used to scaffold a django projec

Django Webpack starter template for using Webpack 5 with Django 3.1 & Bootstrap 4. Yes, it can hot-reload.

Django Webpack Starter Hello fellow human. The repo uses Python 3.9.* Django 3.1.* Webpack 5.4.* Bootstrap 4.5.* Pipenv If you have any questions twe

A Django starter template with a sound foundation.

SOS Django Template SOS Django Tempalate is a Django starter template that has opinionated and good solutions while starting your new Django project.

Template repository to build PyTorch projects from source on any version of PyTorch/CUDA/cuDNN.

Template repository to build PyTorch projects from source on any version of PyTorch/CUDA/cuDNN.

A template repository implementing HTML5 Boilerplate 8.0 in Sanic using the Domonic framework.

sanic-domonic-h5bp A template repository implementing HTML5 Boilerplate 8.0 in Sanic using the Domonic framework. If you need frontend interactivity,

Basic Docker Compose template application with Flask, Celery, Redis, MySQL, SocketIO, Nginx and Gunicorn.

Nginx / Gunicorn / Flask 🐍 / Celery / SocketIO / MySQL / Redis / Docker 🐳 sample application Basic Docker Compose template application for orchestat

A template repo for use in the Advent of Code

AoC-Template A template repo for use in the Advent of Code The README_template.md must contain "STATS_TABLE" to be replaced by the generated table, an

Comments
  • Update configs for further uses

    Update configs for further uses

    Fix #8

    Updates

    • deprecated flake8-spellcheck.
    • deprecated some pylint checks which are not recommended.
    • updated type check information for the frequently used packages.
    • added statement for this repo in README.md
    enhancement 
    opened by Curt-Park 0
  • Ignore `ANN101` in flake8

    Ignore `ANN101` in flake8

    ANN101 forces to annotate the type of self in class methods. It's too verbose, so we usually ignore the type annotation for self.

    See PEP-673

    this is verbose and unintuitive. Because self is usually not explicitly annotated, the above solution doesn't immediately come to mind, ...
    
    enhancement 
    opened by Curt-Park 0
  • `conda install` needs channel information

    `conda install` needs channel information

    AS-IS

    make setup doesn't specify channel information. It cannot fetch package information in some environments.

    TO-BE

    Makefile specifies channel information for package installs.

    Furthermore, we should consider the duplicate information at the channel information in the GitHub Actions workflow.

    bug 
    opened by Curt-Park 0
Owner
Annotation AI
Annotation AI
A low dependency and really simple to start project template for Python Projects.

Python Project Template A low dependency and really simple to start project template for Python Projects. HOW TO USE THIS TEMPLATE DO NOT FORK this is

Yurii Dubinka 5 Jan 21, 2022
A Project Template With Python

File Structure . ├── LICENSE ├── Makefile # commands ├── README.md ├──

Annotation AI 61 Jan 2, 2023
Project template layout for Django 3.0+

Django 3.0+ project template This is a simple Django 3.0+ project template with my preferred setup. Most Django project templates make way too many as

José Padilla 649 Dec 30, 2022
Ultimate Django3.2 Template for starting any project from not zero!

Ultimate Django3.2 Template for starting any project from not zero!

TheAliBigdeli 37 Dec 20, 2022
Template for creating PyPI project

template-for-creating-pypi-project Template for creating PyPI project Hello there! This is a template for creating a PyPI project. Fork or clone this

null 4 Apr 25, 2022
A python starter package to be used as a template for creating your own python packages.

Python Starter Package This is a basic python starter package to be used as a template for creating your own python packages. Github repo: https://git

Mystic 1 Apr 4, 2022
Cookiecutter-allpurpose-minimal-python - A simple cookiecutter template for general-purpose python projects.

cookiecutter-allpurpose-minimal-python A simple cookiecutter template for general-purpose python projects. To use, run pip install cookiecutter cookie

E. Tolga Ayan 2 Jan 24, 2022
Generic template for python service

Cookie cutter template example Technology stack Flask Gevent UWSGI Poetry Docker Docker-compose Installation pip install cookiecutter cookiecutter git

Churkin Oleg 11 Oct 22, 2022
A template for some new Python tool or package with a reasonable basic setup.

python-app-template A template with a reasonable basic setup, including: black (formatting) flake8 (linting) mypy (type checking) isort (import sortin

Anton Pirogov 3 Jul 19, 2022
Code Kata Python Template

Code Kata Python Template This is the code kata template for python created by Aula de Software Libre de la Universidad de Córdoba Step 1. Use this re

Sergio Gómez 2 Nov 30, 2021