Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Python Eigen Ingenuity SDK

Overview

Python Eigen Ingenuity is a comprehensive Python library for accessing industrial data from Eigen Ingenuity instances. It enables seamless integration with time-series data, asset models, event logs, and SQL databases for analytics, automation, and ML workflows.

Supports Python 3.12+


Table of Contents


Core Modules

Each module is queried by first instantiating a client object that manages onnection to a certain api. e.g. get_histoiran_multi() then all queries are performed as methods on the returned class

e.g.

hm = get_historian_multi("demo.eigen.co", "Demo-influxdb")
current = hm.getCurrentDataPoints("DEMO_02TI301.PV")

1. Historian Multi

Query time-series data from multiple historians simultaneously. Handles reading, writing, and managing data point metadata.

Connection Function:

  • get_historian_multi — Initialize Historian Multi client

Reading Data Functions:

  • getCurrentDataPoints — Fetch the latest tag values instantly
  • getInterpolatedPoints — Retrieve interpolated data at specific timestamps
  • getInterpolatedRange — Get interpolated data across a time range
  • getRawDatapoints — Fetch raw historian data without interpolation
  • getClosestRawPoint — Find the nearest raw data point to a specific time

Aggregation Functions:

  • getAggregates — Compute statistics (min, max, avg, stdDev, median, count, etc.)
  • getAggregateIntervals — Calculate aggregates over regular time intervals

Metadata Functions:

  • listHistorians — List all available historian connections
  • listDataTags — Retrieve all data tags from a historian
  • getMetaData — Fetch metadata for specific tags
  • createTag — Create a new data tag
  • updateTag — Modify existing tag configuration

Writing Data Functions:

  • writePoints — Write individual data points to tags
  • writePointsBatch — Batch write multiple data points efficiently
  • createPoint — Create a formatted data point object
  • createAndPopulateTag — Create a new tag and immediately populate it with data

2. Asset Model

Navigate the Neo4J asset model to browse assets, their properties, related assets, and associated measurements.

Connection Function:

  • get_assetmodel — Initialize Asset Model Client

Core Functions:

  • getRelatedAssets — Retrieve all instruments or components related to an asset
  • getProperties — Get metadata fields and custom properties from assets
  • getMeasurements — Fetch all timeseries measurements configured for an asset
  • executeRawQuery — Run custom Neo4J Cypher queries against the asset model
  • getDocuments — Retrieve reference documents attached to assets
  • getLabels — Get asset classification labels
  • getMatchingNodes — Find assets matching specific criteria

3. Eventlog

Query, filter, and manage event records in the Ingenuity event log system.

Connection Function:

  • get_eventlog — Initialize Eventlog client

Query Functions:

  • getEvents — Execute raw queries with filters (severity, type, source, etc.)
  • getEventsBySource — Filter events by source identifier (partial or exact match)
  • getEventsByType — Filter events by event type
  • getEventsById — Retrieve events by event ID, external ID, or episode ID

Management Functions:

  • pushToEventlog — Create and push new events to the event log
  • deleteEventsById — Remove unwanted events in bulk

4. SQL

Execute read-only queries against SQL databases connected to Ingenuity instances.

Connection Function:

  • get_sql — Initialize SQL client

Query Functions:

  • executeRawQuery — Execute raw SQL queries with multiple output formats (JSON, DataFrame, CSV file)
  • listDatabases — Retrieve list of available SQL databases
  • listTables — List tables within a specific database

5. Common Menu

Query asset relationships, measurements, properties, and documents through a unified interface.

Connection Function:

  • get_common_menu — Initialize Common Menu client

Functions:

  • getRelatedAssets — Query related assets
  • getProperties — Fetch asset properties
  • getMeasurements — Get measurements for assets
  • getDocuments — Retrieve associated documents
  • getEvents — Query events from the Common Menu perspective
  • getDrivers — Get driver information

6. Elastic (Deprecated)

Legacy module for querying Elasticsearch-backed data sources. Flagged for removal in a future release. Use Eventlog instead.

Connection Function:

  • get_elastic — Initialize legacy Elastic client

7. Historian (Deprecated)

Legacy single-historian client. Flagged for removal in a future release. Use Historian Multi instead.

Connection Function:

  • get_historian — Initialize legacy Historian client for a single data source

