Skip to main content

Semantic integration layer for building scalable and reliable Pipefy automations.

Project description

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.3.tar.gz (103.0 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.3-py3-none-any.whl (164.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipebridge-0.1.3.tar.gz
  • Upload date:
  • Size: 103.0 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.3.tar.gz
Algorithm Hash digest
SHA256 cf407cb800c6cbc67a91a07ea4dbb9dbfb743c48a10e98c17ccb516ae3a55748
MD5 ff4cf6002b906b34654b3ee7b47b87ae
BLAKE2b-256 1f2db76ae5b8d79663852e8eb20687e53d745413f4f37c96fc27679fcc2183ae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipebridge-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 164.2 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 42b1fc7a0cb6711489fc40f394d7b5203ebce2719b1287ba0d5a953294bf3158
MD5 d829318e9d60cc0f12390aae33ec7db3
BLAKE2b-256 be150bd46ac97e59a8f676bc6d758e24848bf77a260e6b4befb8ebf35e5594a3

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