GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - jacebrowning/template-python: My template for new Python libraries.

BranchesTags
Open more actions menu

Latest commit

 

History

1,030 Commits
1,030 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.vscode
.vscode
 
 
{{cookiecutter.project_name}}
{{cookiecutter.project_name}}
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.tool-versions
.tool-versions
 
 
.verchew.ini
.verchew.ini
 
 
LICENSE.txt
LICENSE.txt
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
cookiecutter.json
cookiecutter.json
 
 
poetry.lock
poetry.lock
 
 
pyproject.toml
pyproject.toml
 
 
scent.py
scent.py
 
 

Repository files navigation

Jace's Python Template

This is a cookiecutter template for a typical Python library following modern packaging conventions. It utilizes popular libraries alongside Make and Graphviz to fully automate all development and deployment tasks. Check out the live demo: jacebrowning/template-python-demo

Build Status

Features

  • Preconfigured setup for CI, coverage, and analysis services
  • pyproject.toml for managing dependencies and package metadata
  • Makefile for automating common development tasks:
    • Installing dependencies with poetry
    • Automatic formatting with isort and black
    • Static analysis with pylint
    • Type checking with mypy
    • Docstring styling with pydocstyle
    • Running tests with pytest
    • Building documentation with mkdocs
    • Publishing to PyPI using poetry
  • Tooling to launch an IPython session with automatic reloading enabled

If you are instead looking for a Python application template, check out one of the sibling projects:

  • jacebrowning/template-django
  • jacebrowning/template-flask

Examples

Here are a few sample projects based on this template:

  • jacebrowning/minilog
  • theovoss/Chess
  • sprout42/StarStruct
  • MichiganLabs/flask-gcm
  • flask-restful/flask-restful

Usage

Install cookiecutter and generate a project:

$ pip install cookiecutter
$ cookiecutter gh:jacebrowning/template-python -f

Cookiecutter will ask you for some basic info (your name, project name, python package name, etc.) and generate a base Python project for you. Once created, run the code formatter to updates files based on your chosen names:

$ cd <github_repo>
$ make format

Finally, commit all files generated by this template.

Updates

Run the update tool, which is generated inside each project:

$ bin/update

About

My template for new Python libraries.

Topics

cookiecutterhacktoberfestmakefilepoetryproject-creationpythontemplate

Resources

Readme
Unlicense
Activity

Stars

668 stars

Watchers

18 watching

Forks

100 forks
Report repository

Sponsor this project

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.