Tentaclio is a Python library designed to unify data connectors for distributed data tasks, offering a consistent API for interacting with various data sources like local files, FTP, SFTP, S3, GCS, and databases. It provides a simple URL-based interface for streams and database connections. The library is actively maintained with frequent minor releases to address security updates and improve functionality.
pip install tentaclioVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to use `tentaclio.open` to write and read from a local file. It also includes commented-out code showing how to interact with cloud storage like S3, highlighting Tentaclio's 'automagic authentication' feature via environment variables (e.g., `TENTACLIO__CONN__PREFIX`). For S3 and other cloud protocols, ensure the corresponding optional dependencies are installed.
Install `tentaclio` with the specific extras needed for your protocols, e.g., `pip install tentaclio[s3,gs,postgres]`.
Be aware that the user, password, and hostname from stored credentials (environment variable or secrets file) will override those in the explicit URL if a matching credential entry is found. Scheme and path are taken from the URL, while port is prioritized from credentials if present, otherwise from the URL.
Upgrade to Tentaclio version 1.3.2 or later to utilize private key path and password query parameters for SFTP connections. For older versions, configure SFTP authentication via environment variables or a secrets file.
Consult the documentation for specific database URL formats and their implications for read/write operations, especially when dealing with table names embedded in the URL path.