Skip to main content

aisquare-pipe-dropbox

Dropbox source and sink connectors for aisquare.pipe.

Install

pip install aisquare-pipe-dropbox

Or for development (from the repo root):

cd connectors/dropbox
pip install -e ".[dev]"

Configuration

Two authentication modes are supported:

# Mode 1: Access token (quick testing)
config = {"access_token": "sl.XXXXX"}

# Mode 2: Refresh token (recommended — auto-refreshes)
config = {
    "app_key": "YOUR_APP_KEY",
    "app_secret": "YOUR_APP_SECRET",
    "refresh_token": "YOUR_REFRESH_TOKEN",
}

Usage

Pull files from Dropbox

from aisquare.pipe import Pipeline, PullParams
from aisquare_pipe_dropbox import DropboxSource, DropboxSink

source = DropboxSource()
params = PullParams(params={
    "path": "/documents",
    "recursive": True,
    "extensions": [".pdf", ".docx"],
    "limit": 10,
})

for envelope in source.pull(config, params):
    print(f"{envelope.metadata['filename']} ({envelope.content_type})")

Push files to Dropbox

from aisquare.pipe import DataEnvelope, PushParams

sink = DropboxSink()
envelope = DataEnvelope(
    content_type="text/plain",
    data="Hello from aisquare.pipe!",
    source_id="my-app",
    metadata={"filename": "hello.txt"},
)
result = sink.push(envelope, config, PushParams(params={"target_path": "/uploads"}))
print(f"Uploaded: {result.ref}")

Pipeline (source to sink)

from aisquare.pipe import Pipeline

source = DropboxSource()
sink = DropboxSink()

pipeline = Pipeline(source=source, sink=sink)
result = pipeline.run({
    "dropbox-source": {"access_token": "SOURCE_TOKEN"},
    "dropbox-sink": {"access_token": "SINK_TOKEN"},
})
print(f"Transferred {result.success_count} files")

Features

  • Automatic MIME type detection from filenames
  • Streaming for large files (>50MB download, >140MB chunked upload)
  • Upload sessions for files up to 350GB
  • Automatic retry with exponential backoff on rate limits (429)
  • OAuth2 refresh token support with auto-refresh
  • Folder listing with pagination and recursive support

Metadata

Release files for aisquare-pipe-dropbox 0.1.0

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

Source distribution (sdist)

Source distribution for aisquare-pipe-dropbox 0.1.0
File Size Uploaded Provenance Actions
aisquare_pipe_dropbox-0.1.0.tar.gz 11.2 kB Without provenance Details for aisquare_pipe_dropbox-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for aisquare-pipe-dropbox 0.1.0
File Interpreter ABI Platform Actions
aisquare_pipe_dropbox-0.1.0-py3-none-any.whl Python 3 none any Details for aisquare_pipe_dropbox-0.1.0-py3-none-any.whl

Total release size: 19.4 kB

Release files / aisquare_pipe_dropbox-0.1.0.tar.gz

Download URL aisquare_pipe_dropbox-0.1.0.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3b730fc9a041ffc514afbf56679c5ef33bcff4135570d932abbe71e92607123b
BLAKE2b-256 checksum
How to use checksums
4a272118bebd911f120753c2828aae54d28d0e2cf062015602f4616820b6b056
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.9

Release files / aisquare_pipe_dropbox-0.1.0-py3-none-any.whl

Download URL aisquare_pipe_dropbox-0.1.0-py3-none-any.whl
Size 8.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e332c23b3c27eca8c8c83fb96b9ffee5196e9854a7bf94370dfee570111bfb45
BLAKE2b-256 checksum
How to use checksums
c31deccd3e3ce10394b8ff4d44a1099491eaa0e1f0a01b641a3a0f2f6c6abc4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.9

Security for aisquare-pipe-dropbox 0.1.0

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 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