Skip to main content

Helper scripts to write click applications development's environment

Project description

clickable helper scripts

Helper scripts to write click applications development's environment

  • Free software: BSD license


Clickable allows to easily write python and shell-based tools for your projects.

Clickable is based on the following building-blocks:

  • a standalone script that installs a conda based python environment, that allows to initialize an isolated python environment. (

  • a's post-install callback that uses poetry to install:

    • your project-related command(s)
    • by python dependencies mechanism, clickable and any optional dependencies
  • clickable python library, that provides a file loading mechanism

  • clickable extensions that provide helpers for writing sphinx, ansible, ... commands

Clickable is heavily based on Python, Conda, Poetry and Click projects.


Stable branch is master; development branch is dev. Usual release steps are :

# install dev tools and switch in pipenv
pipenv install --dev
pipenv shell

# if needed, update Pipfile.lock and commit changes
pipenv lock --clear
pipenv install --dev

# prepare dev branch for release...
# update version
# increase version; may be launch multiple time to cycle dev, rc, ...
bump2version --verbose prerel [--allow-dirty] [--no-commit] [--no-tag]

# merge on main
git checkout main
git pull
git merge dev

# prepare next development version (+1dev0)
git checkout dev
bump2version --verbose --no-tag minor

# push all (launch with --dry-run to check before actual update)
# delete (git tag -d <tag> unneeded tags - dev, rc)
git push --all
git push --tag

# publish (pypi credentials required)
git checkout tag
pipenv shell
python clean --all
rm -rf dist/*
python sdist
python bdist_wheel
# fake upload
# run pypi-server in another shell
mkdir -p /tmp/packages && pypi-server -P . -a . /tmp/packages/
twine upload  -u "" -p "" --repository-url http://localhost:8080/ dist/*.whl dist/*.tar.gz

# real upload
twine upload dist/*.whl dist/*.tar.gz

1.5 (2021-12-25)

Fix packaging.

v1.4 (2021-12-24)

Publishing procedure update.

v1.3 (2021-09-24)

Fix subprocess import in syncing module.

v1.2 (2021-09-24)

Fix subprocess import in sphinx module.

v1.1 (2021-08-31)

Fix virtualenv syntax issues:

AttributeError: 'str' object has no attribute 'decode'
Uncaught error during execution: name 'e' is not defined

1.0 (2021-08-31)

  • cleaned build system
  • tests reworked
  • updated dependencies
  • updated versioning scheme (major/minor)
  • python requirement: mandatory 3.6+ (previously 2.7+)
  • ruamel.yaml replaced by PyYAML

0.3.0 (2018-12)

  • remove clickable.bootstrap module
  • use 'main' as default function when searching an entry-point in
  • renamed to clickables.yml
  • added an helper to load base configuration from clickables.yml (clickables.utils.load_config)
  • python3 support

0.2.0 (2018-12-26)

(delayed release, used from @dev branch for 6 months)

  • added clickable.bootstrap
  • added helpers for sphinx commands
  • added workaround for selinux and virtualenv

0.1.1 (2018-02-10)

  • fix rsync options arg behavior

0.1.0 (2018-02-10)

  • added rsync handler

0.0.3 (2017-10-17)

  • correctly handle clear_env in sphinx:sphinx_script
  • update cryptography, tox, sphinx, wheel

0.0.1 (2017-09-10)

  • First release on PyPI.

0.0.2.dev4 (2017-09-10)

  • Fixed ignored excludes in lftp_sync

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

clickable-1.5.tar.gz (21.8 kB view hashes)

Uploaded source

Built Distribution

clickable-1.5-py3-none-any.whl (12.7 kB view hashes)

Uploaded py3

Supported by

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