Skip to main content

Pineapple pipeline engine — Python runtime

Project description

pineapple-pine

Python runtime engine for the Pineapple pipeline framework.

Installation

pip install pineapple-pine

Quick Start

import json
from pine.engine import Engine

config = json.dumps({
    "operators": [
        {"type_name": "recall_static", "name": "recall", "$metadata": {
            "common_input": [], "item_input": [], "common_output": [],
            "item_output": ["id", "score"]
        }, "items": [{"id": "a", "score": 1.0}]}
    ],
    "pipeline_groups": {"main": ["recall"]}
}).encode()

engine = Engine.create(config)
result = engine.execute(common={}, items=[])
print(result.common, result.items)

Features

  • Full DAG scheduling with data-hazard analysis
  • ConsumesRowSet / MutatesRowSet / AdditiveWritesRowSet marker interfaces
  • Framework-level field accessor (Strict / Default semantics)
  • Lua operator support via lupa
  • HTTP server with hot-reload
  • DAG visualization (DOT / Mermaid)
  • Cross-engine parity with pine-go and pine-java

Requirements

  • Python >= 3.11
  • lupa (Lua runtime)
  • redis (optional, for redis_get/redis_set operators)
  • httpx (for remote_pineapple operator)

License

Apache-2.0

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

pineapple_pine-0.9.7.tar.gz (61.2 kB view details)

Uploaded Source

Built Distribution

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

pineapple_pine-0.9.7-py3-none-any.whl (64.3 kB view details)

Uploaded Python 3

File details

Details for the file pineapple_pine-0.9.7.tar.gz.

File metadata

  • Download URL: pineapple_pine-0.9.7.tar.gz
  • Upload date:
  • Size: 61.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pineapple_pine-0.9.7.tar.gz
Algorithm Hash digest
SHA256 f2d9caf1866b84dfae7f22fdd57f883c620e2b7ee651518b23b2c642b9aa950b
MD5 be91f90055ec20c7a1bd2a4fecf11151
BLAKE2b-256 926eada97ec0811d9fe241bfe974063820d2994c709823e6a3bad882d97c26dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pineapple_pine-0.9.7.tar.gz:

Publisher: release.yml on Liam0205/pineapple

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

File details

Details for the file pineapple_pine-0.9.7-py3-none-any.whl.

File metadata

  • Download URL: pineapple_pine-0.9.7-py3-none-any.whl
  • Upload date:
  • Size: 64.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pineapple_pine-0.9.7-py3-none-any.whl
Algorithm Hash digest
SHA256 db462b24ef05c531903aeda79fc4934b8f2ec6b2ea668dd65af4f2bfee1d82f2
MD5 db1ec2485504dd72e2545524fccae164
BLAKE2b-256 c6d401b2d1bbae0e4da6331871ce4693803ea810536b3e6475522cc1ca993f73

See more details on using hashes here.

Provenance

The following attestation bundles were made for pineapple_pine-0.9.7-py3-none-any.whl:

Publisher: release.yml on Liam0205/pineapple

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

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