Authentication

The library supports Azure authentication with:

  • User Credentials Flow — Interactive authentication
  • CLIENT_CREDENTIALS Flow — Service principal authentication
  • API Token — Direct token-based access

Configuration Functions:

  • set_azure_tenant_id — Specify Azure tenant
  • set_azure_client_id — Specify client/application ID
  • set_azure_client_secret — Specify client secret (for CLIENT_CREDENTIALS)
  • set_api_token — Set API token alternative to Azure auth
  • set_auth_scope — Configure OAuth scope
  • disable_azure_auth — Skip Azure authentication
  • disable_auth_token_cache — Disable token caching for security
  • clear_auth_token_cache — Remove cached tokens

Key Features

Multi-Source Data Access — Query historians, asset models, SQL, and events in one library
Aggregations & Statistics — Built-in support for min, max, average, standard deviation, median, and more
Batch Operations — Efficient bulk writes and queries
Azure Authentication — Enterprise authentication support
Flexible Output — JSON, DataFrames, files, or raw responses
Time-Series Focused — Purpose-built for industrial data workflows
Neo4J Integration — Direct access to asset model graph database


Further Documentation

For complete function signatures, detailed parameters, and code examples, visit:

📖 https://docs.eigeningenuity.co/developing-with-eigen/python-library/


Support

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_eigen_ingenuity-0.5.32b2.tar.gz (111.0 kB view details)

Uploaded Source

Built Distribution

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

python_eigen_ingenuity-0.5.32b2-py3-none-any.whl (152.7 kB view details)

Uploaded Python 3

File details

Details for the file python_eigen_ingenuity-0.5.32b2.tar.gz.

File metadata

File hashes

Hashes for python_eigen_ingenuity-0.5.32b2.tar.gz
Algorithm Hash digest
SHA256 f93a03a64788b14c240bf2e7e9035392725cff4495a0a1f4576784ff26baee27
MD5 3d177f44cd2a4cf8b92535c624e62ef5
BLAKE2b-256 3295650a0fcf3abd15256aaf111bfa31eea5e2607010a55f9dd41cd3c5620a79

See more details on using hashes here.

File details

Details for the file python_eigen_ingenuity-0.5.32b2-py3-none-any.whl.

File metadata

File hashes

Hashes for python_eigen_ingenuity-0.5.32b2-py3-none-any.whl
Algorithm Hash digest
SHA256 fce1550e3f6b7e03359263dfa2b945ed189ba70b7e0122c141f36160fffd1e4b
MD5 70782819c27e0283b1894934dc5d86c8
BLAKE2b-256 3679225afb504926de1555479bd98088f72616fef6f3f99e7a37b11c8b4b71fb

See more details on using hashes here.

Release history Release notifications | RSS feed

0.5.33

2 files

0.5.32

2 files

This release

0.5.32b2 This release

2 files

0.5.31

2 files

0.5.30

2 files

0.5.29

2 files

0.5.28

2 files

0.5.27

2 files

0.5.26

2 files

0.5.25

2 files

0.5.24

2 files

0.5.23

2 files

0.5.22

2 files

0.5.21

2 files

0.5.20

2 files

0.5.19

2 files

0.5.18

2 files

0.5.17

2 files

0.5.16

2 files

0.5.15

2 files

0.5.14

2 files

0.5.12

2 files

0.5.11

2 files

0.5.10

2 files

0.5.9

2 files

0.5.8

2 files

0.5.6

2 files

0.5.5

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.38

2 files

0.4.37

2 files

0.4.36

2 files

0.4.35

2 files

0.4.34

2 files

0.4.33

2 files

0.4.32

2 files

0.4.31

2 files

0.4.30

2 files

0.4.29

2 files

0.4.28

2 files

0.4.27

2 files

0.4.26

2 files

0.4.25

2 files

0.4.24

2 files

0.4.23

2 files

0.4.22

2 files

0.4.21

2 files

0.4.20

2 files

0.4.19

2 files

0.4.18

2 files

0.4.17

2 files

0.4.16

2 files

0.4.15

2 files

0.4.13

2 files

0.4.12

2 files

0.4.11

2 files

0.4.10

2 files

0.4.9

2 files

0.4.8

2 files

0.4.7

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.7

3 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page