Skip to content
Skeleton of a Python package
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
pyskel Rename scripts/ to Nov 4, 2014
tests Rename scripts/ to Nov 4, 2014
.gitignore ignore DS_Store files Mar 27, 2015
.travis.yml Update .travis.yml Nov 15, 2014
LICENSE Add back the PyPA's copyright Jul 3, 2016
setup.cfg Unicode fields Nov 15, 2014



A skeleton of a Python package with CLI and test suite included.

Customization quick start

To use pyskel as the start of a new project, do the following, preferably in a virtual environment. Clone the repo.

git clone myproject
cd myproject

Replace all occurrences of 'pyskel' with the name of your own project. (Note: the commands below require bash, find, and sed and are yet tested only on OS X.)

if [ -d pyskel ]; then find . -not -path './.git*' -type f -exec sed -i '' -e 's/pyskel/myproject/g' {} + ; fi
mv pyskel myproject

Then install in locally editable (-e) mode and run the tests.

pip install -e .[test]

Finally, give the command line program a try.

myproject --help
myproject 4

To help prevent uncustomized forks of pyskel from being uploaded to PyPI, I've configured the setup's upload command to dry run. Make sure to remove this configuration from setup.cfg when you customize pyskel.

Please also note that the Travis-CI and Coveralls badge URLs and links in the README contain the string 'mapbox.' You'll need to change this to your own user or organization name and turn on the webhooks for your new project.

A post on the Mapbox blog has more information about this project:

See also

Here are a few other tools for initializing Python projects.

  • Paste Script's paster create is one that I've used for a long time.
  • cookiecutter-pypackage is a Cookiecutter template for a Python package. Cookiecutter supports many languages, includes Travis configuration and much more.
You can’t perform that action at this time.