Skip to main content

Semantic integration layer for building scalable and reliable Pipefy automations.

Project description

PipeBridge logo

Tag v0.1.4 CI Docs License

PipeBridge

PipeBridge is a Python SDK for Pipefy that provides a semantic, reliable layer for building maintainable automations and integrations.

Instead of stitching together raw GraphQL queries, validation logic, and payload handling in every project, PipeBridge gives you predictable workflows, typed models, and extension points for real-world automation scenarios.

PipeBridge is not a thin GraphQL wrapper. It is an integration framework for production-oriented Pipefy automation.

Why PipeBridge?

PipeBridge helps reduce the friction of direct Pipefy integrations by providing:

  • a simple public facade
  • typed and semantic models
  • safe field updates
  • safe phase transitions
  • file upload and download flows
  • schema caching
  • extensibility through rules, handlers, policies, and steps

Installation

pip install pipebridge

Quick Start

from pipebridge import PipeBridge

api = PipeBridge(
    token="YOUR_TOKEN",
    base_url="https://app.pipefy.com/queries",
)

card = api.cards.get("123456789")
print(card.title)
print(card.current_phase.name if card.current_phase else None)

Core Capabilities

Safe card field updates

from pipebridge import CardUpdateConfig

api.cards.updateFields(
    card_id="123",
    fields={
        "title": "New value",
        "priority": "High",
    },
    expected_phase_id="456",
    config=CardUpdateConfig(
        validate_field_existence=True,
        validate_field_options=True,
        validate_field_type=True,
        validate_field_format=True,
    ),
)

Safe phase moves

from pipebridge import CardMoveConfig

api.cards.moveSafely(
    card_id="123",
    destination_phase_id="999",
    expected_current_phase_id="456",
    config=CardMoveConfig(validate_required_fields=True),
)

File upload and download

from pipebridge import FileUploadRequest, FileDownloadRequest

upload_request = FileUploadRequest(
    file_name="sample.txt",
    file_bytes=b"content",
    card_id="123",
    field_id="attachments",
    organization_id="999",
    expected_phase_id="456",
)

api.files.uploadFile(upload_request)

download_request = FileDownloadRequest(
    card_id="123",
    field_id="attachments",
    output_dir="./downloads",
)

files = api.files.downloadAllAttachments(download_request)

Extensibility

from pipebridge.exceptions import ValidationError
from pipebridge.workflow.rules.baseRule import BaseRule


class UppercaseOnlyRule(BaseRule):
    def __init__(self, field_id: str) -> None:
        self.field_id = field_id

    def execute(self, context) -> None:
        value = context.request.fields.get(self.field_id)
        if not isinstance(value, str) or value != value.upper():
            raise ValidationError(
                message=f"Field '{self.field_id}' must be uppercase",
                class_name=self.__class__.__name__,
                method_name="execute",
            )


api.cards.updateField(
    card_id="123",
    field_id="code",
    value="VALUE",
    extra_rules=[UppercaseOnlyRule("code")],
)

Learn More

License

MIT

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

pipebridge-0.1.4.tar.gz (103.3 kB view details)

Uploaded Source

Built Distribution

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

pipebridge-0.1.4-py3-none-any.whl (164.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pipebridge-0.1.4.tar.gz
Algorithm Hash digest
SHA256 17a3f4e5d8396c8c9ab639517399eac9c7051050032780c53d64e1ea80bd8d74
MD5 ff36d2f43c4ebede5e8adff839d3b2ae
BLAKE2b-256 beb73dddf30c7285da84ac1efd0e0c2190804ff269d3d3ce87ede614b7ae0083

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipebridge-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 164.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for pipebridge-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e39f863a72cf91cd3a32b0c1c6e89c04df93833a6f5b65490f31230ef3ddd432
MD5 864e40fad275927de15ada874241c2fd
BLAKE2b-256 7570ddd96d9443315bad4586011f2aa74d60070fa6124798c256bbf7e5b31f7e

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