Running Veza Scripts with Python
Veza Python Script Setup and Execution Guide for Linux, Windows, and Mac
This document provides instructions for setting up and running Veza Python scripts on Linux, Windows, and Mac operating systems. Users seeking to automate Veza Python scripts on different platforms can refer to the sections below to learn about:
Verifying Python Installations
Installing Required Packages
Setting Environment Variables
Executing Scripts
Scheduling Periodic Script Runs
Setting Temporary and Persistent Environment Variables
These instructions are especially intended to help run and schedule Open Authorization API connectors provided as Python packages.
Linux
Setup
Verify Python3 Installation
Many current Linux distributions typically have python3
installed by default.
To verify that python3
is installed on your system, run the following command:
If the outputs are filesystem paths (ex: /usr/bin/python3
), the applications are installed.
Installing Required Packages
Veza Python scripts may rely on external dependencies; if this is the case, the script package will include a requirements.txt
file.
To ensure that the dependencies are installed, run the following command from the directory in which the requirements.txt
file is located:
Setting Environment Variables
Veza Python scripts often require some variable input at run time (ex: API key, service URL).
Non-secret data can be passed to the script as arguments or set as environment variables, but sensitive data must be set as an environment variable.
See the README.md
packaged with a script for a description of required input data.
Temporary Environment Variables
Environment variables can be set temporarily from the Linux shell; these settings will last until the shell process in which they are set is terminated.
To temporarily set an environment variable from the Linux shell, run the following command:
An example setting VEZA_URL
to the FQDN of a Veza instance:
To verify currently set environment variables and their values, run the env
command from the terminal.
To remove a currently set environment variable, run the following command:
Unsetting the previously established VEZA_URL
example:
Persistent Environment Variables
Environment variables can be set persistently in several ways, each with their own scope.
In each case, edit the relevant file and add the following line to set the new variable:
To set a persistent environment variable for only the currently logged-on user, edit
~/.bashrc
and add the export to the end of the file.To set a variable for all login shell sessions, edit
/etc/profile
and add the export to the end of the file.To set a system-wide variable, edit
/etc/environment
and add the export to the end of the file.
Current shell sessions will not reflect the file update immediately - to make use of the newly set variable, source
the file first:
Execution
To run the Veza Python script, chmod
the file to make it executable, then execute it:
To pass additional parameters not set as environment variables when executing the script:
An example of setting a parameter with a value along with a flag parameter:
Scheduling
Periodic executions of scripts can be configured to run via cron
or via systemd
, depending on your environment.
Cron
Scheduling via cron
requires a line to be added to the crontab
.
Note: cron
executes commands without a login shell; environment variables set in ~/.bashrc
or /etc/profile
will not be loaded.
To edit the crontab
, run crontab -e
, then add the following:
Some distributions do not honor environment variables set in the crontab
file; in those cases, they can be set inline:
Systemd
Scheduling via systemd
requires a timer unit file and a corresponding service unit file.
Begin by creating the timer unit file (vim /etc/system/systemd/<veza_script>.timer
):
Then create the service file (vim /etc/system/systemd/<veza_script>.service
):
Run the following commands to reload service definitions and enable the new service:
Windows
Setup
Verify Python Installation
Install python by browsing to https://www.python.org/downloads/windows/ and selecting the latest stable 64-bit installer.
Alternatively, on Windows workstations, Python may be installed via the Microsoft Store. See https://learn.microsoft.com/en-us/windows/python/beginners for details.
Note: During installation, ensure the Add python.exe to PATH
checkbox is selected.
To ensure that python and pip are properly installed and added to the PATH
, open a Command Prompt
and run:
Both commands will return paths on the filesystem if the executables are located.
Installing Required Packages
Veza Python scripts may rely on external dependencies; if this is the case, the script package will include a requirements.txt
file.
To ensure that the dependencies are installed, run the following command from the directory in which the requirements.txt
file is located:
Setting Environment Variables
Temporary Environment Variables
Command Prompt
To set an environment variable for an existing Command Prompt session, run the following:
An example setting VEZA_URL
to the FQDN of a Veza instance:
To remove the previously set VEZA_URL
example:
PowerShell
To set an environment variable for an existing PowerShell session, run the following:
An example setting VEZA_URL
to the FQDN of a Veza instance:
To remove the previously set VEZA_URL
example:
Persistent Environment Variables
To set environment variables on a Windows system, follow these steps:
On the taskbar, right-click the Windows icon and click System
In the Settings window, locate and click Advanced system settings
In the System Properties window that appears, click the Environment Variables button near the bottom.
In the Environment Variables window that appears, choose the scope for the new variable. User-specific variables are listed at the top of the window with system-wide variables below.
Click the New button underneath the appropriate scope.
Complete the New System Variable dialog that appears, providing a Variable name and Variable value, then click OK Note: no quotes are required for complex variable values when set via this method
Current Command Prompt and PowerShell sessions will not update immediately - to make use of the newly set variable, start a new Command Prompt or PowerShell session.
Execution
To run the Veza Python script, open a Command Prompt window and execute the following:
To pass additional parameters not set as environment variables when executing the script:
An example of setting a parameter with a value along with a flag parameter:
Scheduling
Periodic executions of scripts can be configured via the Task Scheduler interface on Windows.
Note: ensure that any required environment variables have been stored as system-wide variables before scheduling a task that utilizes them. Also stop the Taskeng.exe
process to force Task Scheduler to reload environment variables.
In the search bar, type
Task Scheduler
, then click on the search result to open the interface.In the Actions pane on the right side of the window, click Create Basic Task
In the Create Basic Task Wizard, provide the following:
Name: A name for the scheduled task
Description: An optional longer description of what the task does
Trigger: Select a time-based trigger (
Daily
)Daily time settings for task triggering
Program/script: Enter or browse to the installation location of the python executable
Add arguments:
<script_name>.py --<parameter1_name> <parameter1_value>
Start in:
c:\path\to\script\
Mac
Setup
Verify Python3 Installation
To install python3
on MacOS, ensure that Homebrew is installed and run the following command:
To verify that python3
is installed on your system, run the following command:
If the outputs are filesystem paths (ex: /usr/local/bin/python3
), the applications are installed.
Installing Required Packages
Veza Python scripts may rely on external dependencies; if this is the case, the script package will include a requirements.txt
file.
To ensure that the dependencies are installed, run the following command from the directory in which the requirements.txt
file is located:
Setting Environment Variables
Veza Python scripts often require some variable input at run time (ex: API key, service URL).
Non-secret data can be passed to the script as arguments or set as environment variables, but sensitive data must be set as an environment variable.
See the README.md
packaged with a script for a description of required input data.
Temporary Environment Variables
Environment variables can be set temporarily from the Linux shell; these settings will last until the shell process in which they are set is terminated.
To temporarily set an environment variable from the Linux shell, run the following command:
An example setting VEZA_URL
to the FQDN of a Veza instance:
To verify currently set environment variables and their values, run the env
command from the terminal.
To remove a currently set environment variable, run the following command:
Unsetting the previously established VEZA_URL
example:
Persistent Environment Variables
Environment variables can be set persistently in several ways, each with their own scope.
In each case, edit the relevant file and add the following line to set the new variable:
To set a persistent environment variable for only the currently logged-on user, edit
~/.zshrc
and add the export to the end of the file.To set a variable for all login shell sessions, edit
/etc/profile
and add the export to the end of the file.
Current shell sessions will not reflect the file update immediately - to make use of the newly set variable, source
the file first:
Execution
To run the Veza Python script, chmod
the file to make it executable, then execute it:
To pass additional parameters not set as environment variables when executing the script:
An example of setting a parameter with a value along with a flag parameter:
Scheduling
Cron
Scheduling via cron
requires a line to be added to the crontab
.
Note: cron
executes commands without a login shell; environment variables set outside of the crontab
will not be loaded.
To edit the crontab
, run crontab -e
, then add the following:
Last updated