Skip to main content

IoP (Interoperability On Python)

PyPI - Status PyPI PyPI - Downloads PyPI - License GitHub last commit

Welcome to Interoperability On Python (IoP), a production-stable Python-first toolkit for building on the IRIS Interoperability Framework.

Documentation can be found here. For prompt-driven workflows, see AI-assisted coding with IoP. For task-oriented examples, see the IoP cookbooks. For any application repository, install version-matched agent guidance, skills, and offline cookbooks with:

iop --install-agent-guidance

See IoP Agent Guidance And Skills for Codex, Claude Code, Gemini CLI, and direct Agent Skills installation.

Install only the portable IoP skills in the current project with the Skills CLI. The current Skills CLI requires Node.js 22.20.0 or newer:

node --version
npx skills add \
  https://github.com/grongierisc/interoperability-embedded-python/tree/master/src/iop/ai/skills \
  --skill build-iop-app \
  --skill validate-iop-app

Or make the skills available to supported agents across all your projects:

npx skills add \
  https://github.com/grongierisc/interoperability-embedded-python/tree/master/src/iop/ai/skills \
  --skill build-iop-app \
  --skill validate-iop-app \
  --global

Project-local installation is recommended when the skills must stay aligned with a project's IoP version. The global installation is convenient when you work across many IoP repositories.

Example

Here's a tiny Python-authored production:

from dataclasses import dataclass

from iop import BusinessOperation, Message, PollingBusinessService, Production, target


@dataclass
class HelloRequest(Message):
    text: str = "Hello World"


class HelloService(PollingBusinessService):
    Output = target()

    def on_poll(self):
        self.send_request_async(self.Output, HelloRequest())


class HelloOperation(BusinessOperation):
    def on_message(self, request: HelloRequest):
        self.log_info(request.text)
        return request


prod = Production("HelloWorld.Production", testing_enabled=True)
service = prod.service("HelloService", HelloService)
operation = prod.operation("HelloOperation", HelloOperation)
service.connect(HelloService.Output, operation)

PRODUCTIONS = [prod]

Installation

Install the production-stable package using pip:

pip install iris-pex-embedded-python

Getting Started

If you're new to this project, begin by reading the installation guide. Then, follow the first steps to create your first Python-authored production.

If you are using an AI coding assistant, start with AI-assisted coding with IoP. For concrete workflows, use the IoP cookbooks. For healthcare productions, also see Healthcare AI-assisted coding.

Happy coding!

Compatibility and support

IoP supports Python 3.10 through 3.14 and InterSystems IRIS 2021.2 or newer. Changes follow semantic versioning: backward-compatible features and deprecations ship in minor releases, while removals are reserved for major releases and are announced in the changelog. IRIS compatibility is continuously checked against the latest Community image; the preview image is tested nightly to identify upcoming incompatibilities.

Contributing

Create a Python 3.10 or newer virtual environment, then install and verify the development environment with:

python -m pip install -e ".[dev]"
tox

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.

iris_pex_embedded_python-4.1.1-py3-none-any.whl (226.2 kB view details)

Uploaded Python 3

File details

Details for the file iris_pex_embedded_python-4.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for iris_pex_embedded_python-4.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aba224a8c59c4420148059f1d3268533a043ff9f034efd6b6e231fd5f4fea756
MD5 80113909df229617eac3513026b2a92c
BLAKE2b-256 f36c83d50d2636bfc991311c18e063dbf94995088473c849d4e07c38e796ffbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_pex_embedded_python-4.1.1-py3-none-any.whl:

Publisher: release.yml on grongierisc/interoperability-embedded-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

Supported by

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