Giter VIP home page Giter VIP logo

package-template's Introduction

PlanetaryPy package template

https://travis-ci.org/audreyr/cookiecutter-pypackage.svg?branch=master

This is a package template provided by the PlanetaryPy project.

Using this template, packages can make use of the setup, installation, and documentation infrastructure developed for the planetarypy core and affiliated packages.

  • Free software: BSD license

Features

  • Testing setup with unittest and python setup.py test or pytest
  • Travis-CI: Ready for Travis Continuous Integration testing
  • Tox testing: Setup to easily test for Python 3.5, 3.6, 3.7, 3.8
  • Sphinx docs: Documentation ready for generation with, for example, ReadTheDocs
  • bump2version: Pre-configured version bumping with a single command
  • Auto-release to PyPI when you push a new tag to master (optional)
  • Command line interface using Click (optional)

Quickstart

This package template makes use of the cookiecutter package to make it easier to get started with the package template. You will need to install cookiecutter which can be done easily using conda or pip.

Install the latest Cookiecutter if you haven't installed it yet (this requires Cookiecutter 1.4.0 or higher) via conda:

conda install -c conda-forge cookiecutter

... or via pip:

pip install -U cookiecutter

Generate a Python package project:

cookiecutter gh:planetarypy/package-template

This will ask you a series of questions to configure your package, unless you downloaded the cookiecutter.json file in this repo, and modified it for your use, in which case you can:

cookiecutter --config-file my_project.json gh:planetarypy/package-template

Then:

  • Create a repo and put it there.
  • Add the repo to your Travis-CI account.
  • Install the dev requirements into a virtualenv. (pip install -r requirements_dev.txt)
  • Register your project with PyPI.
  • Run the Travis CLI command travis encrypt --add deploy.password to encrypt your PyPI password in Travis config and activate automated deployment on PyPI when you push a new tag to master branch.
  • Add the repo to your ReadTheDocs account + turn on the ReadTheDocs service hook.
  • Release your package by pushing a new tag to master.
  • Add a requirements.txt file that specifies the packages you will need for your project and their versions. For more info see the pip docs for requirements files.
  • Activate your project on pyup.io.

For more details, see the cookiecutter-pypackage tutorial.

package-template's People

Contributors

audreyfeldroy avatar benjaoming avatar breezko avatar cerickson avatar chadbailey avatar cxong avatar eliasdorneles avatar erwinjanssen avatar gregmuellegger avatar hugovk avatar jestaubach avatar jhonjairoroa87 avatar katialira avatar kevgathuku avatar mandeep avatar manuphatak avatar michaelaye avatar palmerev avatar psiace avatar purplediane avatar pydanny avatar pyup-bot avatar rgbkrk avatar rwanyoike avatar skarbot avatar thejonanshow avatar tony avatar treyhunner avatar vijayantajain avatar westurner avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

michaelaye

package-template's Issues

Change to src/pck_name layout

I'd like to change this to the now recommended src/pck_name layout.

The Python packaging authority has changed to that layout as well:

https://github.com/pypa/sampleproject

and it solves several outer potential pitfalls concerning tox and pytest (testing the installed vs the local package).

So, I think we should spread the recommended layout via our template.
Any objections?

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.