Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

DoubleLeft skeleton generator

Project Description

# dl-skel provides skeleton generator for you to avoid creating a
project from zero everytime.

Its useful to bootstrap general projects, like HTMLBootstrap, PythonPackage,
and others. It will download a GIT repository available on the net, and
process some files to change names and so on.

In the end, you will have a new folder, with `` that can be used
to `runserver`, or `build` the project.



## Installation

Install it via pip (`pip install dl-skel`), or manually:

$ git clone
$ cd dl-skel
$ python install

This will create a `` bin in your path (virtualenv or systemwide)

## CLI Usage

Usage via CLI app called ``

Usage: [options]

-h, --help show this help message and exit
dlskel Config file. Default is ~/.dl-skel/config.json
Use another Skeleton Search Path. Default is ~/.dl-skel/

-l, --list List skeletons

Import new Template:
import a new template from the given GIT

Create a new project:
Create a new <project> skeleton

## Default Skeletons

You can check all available skeletons using `-l`:

$ -l
wordpress5 Wordpress 5.0

Template | URL
--- | ---
wordpress5 | [skeleton-wordpress](
HTMLRichApp | [skeleton-htmlrichapp](
HTMLSimleApp | [skeleton-wordpress](

## Create a new project

To create a new project using a base skeleton, try option `-c`

$ -c python ../my-shiny-project
Cloning python( into ../my-shiny-project

## Importing your own skeletons

To import your own skeletons, use `-i`


This will import `<REPO_URL>` and save it as `<SKELETON_NAME>`.
You can now create new projects using `<SKELETON_NAME>`

$ -c <SKEL_NAME> name-of-my-project

# Creating my own skeletons

Skeletons are simple **GIT** repositories, with a special recipe stored in the
file `dlbuild`. This recipe tells what to substitute, download, install,
pretty much by hand.

You MUST create the following functions in the `` file:

setup (Download and replace files)
build (Build project)

while others functions, like `runserver` are optional.

To see a simple example of a skeleton, check [skeleton-wordpress](

# Using it inside python

You can use it direcly as an API in python

$ python

>>> from dlskel.skel import skeleton_create, make_password
>>> skeleton_create( '',
'DB_NAME': 'myproj',
'DB_USER': 'myuser',
'DB_PASSWORD': make_password(length=8) })

### TODO

- ✓ Add better file substituion via jinja2 template
- ✓ Add simple API for using it inside python
- ✓ Finish and make it pip installable

- ✓ Delete repository .git when creating a new project.
- Add dependencies check and installation (if necessary)

- ** Create Skeletons **
* ✓ Wordpress Skeleton
* Laravel Skeleton
* ✓ Python Package Skeleton
* Python Flask Skeleton
* HTML Bootstrap Skeleton
* HTML Static Skeleton

Release History

This version
History Node


History Node


History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(111.6 kB) Copy SHA256 Hash SHA256
Source None Feb 5, 2014

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Kabu Creative Kabu Creative UX & Design Google Google Cloud Servers Fastly Fastly CDN StatusPage StatusPage Statuspage DigiCert DigiCert EV Certificate