Skip to main content

A simple template tool to create the skeleton for a python project

Project description

skelpy is a simple template tool to create the directory structure for python projects. In addition to creating basic directories for a project, skelpy generates several configuration files for widely-used tools. Those include:

  • and setup.cfg for setuptools
  •, index.rst for sphinx documentation

For the complete directory structure and files for skelpy to create, see quick_start


OS Independent

skelpy supports Linux, Windows, OSX and Cygwin.

No Dependency

skelpy was written in pure python and requires no extra library or module unless you want to run the test codes of skelpy yourself. In that case, you will need pytest and mock (only if you use python 2.7 and 3.3 downward)


mock is now part of the Python standard library, available as unittest.mock in Python 3.3 onwards.

Support python 2.7 and 3.x

skelpy works well on python 2.7 and 3.x.


From PyPi

On the command line, just type either of belows:

pip install skelpy
pip install --user skelpy

The first one is for system-wide installation and you may need the administrator /root privilege. The second command will install skelpy in the user’s python install directory, which is ~/.local/ on linux and Mac, %APPDATA%Python on Windows.

From Git

Another option is to download skelpy’s source codes using git and to build an executable zip file. skelpy’s can build the zip-formatted executable. To do that, run the command below in order:

$ git clone
$ cd skelpy
$ python ezip

Now you will be able to find an excutable zip file named in the dist directory . Once got the zip file–changing the name of the zip file is OK–, you can directly run the zip file as if it were a python module like below:

python [options_for_skelpy] [project_name_to_create]

Or, if you use Linux or any POSIX-compatible OS, you can make the zip file an executable:

$ echo '#!/usr/bin/env python' > skelpy
$ cat >> skelpy
$ chmod u+x skelpy

Codes above are from “The Hitchhiker’s Guide to Python” by Kenneth Reitz and Tanya Schlusser.

Quick Start

To start a new project, say ‘my_project’, just type on the command line

skelpy my_project

This will create a new folder my_project under the current directory and fill the directory with sub-directories and configuration files like below:

'basic' format(default)                   'src' format

my_project/                               my_project/
├── docs/                                 ├── docs/
│   ├── _build/                           │   ├── _build/
│   ├── _static/                          │   ├── _static/
│   ├── _templates/                       │   ├── _templates/
│   ├──                           │   ├──
│   ├── index.rst                         │   ├── index.rst
│   ├── make.bat                          │   ├── make.bat
│   └── Makefile                          │   └── Makefile
├── my_project/                           ├── src/
│   ├──                       │   └── my_project/
│   └──                           │       ├──
├── tests/                                │       └──
│    └──                     ├── tests/
├── LICENSE                               │    └──
├── README.rst                            ├── LICENSE
├── setup.cfg                             ├── README.rst
└──                              ├── setup.cfg

You can choose which tructure to use with the --format/-f option. Also, if you do not provide the project name, skelpy will consider the current directory name(the last component of the current working directory) to be the project name.

For more options, See skelpy -h


skelpy is under the MIT license.


dks <>

Change Log

## [1.0.rc0] - 2019-04-13

## [1.0.0] - 2019-05-31


Reference is available at

Project details

Release history Release notifications

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for skelpy, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size skelpy-1.0.0-py2.py3-none-any.whl (82.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size skelpy-1.0.0.tar.gz (62.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page