A universal bridge to connect, map, and automate data transfer between any two REST APIs.
Full documentation is available at https://kkartas.github.io/APILinker/.
pip install apilinkerMessage-queue connectors are optional.
pip install apilinker[mq]Minimal example (worker loop):
from apilinker.core.error_handling import DeadLetterQueue
from apilinker.core.message_queue import MessagePipeline, MessageWorker
from apilinker.core.message_queue_connectors import RabbitMQConnectorPlugin
consumer = RabbitMQConnectorPlugin()
producer = RabbitMQConnectorPlugin()
consumer_conn = consumer.connect(host="localhost")
producer_conn = producer.connect(host="localhost")
pipeline = MessagePipeline(
consumer=consumer,
producer=producer,
dlq=DeadLetterQueue("./dlq"),
)
worker = MessageWorker(
pipeline,
consumer_connection=consumer_conn,
producer_connection=producer_conn,
source="input_queue",
default_destination="output_queue",
)
worker.run()- 🔄 Universal Connectivity - Connect any two REST APIs.
- 🗺️ Powerful Mapping - Transform data with ease.
- ⭐ Event-Driven Pipelines - Optional message queue connectors (RabbitMQ, Redis Pub/Sub, AWS SQS, Kafka).
- SSE Streaming - Built-in SSE connector with reconnection, chunked processing, and backpressure controls.
- 🔒 Secure - Enterprise secret management (Vault, AWS, Azure, GCP).
- 🧬 Scientific Connectors - Built-in support for NCBI, arXiv, and more.
We welcome contributions! Please see our Contributing Guide for details.
This project is licensed under the MIT License - see the LICENSE file for details.