Skip to main content

A professional library for PI Web API integration

Project description

piwebapiconnect

A professional Python library for PI Web API integration.

Installation

pip install piwebapiconnect

Usage

Using .env file

Create a .env file in your project root with the following variables:

PI_WEB_API_URL=https://your-pi-server/piwebapi
PI_WEB_API_USERNAME=domain\user
PI_WEB_API_PASSWORD=your-password
PI_SERVER_NAME=PISERVER01
PI_WEB_API_VERIFY_SSL=True  # Optional, defaults to True
from piwebapiconnect import get_service
service = get_service()

Functions Provided

All service functions are asynchronous.

  • get_current_value(tag_name: str): Fetch the current value for a given PI tag.
  • get_recorded_values(tag_name: str, start_time: str, end_time: str): Fetch historical (recorded) values for a time range.
  • write_value(tag_name: str, value: Any, timestamp: Any = None): Write a value for a PI tag.
  • search_tags(query: str): Search for PI tags based on a query pattern.
  • get_asset_servers(): List available PI AF System (Asset Server) names.
  • get_organizations(asset_server: str): List AF Databases (Organizations) on a specific Asset Server.
  • test_connection(): Verify the connection status to the PI Web API.
  • close(): Close the underlying HTTP client.

Passing credentials directly

from piwebapiconnect import get_service
import asyncio
service = get_service(
    url="https://your-pi-server/piwebapi",
    username="domain\\user",
    password="your-password",
    server_name="PISERVER01",
    verify_ssl=False  # Optional
)

async def main():
    val = await service.get_current_value("YourTagName")
    print(val)

if __name__ == "__main__":
    asyncio.run(main())

Project details


Download files

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

Source Distribution

piwebapiconnect-0.1.4.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

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

piwebapiconnect-0.1.4-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file piwebapiconnect-0.1.4.tar.gz.

File metadata

  • Download URL: piwebapiconnect-0.1.4.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for piwebapiconnect-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ba13013903c23b70f6c67ae56a6f5a71d5344c853059fc66885598b43a0999ef
MD5 b96f2b7874103f62e9c6723aa2808517
BLAKE2b-256 2f97429302b9dce687bf6475658a02a3121eda0325570c97553db2500373e6ff

See more details on using hashes here.

File details

Details for the file piwebapiconnect-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for piwebapiconnect-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0396c54332927d0f9ff3b342243fc8b12d55a53cd629225a31a8a6c2b906b937
MD5 0dfa7c0a95a8804346182ed789cd1cc4
BLAKE2b-256 15b14a1b5d88225b1709550e5d14ed908a8f319aa8e3f92d454d7d52f0f9897e

See more details on using hashes here.

Supported by

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