Igloo Python Connector
Igloo Python Connector is a Python wrapper for the Igloo Cloud API. It also provides additional useful methods and examples.
Installation
To install the latest version of Python, please visit the official website. Note, this package supports Python 3.10 and above.
We recommend installing this package inside a Python virtual environment. For more information, see the virtual environment documentation.
Once created, please activate your virtual environment and install the Igloo Python Connector package using the following command:
pip install wtwco-igloo
You should now be able to import the package in your Python code:
import wtwco_igloo
Connecting to the API
Connect to the API using interactive token:
from wtwco_igloo import Connection
connection = Connection.from_interactive_token(api_url, client_id, tenant_id)
# View your workspaces
print(connection.get_workspaces())
Documentation and Examples
For documentation and examples please see WTW Client Services.
Release Notes
2.3
2.3 - Improvements
- Server side comparison of runs, using the Igloo Cloud comparison API:
- Added
get_or_create_comparison_sessionandget_comparison_session_by_idto theProjectclass. Submitting the same ordered set of runs returns the existing comparison session rather than creating another one. - A
ComparisonSessionclass exposing the compared runs and both sides of the comparison, throughget_run_resultsandget_data_groupsand the case-insensitive lookupsget_run_resultandget_data_group. ComparisonRunResultandComparisonResultTableNodeclasses for the output side of a comparison, mirroringRunResultandRunResultTableNode.ComparisonDataGroupandComparisonDataTableNodeclasses, which give the input side of a comparison the same hierarchical folder and table structure as the output side, something the dictionary based data methods do not provide.
- Added
- Added the example
comparison_session_example.py, demonstrating a server side comparison of two runs. - Support for tracing references between artifacts:
get_upstream_referencesandget_downstream_referenceson theRunclass.get_downstream_referenceson theUploadedFileclass.- Supporting
UpstreamReferences,DownstreamReferences,ReferencedRunandReferencedUploadedFiledata classes. - An accompanying example,
artifact_references_example.py.
- Upload methods now accept optional
blob_client_optionsandblob_upload_optionsarguments, which are passed through to the AzureBlobClient. These are supported byupload_file,upload_filesandupload_folderon theWorkspaceclass, and byupload_files_to_tableandcopy_data_group_from_runon theRunclass. - A
use_sas_linkargument onRun.get_run_result_table_datafor downloading a results table directly from Azure storage, which is faster for large tables. - A relaxed comparison mode for output comparisons, through the
strictargument onRun.compare_output_csvsandRun.compare_output_csvs_in_folder, and thestrict_comparisonargument onProject.output_all_runs. When set toFalse, tables and rows that are only present in the second folder are ignored rather than reported as differences. Defaults toTrue. - Improved documentation for
Run.post_input_dataandProject.output_all_runs.
2.3 - Behavioural changes
Project.output_all_runsandRun.compare_output_csvs_in_folderno longer raiseFilePathNotFoundErrorwhen tables are missing. Missing tables are now reported as differences in the output whenstrict = True, which is the default. Such differences are reported against a file name of the formtable.csv (missing from <folder>), so it is clear which folder the table was missing from.Run.compare_output_csvs_in_foldernow reports tables that are only present in the second folder as differences whenstrict = True, which is the default. Previously these tables were ignored.Project.output_all_runsandRun.compare_output_csvs_in_folderno longer raiseNonCsvFileErrorwhen a folder contains a file that is not a csv. Such files are now logged and ignored.
2.3 - Bugfixes
- Fixed bug where large file uploads could fail, by streaming files to Azure storage in chunks.
- Workspace name lookups with
get_workspaceare now case-insensitive, consistent with other name lookups.
2.3 - Security
- Updated third-party package dependencies to pick up upstream security and stability fixes.
For documentation and examples please see WTW Client Services.
Metadata
Release files for wtwco-igloo 2.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| wtwco_igloo-2.3.0-py3-none-any.whl | Python 3 | none | any | Details for wtwco_igloo-2.3.0-py3-none-any.whl |
Release files / wtwco_igloo-2.3.0-py3-none-any.whl
| Download URL | wtwco_igloo-2.3.0-py3-none-any.whl |
|---|---|
| Size | 107.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
64f3e009afb9f1b6cae56bcbfd574c3d078ee4215d2a391f5b2ae1dce714f8de
|
|
BLAKE2b-256 checksum How to use checksums |
6435c9f7f6c0b93a350c6cdd9de3f15051b4a148dc5e6de5f19df3036beccd19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Security for wtwco-igloo 2.3.0
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.