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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wtwco_igloo-2.3.0-py3-none-any.whl.
File metadata
- Download URL: wtwco_igloo-2.3.0-py3-none-any.whl
- Upload date:
- Size: 107.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64f3e009afb9f1b6cae56bcbfd574c3d078ee4215d2a391f5b2ae1dce714f8de
|
|
| MD5 |
094985027207f7efe165193dff451a1e
|
|
| BLAKE2b-256 |
6435c9f7f6c0b93a350c6cdd9de3f15051b4a148dc5e6de5f19df3036beccd19
|