Skip to main content

A lighting scaffolding python tool without dependencies

Project description

A scaffolding python tool without dependencies

Features :

  • erect and create scaffolding easily

  • no dependency

  • standalone file executable directly with python -c "$(curl ...)"

Use case :

  • very short quick start project (you need install nothing except python)

Example of use

You can directly erect scaffolding without installing nothing on your system.

Example, if you want erect Python package scaffolding scaffolding then Paste that at a Terminal prompt :

$ python -c "$(curl -fsSL" -s /tmp/my_new_project

Next echafaudage ask some questions :

mail :
version : 0.1.0
package_name : my-project
author : Stéphane Klein

Now your project is in /tmp/my_new_project/

$ ls /tmp/my_new_project/  devel-requirements.txt  my_project  requirements.txt  tests  unittest.cfg

You can also install “echafaudage” on your system

$ pip install echafaudage

And use echafaudage like this :

$ echafaudage -s /tmp/my_new_project

You can also directly set some variable in command line :

$ echafaudage -s /tmp/my_new_project --vars project_name=my-project,version=1.0

echafaudage usage

$ bin/echafaudage --help
Usage: echafaudage [options] -s <scaffolding> [<TARGET>]

    TARGET where scaffolding will be created, by default it is "." (current directory)

    -s, --scaffolding=<scaffolding> The scaffolding to use, can be a directory path,
                                    an archive or archive url.
    --vars=<variables>              Custom variables, e.g --vars hello=world,sky=blue
    -h --help                       Show this screen.
    -v, --verbose


    $ echafaudage -s /path/to/directory/


    $ echafaudage -s my_scaffolding.tar.gz


    $ echafaudage -s

How to create new scaffolding

First, you can see Python package scaffolding scaffolding example.

In this repository :

├── README.rst
├── devel-requirements.txt
├── requirements.txt
├── scaffolding.json               <= scaffolding configuration file
├──                  <= template file
├── tests
│   └──
├── unittest.cfg
└── {{package_name_underscore}}    <= this folder is renamed with "package_name_underscore" variable value
    └──           <= template file

{{package_name_underscore}}/ content :

__version__ = '{{version}}'
The file with .tmpl extension are templates files.
Template file are parsed by tempita template engine with variables pass to echafaudage.
The .tmpl extension is stripped in target folder.

The scaffolding.json (json format) configure the variable list :

    "variables": {
        "package_name": null,
        "author": null,
        "mail": null,
        "package_name_underscore": {
            "lambda": "vars['package_name'].replace('-', '_')"
        "version": {
            "default": "0.1.0"
    "ignores": [
  • “variables” is dict with the list of variables

  • “ignores” is a list with the list of file to ignore

See also

If you want more powered scaffolding tool, you can look at mr.bob.

More information about Python Skeleton Builder Tools see this wiki page :

Project details

Download files

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

Source Distribution

echafaudage-0.1.0.tar.gz (21.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page