Skip to main content

arbitrage-feather

Python SDK for Feather — enqueue tasks and run workers in-process (Celery-style) or as dedicated processes.

Install

pip install arbitrage-feather

Requires a running Feather server (FEATHER_ADDRESS, default localhost:50051).

Celery-style (embedded — recommended)

import asyncio
from arbitrage.feather import FeatherApp

app = FeatherApp()

async def send_email(ctx):
    data = json.loads(ctx.payload.decode())
    await mailer.send(data["to"])

app.task("send-email", send_email)

async def main():
    await app.start_embedded()
    app.delay("send-email", {"to": "user@example.com"})
    await asyncio.sleep(3600)  # keep app running

asyncio.run(main())

FastAPI integration

from contextlib import asynccontextmanager
from fastapi import FastAPI
from arbitrage.feather import FeatherApp

feather = FeatherApp()

@asynccontextmanager
async def lifespan(app: FastAPI):
    await feather.start_embedded()
    yield
    await feather.shutdown()

app = FastAPI(lifespan=lifespan)

@app.post("/send")
async def send(to: str):
    feather.delay("send-email", {"to": to})
    return {"ok": True}

Publish

./scripts/bundle-protos.sh
cd packages/sdk-python && python -m build && twine upload dist/*

Metadata

Release files for arbitrage-feather 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arbitrage-feather 0.1.2
File Size Uploaded Provenance
arbitrage_feather-0.1.2.tar.gz 86.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for arbitrage-feather 0.1.2
File Interpreter ABI Platform
arbitrage_feather-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 182.9 kB

Release files / arbitrage_feather-0.1.2.tar.gz

Download URL arbitrage_feather-0.1.2.tar.gz
Size 86.5 kB
Tags Source
SHA-256 checksum
How to use checksums
89c5cc0877e8b542eb94b28409cfd93599cebe0e7d6fab32806a053e6ada8554
BLAKE2b-256 checksum
How to use checksums
bc31727475067abe0ad337acd2162a2b4d4f9ef42174c8d048555925772fa101
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / arbitrage_feather-0.1.2-py3-none-any.whl

Download URL arbitrage_feather-0.1.2-py3-none-any.whl
Size 96.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0c7abf5724226e44ea91ffa1b5d4bb958a1843c2d24f2bd0c2b48955f56be1f2
BLAKE2b-256 checksum
How to use checksums
0fa5d30831e4925f5ed605b2650c87c01b1ac8ab36fb5268b7220614bbaa1503
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Security for arbitrage-feather 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page