Skip to main content

Echafaudage

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

Metadata

Release files for echafaudage 0.1.0

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

Source distribution (sdist)

Source distribution for echafaudage 0.1.0
File Size Uploaded Provenance
echafaudage-0.1.0.tar.gz 21.8 kB Without provenance Details

Release files / echafaudage-0.1.0.tar.gz

Download URL echafaudage-0.1.0.tar.gz
Size 21.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6dc538e2a597200d49dd301bce5964f20e4a26e6bb155e798b3f7f43f508332e
BLAKE2b-256 checksum
How to use checksums
fa046af0182eda68e181535b3c74a464699304226d8d01460c70448db73459c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for echafaudage 0.1.0

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file No provenance

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