Terrafox Data Lake Connector
A simple, secure wrapper module to stream files out of your private data lake into remote notebook runtimes seamlessly.
terrafox-datalake
A lightweight, universal, stream-native connector wrapper designed to stream datasets securely from private MinIO and S3-compatible Data Lakes straight into Pandas dataframes.
By replacing traditional file-system directory mapping wrappers (s3fs/fsspec) with direct object streaming via boto3, this package completely eliminates network edge bottlenecks, Cloudflare proxy payload limits, and 403 Forbidden credential collisions caused by background directory scanning.
Key Features
- Stream-Native Engine: Reads multi-gigabyte datasets (e.g., 1.3 GiB+ CSVs) linearly using high-performance byte-stream network chunks, keeping your local or Google Colab memory consumption minimal.
- Bypasses Proxy Blocks: Sidesteps standard reverse-proxy constraints (like Cloudflare Tunnel 100 MiB Client Max Body Size upload blocks) during active read cycles.
- Fully Universal & Repurposable: Zero hardcoded endpoints. Works natively out-of-the-box with your configured defaults or targets any custom local/cloud data lake clusters dynamically.
- Zero Configuration Conflict: Completely abstracts complex
botocoreconfiguration arguments, address styling structures, and signature parameters out of your notebooks.
Installation
Terrafox Data Lake
A lightweight Python package for securely connecting to and streaming data from private MinIO-based data lake environments.
Installation
pip install terrafox-datalake
Quick Start
1. Connecting Natively via Interactive Prompt
If no background credentials are found, calling connect() will securely prompt you for your data lake credentials.
import terrafox_datalake as dl
# Initialize the data lake client context securely
dl.connect()
2. Silent Credentials Injection (Automated Workflows)
For automated scripts, CI/CD pipelines, headless environments, or to bypass the interactive login prompt in Google Colab, set your credentials as environment variables before initializing the connection.
import os
import terrafox_datalake as dl
# Pre-populate session credentials
os.environ["MINIO_USER"] = "admin"
os.environ["MINIO_PASSWORD"] = "your_secure_password"
os.environ["MINIO_ENDPOINT"] = "https://minio.terrafoxai.com"
# Initialize the connection
dl.connect()
3. Advanced Usage: Connecting to Different Infrastructures
Terrafox Data Lake is designed to be dynamic and reusable. Switch seamlessly between production environments, staging clusters, or local development instances.
import terrafox_datalake as dl
# Connect to an alternate cluster or local MinIO instance
dl.connect(endpoint="https://local-testing-cluster.local:9000")
# Read data from a different environment
df = dl.read_csv(
bucket="test-bucket",
key="metrics.csv"
)
Example: Reading Data from a Data Lake
import terrafox_datalake as dl
dl.connect()
df = dl.read_csv(
bucket="bigdata",
key="vehicles.csv"
)
print(df.head())
Architecture Requirements
- Python: 3.7 or higher
- Supported Storage: MinIO (S3-compatible object storage)
Dependencies
- pandas
- boto3
- s3fs
- fsspec
Features
- Secure interactive authentication
- Environment variable support for automation
- Native MinIO integration
- S3-compatible object storage access
- Simple DataFrame-based data retrieval
- Flexible infrastructure switching between environments
License
MIT License
Metadata
Release files for terrafox-datalake 0.1.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| terrafox_datalake-0.1.10.tar.gz | 4.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| terrafox_datalake-0.1.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.8 kB
Release files / terrafox_datalake-0.1.10.tar.gz
| Download URL | terrafox_datalake-0.1.10.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9473114f51ac4c6a291678c18a7d60b7374eaac65dfe518036c4ab0c9ac1aa8b
|
|
BLAKE2b-256 checksum How to use checksums |
b328b77504244f773dad84031f4c4aaa804cb1f72f48fd4fcbc0bc289ab84b67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / terrafox_datalake-0.1.10-py3-none-any.whl
| Download URL | terrafox_datalake-0.1.10-py3-none-any.whl |
|---|---|
| Size | 5.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a02ba8455867afa2d0d040306e3c7ca9083410cae747e8d6587faf8819eb4e22
|
|
BLAKE2b-256 checksum How to use checksums |
b10b48c5aa9877aea102099ef535f48fbc978567c5a2ecc352349b24ba455365
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|