skillfed

tentaclio

Unification of data connectors for distributed data tasks

tentaclio v1.5.1 1.7M downloads/30d#3,623 on PyPI31
Permissive license MIT Active released

What it is and what it does

Tentaclio is a Python library that abstracts away the differences between reading and writing data across multiple storage backends—local files, FTP, SFTP, S3, HTTP/HTTPS, and databases—by exposing a single unified interface. Instead of learning separate APIs for each protocol, you use `tentaclio.open()` for streams and `tentaclio.db()` for database connections, always working with standard file-like objects and connection clients.

The library handles credential management automatically through environment variables, supports pandas DataFrames directly (read and write CSV, Parquet, etc. to any backend), and provides filesystem-like operations such as `listdir`, `scandir`, and `walk` where the underlying protocol supports them. It includes built-in handlers for file, FTP, SFTP, HTTP, and HTTPS; additional schemes (S3, Google Cloud Storage, Databricks, Snowflake, etc.) are available through optional companion packages. Designed for distributed data tasks, it reduces boilerplate and credential-handling complexity in data pipelines.

Use it for:

  • Read CSV or Parquet files from S3 or SFTP into pandas DataFrames without writing protocol-specific code.
  • Write processed data to multiple backends (local, S3, database) using the same `tentaclio.open()` call with different URLs.
  • Manage credentials centrally via environment variables instead of hardcoding or passing them through application code.
  • Copy or move files between different storage systems (e.g., local to S3, SFTP to database) with a single `tentaclio.copy()` call.
  • Query databases and write results to cloud storage in a single script without managing separate connection objects.
  • List or walk remote directories on S3 or SFTP using familiar Python filesystem patterns.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Tentaclio opens and manages streams across multiple protocols (file, FTP, SFTP, S3, HTTP/HTTPS) and database connections using a unified URL-based interface, with automatic credential injection and pandas integration.

Yes. Tentaclio is actively maintained, has no known vulnerabilities, and solves a genuine pain point in data workflows: abstracting protocol differences behind a clean, consistent API. The low install friction, permissive MIT license, and broad protocol support make it a solid choice for any project that moves data across multiple backends. The pandas integration and automatic credential injection are particularly valuable in distributed or CI/CD environments. Start with the built-in protocols; add optional packages only when you need S3, Google Cloud, or specialized databases.

Install

tentaclio on PyPI

pip

pip install tentaclio

uv

uv add tentaclio

poetry

poetry add tentaclio

Installing tentaclio

Before you install

Low friction installation with a pure-Python wheel. Active maintenance—released 9 days ago with a recent commit on 2026-08-05. Depends on seven well-established libraries (urllib3, requests, sqlalchemy, paramiko, pandas, click, pyyaml), all standard in data workflows.

License in practice

MIT license is permissive; you can use, modify, and distribute tentaclio freely in commercial and private projects with minimal restrictions.

Quickstart

pip install tentaclio

import tentaclio

# Read from S3
with tentaclio.open("s3://my-bucket/file.txt") as reader:
    contents = reader.read()

# Write to SFTP
with tentaclio.open("sftp://host/path/file.txt", mode="w") as writer:
    writer.write(contents)

Requires Python 3.10 or later. S3, Google Cloud Storage, Google Drive, and some database schemes require optional extra packages (tentaclio-s3, tentaclio-gs, tentaclio-gdrive, etc.). Credentials for protected resources must be configured via TENTACLIO__CONN__* environment variables.

Verify before relying

  • Whether the package handles concurrent stream operations safely or has thread-safety guarantees.
  • Performance characteristics when copying large files or listing directories with many entries.
  • Exact error handling and retry behavior for transient network failures across different protocols.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 7 — urllib3, requests, sqlalchemy, paramiko, pandas, click, pyyaml
Maintenance actively maintained — 9 days since the last release
Last repo commit
First released
Downloads 1,715,222/month — #3,623 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: tentaclio-1.5.1-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Typing :: Typed

Tags

unified file stream handlermulti-protocol data connectors3 ftp sftp file abstractiondatabase connection managercredentials injection librarypandas stream integrationdistributed data access layer
data-pipelinemulti-protocolcredentials-management

More Database packages