Skip to main content

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

  1. Server side comparison of runs, using the Igloo Cloud comparison API:
    • Added get_or_create_comparison_session and get_comparison_session_by_id to the Project class. Submitting the same ordered set of runs returns the existing comparison session rather than creating another one.
    • A ComparisonSession class exposing the compared runs and both sides of the comparison, through get_run_results and get_data_groups and the case-insensitive lookups get_run_result and get_data_group.
    • ComparisonRunResult and ComparisonResultTableNode classes for the output side of a comparison, mirroring RunResult and RunResultTableNode.
    • ComparisonDataGroup and ComparisonDataTableNode classes, 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.
  2. Added the example comparison_session_example.py, demonstrating a server side comparison of two runs.
  3. Support for tracing references between artifacts:
    • get_upstream_references and get_downstream_references on the Run class.
    • get_downstream_references on the UploadedFile class.
    • Supporting UpstreamReferences, DownstreamReferences, ReferencedRun and ReferencedUploadedFile data classes.
    • An accompanying example, artifact_references_example.py.
  4. Upload methods now accept optional blob_client_options and blob_upload_options arguments, which are passed through to the Azure BlobClient. These are supported by upload_file, upload_files and upload_folder on the Workspace class, and by upload_files_to_table and copy_data_group_from_run on the Run class.
  5. A use_sas_link argument on Run.get_run_result_table_data for downloading a results table directly from Azure storage, which is faster for large tables.
  6. A relaxed comparison mode for output comparisons, through the strict argument on Run.compare_output_csvs and Run.compare_output_csvs_in_folder, and the strict_comparison argument on Project.output_all_runs. When set to False, tables and rows that are only present in the second folder are ignored rather than reported as differences. Defaults to True.
  7. Improved documentation for Run.post_input_data and Project.output_all_runs.

2.3 - Behavioural changes

  1. Project.output_all_runs and Run.compare_output_csvs_in_folder no longer raise FilePathNotFoundError when tables are missing. Missing tables are now reported as differences in the output when strict = True, which is the default. Such differences are reported against a file name of the form table.csv (missing from <folder>), so it is clear which folder the table was missing from.
  2. Run.compare_output_csvs_in_folder now reports tables that are only present in the second folder as differences when strict = True, which is the default. Previously these tables were ignored.
  3. Project.output_all_runs and Run.compare_output_csvs_in_folder no longer raise NonCsvFileError when a folder contains a file that is not a csv. Such files are now logged and ignored.

2.3 - Bugfixes

  1. Fixed bug where large file uploads could fail, by streaming files to Azure storage in chunks.
  2. Workspace name lookups with get_workspace are now case-insensitive, consistent with other name lookups.

2.3 - Security

  1. 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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wtwco_igloo-2.3.0-py3-none-any.whl (107.8 kB view details)

Uploaded Python 3

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

Hashes for wtwco_igloo-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 64f3e009afb9f1b6cae56bcbfd574c3d078ee4215d2a391f5b2ae1dce714f8de
MD5 094985027207f7efe165193dff451a1e
BLAKE2b-256 6435c9f7f6c0b93a350c6cdd9de3f15051b4a148dc5e6de5f19df3036beccd19

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.3.0 This release

1 file

2.2.1

1 file

2.2.0

1 file

2.1.0

1 file

2.0.0

1 file

1.0.0

1 file

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