Skip to main content

Version License Language

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 scrippy command with ~/.local/share/scrippy/venv/bin/scrippy and 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 env section 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 packages section 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-packages option 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)

Source distribution for scrippy 2.0.0
File Size Uploaded
scrippy-2.0.0.tar.gz 8.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for scrippy 2.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

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