Skip to main content
# dl-skel

dl-skel.py 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 `dlbuild.py` that can be used
to `runserver`, or `build` the project.

![dl-skel](docs/dlskel.png)

---

## Installation

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

```
$ git clone git@github.com:doubleleft/dl-skel.git
$ cd dl-skel
$ python setup.py install
```

This will create a `dl-skel.py` bin in your path (virtualenv or systemwide)

## CLI Usage

Usage via CLI app called `dl-skel.py`

```
Usage: dl-skel.py [options]

Options:
-h, --help show this help message and exit
--skeleton-config=SKELCONFIG
dlskel Config file. Default is ~/.dl-skel/config.json
--skeleton-path=SKELPATH
Use another Skeleton Search Path. Default is ~/.dl-skel/

-l, --list List skeletons

Import new Template:
-i <GIT_REPO> <TEMPLATE_NAME>, --import=<GIT_REPO> <TEMPLATE_NAME>
import a new template from the given GIT
repository.

Create a new project:
-c <TEMPLATE_NAME> <OUTPUT>, --create=<TEMPLATE_NAME> <OUTPUT>
Create a new <project> skeleton
```

## Default Skeletons

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

```
$ dl-skel.py -l
wordpress5 https://github.com/doubleleft/skeleton-wordpress Wordpress 5.0
```

Template | URL
--- | ---
wordpress5 | [skeleton-wordpress](https://github.com/doubleleft/skeleton-wordpress)
HTMLRichApp | [skeleton-htmlrichapp](https://github.com/doubleleft/skeleton-htmlrichapp)
HTMLSimleApp | [skeleton-wordpress](https://github.com/doubleleft/skeleton-wordpress)

## Create a new project

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

```
$ dl-skel.py -c python ../my-shiny-project
Cloning python(https://github.com/ionelmc/projectskel) into ../my-shiny-project
```

## Importing your own skeletons

To import your own skeletons, use `-i`

```
$ dl-skel.py -i <REPO_URL> <SKELETON_NAME>
```

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

```
$ dl-skel.py -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 `dlbuild.py` 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](https://github.com/doubleleft/skeleton-wordpress/blob/master/dlbuild.py)

# 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( 'git@github.com:doubleleft/skeleton-wordpress.git',
'my-wp-project',
skel_vars={
'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 setup.py 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

Metadata

Release files for dl-skel 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dl-skel 0.1.2
File Size Uploaded Provenance Actions
dl-skel-0.1.2.tar.gz 111.6 kB Without provenance Details for dl-skel-0.1.2.tar.gz

Release files / dl-skel-0.1.2.tar.gz

Download URL dl-skel-0.1.2.tar.gz
Size 111.6 kB
Tags Source
SHA-256 checksum
How to use checksums
eec7c10afe6db0343321e5d1890c26931004ffe789b0c16fb6f00bb137ae8013
BLAKE2b-256 checksum
How to use checksums
c10642a9423bbaf3e356a8eae4ed659e948ba83c45f144e88069815078f44906
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for dl-skel 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page