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

Features

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

Clickable is based on the following building-blocks:

  • a bootstrap.py standalone script that installs a conda based python environment, that allows to initialize an isolated python environment. (https://github.com/lalmeras/clickable_bootstrap)

  • a bootstrap.py'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 clickables.py/clickables.yml file loading mechanism

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

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

Release

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 setup.py clean --all
rm -rf dist/*
python setup.py sdist
python setup.py 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
  • clickable.click use 'main' as default function when searching an entry-point in clickables.py
  • tasks.py 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.

Files for clickable, version 1.5
Filename, size File type Python version Upload date Hashes
Filename, size clickable-1.5.tar.gz (21.8 kB) File type Source Python version None Upload date Hashes View
Filename, size clickable-1.5-py3-none-any.whl (12.7 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page