Python Implementation in Guardian
Last updated
The Guardian platform now supports Python scripting within its Custom Logic blocks, expanding its flexibility and enabling developers to perform complex computations and logic more easily. This feature introduces a new Script Language selection option and includes enhancements to VC (Verifiable Credential) document schemas for better version tracking.
A new dropdown setting has been added to the Custom Logic block in the Policy Editor, allowing users to select the desired scripting language.
Configuration
Field: Script Language
Options:
JavaScript (default for backward compatibility)
Python (newly introduced)


Choose "Python" when you want to leverage Pythonβs expressive syntax and advanced computation libraries for policy logic.
Guardian now supports Python as a language for defining business logic in Custom Logic blocks.
Capabilities
Execute Python scripts directly as part of policy execution.
Access context variables and input data in Python syntax.
Perform conditional logic, calculations, or transformations using Python.
Example
Python code is sandboxed and only has access to allowed libraries/packages pre-installed in the Guardian environment.
guardianVersionA new default field has been introduced in all Verifiable Credential document schemas: guardianVersion.
This field helps track the Guardian system version that was used to generate or interact with the VC. It is especially useful when managing backward compatibility and knowing which Python packages and versions were available during execution.
Field Name: guardianVersion
Type: string
Format: Semantic versioning (e.g., "3.4.1")
Automatically populated? Yes

Ensure your logic is compatible with the version of Guardian being used, especially when importing Python packages.
Python execution is subject to the limitations and security constraints defined in Guardian's runtime.
numpy
1.26.4
scipy
1.12.0
sympy
1.12
pandas
2.2.0
pint
0.25.1
duckdb
1.0.0
sqlalchemy
2.0.29
cftime
1.6.3
matplotlib
3.5.2
seaborn
0.13.2
bokeh
3.4.1
altair
5.3.0
cartopy
0.23.0
astropy
6.0.1
statsmodels
0.14.2
networkx
3.3
Last updated
pythonCopyEdit# Sample Python logic inside Custom Logic block
if document['type'] == 'Certificate':
document['status'] = 'Verified'