• Stars
    star
    649
  • Rank 68,906 (Top 2 %)
  • Language
    Python
  • License
    The Unlicense
  • Created almost 11 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

My template for new Python libraries.

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:

Examples

Here are a few sample projects based on this template:

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

More Repositories

1

memegen

The free and open source API to generate memes.
Python
1,313
star
2

datafiles

A file-based ORM for Python dataclasses.
Python
197
star
3

gitman

Language-agnostic dependency manager using Git.
Python
194
star
4

yorm

Automatic object-YAML mapping for Python.
Python
27
star
5

verchew

System dependency version checker.
Python
25
star
6

template-python-demo

Live demo of my Python template.
Python
23
star
7

minilog

Minimalistic wrapper for Python logging.
Python
19
star
8

mine

Share application state across computers using Dropbox.
Python
17
star
9

template-django

My template for new Django projects.
Python
10
star
10

sappy

Single-page application server for end-to-end testing.
Python
10
star
11

template-flask

My template for new Flask projects.
Python
9
star
12

env-diff

Compares expected environment variables to those set in production.
Python
6
star
13

virtualboombox

Discover music playing nearby.
Python
6
star
14

dropthebeat

Music sharing using Dropbox.
Python
6
star
15

pomace

Dynamic page objects for browser automation.
Python
5
star
16

pytest-expecter

Better testing with expecter and pytest.
Python
5
star
17

battleship

Simulatation of a Battleship AI using random sampling.
Python
4
star
18

pomace-amazon

Reload your Amazon balance automatically.
Python
4
star
19

slackoff

Automatically sign out of Slack workspaces on macOS.
Python
3
star
20

coverage-space

A place to track your code coverage metrics.
Python
2
star
21

dotfiles

My shared dotfiles repository.
Shell
2
star
22

grwifi

Map of WiFi access points in Grand Rapids, Michigan.
HTML
2
star
23

gridcommand

Grid-based clone of Same Time Risk.
Python
2
star
24

memegen-flask

Flask app formerly powering https://memegen.link
Python
2
star
25

template-ruby

A template for new Ruby projects.
Python
1
star
26

crowdsorter

Crowdsource your decision making.
Python
1
star
27

enharmony

[TBD] Song matching based on textual comparison of attributes.
Python
1
star
28

mctweetyface

A Twitter bot to help name things.
Makefile
1
star
29

template-django-demo

A live demo of my Django template.
Python
1
star
30

jacebrowning.info

My personal website and blog.
CSS
1
star