Skip to main content

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 botocore configuration 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)

Source distribution for terrafox-datalake 0.1.10
File Size Uploaded
terrafox_datalake-0.1.10.tar.gz 4.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for terrafox-datalake 0.1.10
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.1.12

2 release files

This release

0.1.10 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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