Giter Club home page Giter Club logo

template-pypi's Introduction

PyPI Template

This template repo contains all the sample configuration needed to create a PyPI package following all of Penn Labs' suggested configuration.

Installation

Click the green "Use this template" button and make a new repo with your desired name. Create a new folder to hold your reusable package. You should write tests in the tests directory. Run the provided init script ./init.sh <name of project> <name of github repo> <name of pypi package> to configure most of the project. See the configuration section for final changes that need to be made. Follow the Usage instructions when developing and releasing new versions. You can also rename README.md.template to README.md (replacing this file) to get a basic Readme.

Features

  • CircleCI
    • Workflow to test and publish your project to PyPI using contexts to keep PyPI credentials safe
  • Tox
    • Python 3.4-3.7 and Django 2.0-2.2 testing environments
    • Testing, linting, and code coverage configuration
  • Git
    • .gitignore file to prevent common unnecessary files from being committed
  • MIT License

Usage

Developing

  • Development should happen on a feature branch and changes should be merged through a Pull Request
  • CHANGELOG.md should be constantly updated with features being developed. The date for an unreleased version should just be UNRELEASED

Releasing a new version

In the master branch:

  • Update VERSION in setup.py
  • Change the release date of the new version to the current date (YYYY-MM-DD) in CHANGELOG.md
  • Commit your changes with the message "Release x.y.z"
  • Tag your commit: git tag -a x.y.z -m "Release x.y.z"
  • Push your changes to Github: git push and git push --tags

CircleCI will then build and publish the new version to PyPI

Configuration

File Line Description
setup.py 37 Add a short description of your project here
tests/settings.py 12 Replace this line with the dotted path to your package's AppConfig
tests/urls.py 5 Replace the namespace with the namespace of your project

template-pypi's People

Contributors

armaant avatar

Stargazers

Hamed Khademi avatar

Watchers

James Cloos avatar William Goeller avatar Eric Wang avatar Sacha Best avatar Jonathan Kao avatar Jason avatar Jay Vishwarupe avatar Charley Cunningham avatar dominic avatar  avatar Brandon Wang avatar  avatar Peyton Walters avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.