tentaclio
Unification of data connectors for distributed data tasks
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute tentaclio freely in commercial and private projects with minimal restrictions.
last release 2026-08-05 (9 days) · last repo commit 2026-08-05 · 31 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,715,222 downloads/mo, #3,623 on PyPI
Alternatives
Verify before relying
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)- 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.
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 on it.
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
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.
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.
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)
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 packagesurllib3requestssqlalchemyparamikopandasclickpyyaml |
| 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 |
| Classifiers | 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 |
Evidence: tentaclio-1.5.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “unified file stream handler”
- tentaclioTentaclio opens and manages streams across multiple protocols (file,…
- multiprocessing-loggingProvides a logging handler that tunnels log records from…
- pyexcelProvides a single API to read, write, and manipulate data across…
Give your agent the search over MCP, or paste the wish link into any chat.
More Database packages
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Python client library for connecting to and executing commands against Redis key-value stores, supporting both synchronous and asynchronous operations.
Install it if your application needs to interact with Redis; the only prerequisite is a running Redis server instance.
YDB Python SDK is the official client library for connecting to and querying YDB databases from Python applications.
Install it if you need to connect Python applications to YDB databases.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
sqlparse tokenizes SQL text into a tree of statements, clauses, and expressions, and provides functions to split scripts, format queries, and inspect parsed tokens without validating dialect or syntax.
Install it if you need to manipulate, format, or analyze SQL text programmatically.
Provides base adapter protocols and shared functionality that database adapters use to integrate with dbt-core, handling connections, dialect translation, relation caching, and core interface management.
See also tentaclio-postgres · tentaclio-s3 · s3path · dbstream · smart-open · sftpretty · universal-pathlib · awswrangler · fs-s3fs · s3fs