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 application repositories, start from the reusable AGENTS.md template.

Install only the portable IoP skills in the current project with the Skills CLI:

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!