Skip to main content

Scripty

PyPI Version Documentation Status Code Quality Grade Code of Conduct

Scripty is a simple script runner to execute ELT and load tasks.

Installation

Scripty requires Python 3.6+

python3 -m venv <virtual env name>
source <virtual env name>/bin/activate
pip install scripty

Quickstart

Redshift does not have stored procedures so we will use Scripty to execute our ELT and load tasks.

Both script runner and SQLWorkbenchJ will use the same notation for variable expansion: $[?variable]. This string will be replaced at runtime by the appropriate variable:

There are three types of substitution parameters that can be used through script runner. The first is a set of standard etl params for ease of use:

  • -f, from_date, default 1776-07-24

  • -t,to_date, default 9999-12-31

  • -b, batch_no, default is -1

The second option is for arbitrary variable expansion. This is passed in the following format because rundeck commands don’t like json quotes:

  • -p, example: -p “param1-val1, param2-val2”

The final option is to use the batchy integration

  • -wf, batchy_job, this will substitue parameters from a batchy workflow, this should be a fully qualified batchy job name of the format wf.job, if no job is specified it will assume global

Here is a sample SQL Script. If run in SQL workbench you will be prompted for values for var1 and var2.

drop table if exists  zzztemp;

create table zzztemp (
dt timestamp,
var varchar,
from_date timestamp,
batch_no integer
);

insert into zzztemp
values (getdate(), '$[?var1]', '$[?from_date]', '$[?batch_no]');

insert into zzztemp
values (getdate(), '$[?var2]', '$[?from_date]', '$[?batch_no]');

select * from zzztemp;

In the script runner you would use the following params to substitute that value. It is assumed these params would be dynamically substituted by the calling script or informatica process:

python -m scripty.module -s "sample/scripty_test.sql" -p "var1-cat, var2-dog" -f '1980-12-31 07:00' -b '9999'

Assuming you had workflow config in batchy under wf3, you could also use this script:

python -m scripty.module -s sample/scripty_test.sql -wf wf3

Development

Getting Started

It is recommended to use the steps below to set up a virtual environment for development:

python3 -m venv <virtual env name>
source <virtual env name>/bin/activate
pip install -r requirements.txt

Testing

pip install -r requirements-dev.txt

To run the testing suite, simply run the command: tox or python -m unittest discover tests

Contributing

Contributions to scripty are welcome!

Please reference guidelines to help with setting up your development environment here.

Metadata

Release files for scripty 0.1.5

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

Source distribution (sdist)

Source distribution for scripty 0.1.5
File Size Uploaded Provenance
scripty-0.1.5.tar.gz 5.6 kB Without provenance Details

Release files / scripty-0.1.5.tar.gz

Download URL scripty-0.1.5.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
462b3be826c4a9f772c98c52301cf6ea4062345eb6872de81412571791617bcd
BLAKE2b-256 checksum
How to use checksums
fc728d1c16ac28d24a95b5e250deecb10d75dd1edbbb80bc852f84a4fcc5103f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.4

Security for scripty 0.1.5

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.

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