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 https://raw.github.com/harobed/echafaudage/master/echafaudage.py)" -s https://github.com/harobed/python_package_scaffolding/archive/master.zip /tmp/my_new_project

Next echafaudage ask some questions :

mail : contact@stephane-klein.info
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/
bootstrap.py  devel-requirements.txt  my_project  requirements.txt  setup.py  tests  unittest.cfg

You can also install “echafaudage” on your system

$ pip install echafaudage

And use echafaudage like this :

$ echafaudage -s https://github.com/harobed/python_package_scaffolding/archive/master.zip /tmp/my_new_project

You can also directly set some variable in command line :

$ echafaudage -s https://github.com/harobed/python_package_scaffolding/archive/master.zip /tmp/my_new_project --vars project_name=my-project,version=1.0

echafaudage usage

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

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


Options:
    -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
    --version


Example:

    $ echafaudage -s /path/to/directory/

    or

    $ echafaudage -s my_scaffolding.tar.gz

    or

    $ echafaudage -s http://example.com/my_scaffolding.tar.gz

How to create new scaffolding

First, you can see Python package scaffolding scaffolding example.

In this repository :

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

{{package_name_underscore}}/__init__.py.tmpl 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": [
        "README.rst"
    ]
}
  • “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 : https://wiki.python.org/moin/SkeletonBuilderTools

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 details)

Uploaded Source

File details

Details for the file echafaudage-0.1.0.tar.gz.

File metadata

  • Download URL: echafaudage-0.1.0.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for echafaudage-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6dc538e2a597200d49dd301bce5964f20e4a26e6bb155e798b3f7f43f508332e
MD5 7b6c0a524e13e459ef997b305d553879
BLAKE2b-256 fa046af0182eda68e181535b3c74a464699304226d8d01460c70448db73459c2

See more details on using hashes here.

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