Scrippy installer
This is the Scrippy framework installer.
The scrippy command creates the Scrippy directories, writes the Scrippy main configuration file and installs the Scrippy scripting framework packages with pip. It also uninstalls them.
Requirements
- Python >= 3.11
- Linux, BSD or macOS
Install the Scrippy installer
-
In a dedicated virtual environment (recommended, mandatory on externally managed Python environments, see PEP 668)
python3 -m venv ~/.local/share/scrippy/venv ~/.local/share/scrippy/venv/bin/pip install scrippy
Scrippy packages are installed in the same virtual environment as the installer: Run the
scrippycommand with~/.local/share/scrippy/venv/bin/scrippyand Scrippy scripts with~/.local/share/scrippy/venv/bin/python. -
In the user Python environment
export PATH=${HOME}/.local/bin:${PATH} pip install scrippy
Configure and install the Scrippy scripting framework with default values
-
With configuration confirmation
scrippy install -
Without configuration confirmation
scrippy install -y
Default values:
| User | root (system wide installation) |
|
|---|---|---|
| Main configuration file | ~/.config/scrippy/scrippy.yml |
/etc/scrippy/scrippy.yml |
| Scrippy directories | ~/.local/share/scrippy/{conf,data,hist,log,reports,templates,tmp} |
/etc/scrippy/{conf,data,hist,log,reports,templates,tmp} |
| Packages | scrippy-core, scrippy-remote, scrippy-api, scrippy-db, scrippy-mail, scrippy-git, scrippy-template, scrippy-snmp (latest versions) |
same |
Any preexisting main configuration file is overwritten. Packages are installed with pip install --upgrade (automatic upgrade/downgrade).
Configure and install the Scrippy scripting framework interactively
scrippy install -i
Each directory and package version is prompted for, with the default value between brackets (press Enter to keep it).
Configure and install the Scrippy scripting framework from custom configuration file
scrippy install -c /path/to/config.yml
-i and -c are mutually exclusive. Both can be combined with -y.
Configuration file example
env:
confdir: ~/.local/share/scrippy/conf
datadir: ~/.local/share/scrippy/data
histdir: ~/.local/share/scrippy/hist
logdir: ~/.local/share/scrippy/log
reportdir: ~/.local/share/scrippy/reports
templatedir: ~/.local/share/scrippy/templates
tmpdir: ~/.local/share/scrippy/tmp
packages:
scrippy-core: latest
scrippy-remote: latest
scrippy-api: latest
scrippy-db: latest
scrippy-mail: latest
scrippy-git: latest
scrippy-template: latest
scrippy-snmp: latest
- Both sections are optional.
- Directories missing from the
envsection keep their default value. - Paths may be relative or use
~, they are converted to absolute paths (this also applies to paths entered interactively). - When defined, the
packagessection replaces the default package list: only the listed packages are installed. - Package value is either
latest(or empty) or a version number (e.g.1.10). - The resulting configuration (including the package list) is saved in the main configuration file and used by
scrippy uninstall.
Uninstall the Scrippy scripting framework
scrippy uninstall
The packages listed in the main configuration file are uninstalled, then the main configuration file is deleted. Scrippy directories are kept.
When run as root, a confirmation is asked before uninstalling the system wide installation.
Uninstall the Scrippy scripting framework and delete all Scrippy directories
scrippy uninstall --prune
A confirmation is asked before deleting the Scrippy directories (confdir, datadir, histdir, logdir, reportdir, templatedir, tmpdir) and all their content.
scrippy uninstall does not uninstall the Scrippy installer itself (pip uninstall scrippy) nor delete its virtual environment.
Externally managed Python environments (PEP 668)
On recent operating systems (Debian 12+, Ubuntu 23.04+, ...), the system Python environment is externally managed and pip refuses to install or uninstall packages into it. In such an environment, scrippy install and scrippy uninstall fail with a message explaining the available solutions:
-
Recommended: Install Scrippy in a dedicated virtual environment (see Install the Scrippy installer) and run Scrippy scripts with its Python interpreter. For a system wide installation (
root):python3 -m venv /opt/scrippy/venv /opt/scrippy/venv/bin/pip install scrippy /opt/scrippy/venv/bin/scrippy install
-
Or force the installation into the system Python environment (may break Python tools provided by the operating system)
pip install --break-system-packages scrippy scrippy install --break-system-packages scrippy uninstall --break-system-packages
The
--break-system-packagesoption only has an effect when the Python environment is externally managed.
Command reference
scrippy install [-i | -c CONFIG] [-y] [--break-system-packages]
scrippy uninstall [-p] [--break-system-packages]
| Command | Option | Description |
|---|---|---|
install |
-i, --interactive |
Prompt for configuration values |
install |
-c CONFIG, --config CONFIG |
Configure Scrippy according to the specified YAML file |
install |
-y, --yes |
Answer yes to all questions |
install, uninstall |
--break-system-packages |
Allow pip to modify an externally managed Python environment (PEP 668) |
uninstall |
-p, --prune |
Remove all Scrippy directories and their content |
Metadata
Release files for scrippy 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scrippy-2.0.0.tar.gz | 8.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scrippy-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.6 kB
Release files / scrippy-2.0.0.tar.gz
| Download URL | scrippy-2.0.0.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd40e8c842f9d891502415c2ffac528d4862a69ba7611ccdf15a95543351b965
|
|
BLAKE2b-256 checksum How to use checksums |
1bea0070661c88083326bb6bf84a78942c8ac6c153f2281079f51979328e3961
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|
Release files / scrippy-2.0.0-py3-none-any.whl
| Download URL | scrippy-2.0.0-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
88eb1ffe0ef56a7a60988ac2dff82324635d49e8834660f287cc6f6a4e7fc865
|
|
BLAKE2b-256 checksum How to use checksums |
0e6f85bb45a57a2fa06f53917df1f05a05b4d6c53a7da3654faef9048639d62c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|