Skip to main content
Pre-release

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

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.1b2-py3-none-any.whl (226.2 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for iris_pex_embedded_python-4.1.1b2-py3-none-any.whl
Algorithm Hash digest
SHA256 e23a00b2a8c0044ec5fe2baec0ea36974ef141d18e60d35d9bde510e4762dafc
MD5 97face163b0d569cc04c048045cbdf18
BLAKE2b-256 a98ac1a20fa9d4b8d927fe66addabbfd01246f1d85da77321cfe994344965e24

See more details on using hashes here.

Provenance

The following attestation bundles were made for iris_pex_embedded_python-4.1.1b2-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