Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
71 lines (46 sloc) 2.19 KB

pyskel

https://coveralls.io/repos/mapbox/pyskel/badge.png

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

https://farm4.staticflickr.com/3951/15672691531_3037819613_o_d.png

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 https://github.com/mapbox/pyskel 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]
py.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: https://www.mapbox.com/blog/pyskel/.

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.