Skip to main content

Zero-dependency lazy dataframe. Lo-fi data processing for Python.

Project description

pyfloe

Zero-dependency, lazy dataframes for Python.

pyfloe is a pure-Python dataframe library with lazy evaluation, query optimization, and type safety — no external dependencies required.

import pyfloe as pf

result = (
    pf.read_csv("orders.csv")
    .filter(pf.col("amount") > 100)
    .with_column("rank", pf.row_number()
        .over(partition_by="region", order_by="amount"))
    .select("order_id", "region", "amount", "rank")
    .sort("region", "rank")
    .collect()
)

Installation

pip install pyfloe

Key features

  • Lazy evaluation — operations build a query plan; data flows only when you collect
  • Expression API — composable column expressions with arithmetic, comparisons, string methods, and conditionals
  • Window functionsrow_number, rank, dense_rank, cumsum, lag, lead, and more
  • Datetime handling — auto-detection from CSV, .dt accessor for extraction, truncation, and arithmetic
  • Streaming I/O — read and write CSV, TSV, JSONL, JSON, and fixed-width files with constant memory
  • Query optimizer — filter pushdown and column pruning
  • Type safety — TypedDict validation and TypedLazyFrame for IDE-friendly typed results

Documentation

Full documentation is available at edwardvaneechoud.github.io/pyfloe.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfloe-0.1.3.tar.gz (65.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyfloe-0.1.3-py3-none-any.whl (49.5 kB view details)

Uploaded Python 3

File details

Details for the file pyfloe-0.1.3.tar.gz.

File metadata

  • Download URL: pyfloe-0.1.3.tar.gz
  • Upload date:
  • Size: 65.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyfloe-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b59c2530b31326826cbbc6dc186f0463439951d1b852de880bf01099d7f3a4ea
MD5 c33c269846fd3105a52a30c179f355ac
BLAKE2b-256 5954735e4f58136594cf9b9121f8cab793429f67a7a3061c63b8b1bb2b339cd3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfloe-0.1.3.tar.gz:

Publisher: publish.yml on Edwardvaneechoud/pyfloe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfloe-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: pyfloe-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 49.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyfloe-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 416c64e1a4b68a35dd4e892c81a7cf94d060e8ae1a9b5b51774b2e9def237561
MD5 c484c28620919100eb7a099fd3fd13b5
BLAKE2b-256 77d3c1c824031c39574f20ca3dbab58516e33d5445a3de45ecbfcdbe3a2f2ca8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfloe-0.1.3-py3-none-any.whl:

Publisher: publish.yml on Edwardvaneechoud/pyfloe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page