Skip to main content

Scalable engine to ingest, process, and query large datasets—transactions, logs, events, and analytics—directly from flat files.

Project description

Flatseek

Flatseek

Full-text search over flat files and remote datasets. No JVM. No cluster. No operational overhead.

Flatlens Dashboard

Explore, filter, and aggregate CSV/JSON like a spreadsheet with search-grade power — run locally or query directly from Public/HuggingFace datasets.

Python License Tests PyPI version

Demo: flatlens.demo.flatseek.io  ·  Docs: flatseek.io/docs  ·  Dashboard: flatlens  ·  Benchmark: flatbench  ·  Hosted Datasets: HuggingFace


Why Flatseek

  • Exact-by-design engine. Query results are deterministic with full-count accuracy on flat files.
  • No infra required. Run locally as a single binary or deploy as a lightweight API sidecar.
  • Millisecond search performance. Built for interactive exploration over large datasets.
  • Zero-ops distribution. Store and query indexes directly from HuggingFace, S3, or Vercel Blob.
  • Instant dataset access. Paste a dataset URL in Flatlens and start searching immediately — no ingestion pipeline needed.
  • Built-in analytics dashboard. Spreadsheet-like experience with Kibana-style filtering, aggregation, and exploration — closer to Microsoft Excel for structured search workflows.
  • Developer-first embedding. Use as a Python library or full API without running a cluster or managing nodes.

Search engine for public datasets instantly

Flatseek can query indexes hosted remotely — no need to deploy or pay for expensive storage infrastructure. Build your Flatseek index locally, upload it to any free-cheap publicly accessible storage service, and instantly search and aggregate data from anywhere.

Supported providers:

  • HuggingFace Datasets / Buckets
  • S3-compatible storage
  • Vercel Blob
  • Static HTTP hosting

Samples

Dataset Rows
Local Sample 500 searchable rows
https://huggingface.co/buckets/flatseek/flatdata 10K searchable rows
https://huggingface.co/datasets/flatseek/sample-articles 100K articles
https://huggingface.co/datasets/flatseek/sample-adsb 100K ADS-B records
https://huggingface.co/datasets/flatseek/sample-encrypted 100K encrypted rows Password: flatseek

Encrypted datasets are supported with per-request passphrases.


Performance

500K rows, article schema, SSD. Flatseek is 2× faster on search than Elasticsearch with exact counts where others silently miss.

Metric Flatseek Elasticsearch
Search p50 7.9ms 16.1ms
Range query hits 501,011 (exact) 505,044
Build 500K rows 216s 113s

Full comparison (tantivy, typesense, whoosh, zincsearch): docs/benchmark.md or bench.flatseek.io


Quick Start

# 1. Install
curl -fsSL flatseek.io/install.sh | sh

# 2. Build index
flatseek build ./data.csv -o ./data

# 3. Serve API + dashboard
flatseek serve -d ./data

# Pack index into single portable file
flatseek pack ./data -o ./data.fsk

# Serve API + dashboard from single portable index file
flatseek serve data.fsk


# → API:
# http://localhost:8000

# → Dashboard:
# http://localhost:8000/dashboard

# 4. Query
flatseek search ./data "program:raydium AND amount:>1000000"

# Query from single portable file
flatseek search data.fsk "program:raydium AND amount:>1000000"

Core Capabilities

  • Full text search — tokenized, trigram-backed wildcard (*kube*)
  • Range queries — exact counts on numeric, date, keyword fields
  • Aggregations — terms, stats, min/max, cardinality, date histogram
  • Array fields — matches any element (tags:graphql)
  • Nested objects — dot-path queries (address.city:Jakarta)
  • Boolean operators — AND, OR, NOT with grouping
  • Encryption at rest — ChaCha20-Poly1305
  • Parallel indexing — multi-worker builds
  • Remote querying — search HuggingFace datasets without downloading
  • REST API — Elasticsearch-compatible endpoints

See docs/ for full details.


Docs

Guide Description
Quick Start Install, index, query — in 5 minutes
Indexing Formats, column types, parallel builds, encrypt
Query Language Full syntax reference
CLI Reference All CLI commands
REST API API endpoints
Remote Storage HuggingFace, S3, Vercel Blob
Schemas Supported Column Types
Architecture Structural and behavioral map
Internals Deep technical breakdown

Install

Recommended — one-liner

curl -fsSL flatseek.io/install.sh | sh

Includes API server + Flatlens dashboard (http://localhost:8000/dashboard).

PyPI

pip install flatseek

CLI only. For Flatlens dashboard:

git clone https://github.com/flatseek/flatlens

From source

git clone https://github.com/flatseek/flatseek.git

cd flatseek
pip install -e .

Requirements: Python ≥ 3.10, macOS / Linux / WSL.


Contributing

PRs welcome. Run tests:

pytest src/flatseek/test/test_search.py -v   # accuracy tests
pytest src/flatseek/test/test_api.py         # API smoke tests
pytest src/flatseek/test/test_cli.py         # CLI integration

License

Apache 2.0. See LICENSE.

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

flatseek-0.1.6.tar.gz (202.9 kB view details)

Uploaded Source

Built Distribution

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

flatseek-0.1.6-py3-none-any.whl (204.7 kB view details)

Uploaded Python 3

File details

Details for the file flatseek-0.1.6.tar.gz.

File metadata

  • Download URL: flatseek-0.1.6.tar.gz
  • Upload date:
  • Size: 202.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for flatseek-0.1.6.tar.gz
Algorithm Hash digest
SHA256 97ff5a6c5bbf213f4bc11d6c2008aec7c264a68bb7990f00b2ed7217eb282b94
MD5 06769136db6d5f15c84f1a342f4aa302
BLAKE2b-256 1f0bae3f725663ca443420ca47018312f909df55144eed64ebbbbc2704e906de

See more details on using hashes here.

Provenance

The following attestation bundles were made for flatseek-0.1.6.tar.gz:

Publisher: publish.yml on flatseek/flatseek

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

File details

Details for the file flatseek-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: flatseek-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 204.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for flatseek-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1d8f8fe14d93581ad197b8924353342b1e66f5e78a5b2c543c2ab989255bfef5
MD5 5081de7a11d52007d25f638236e30a6f
BLAKE2b-256 4ac8a6928ddf5d746a7318b2571e43706e9acf5ad036426e4043a68754c822da

See more details on using hashes here.

Provenance

The following attestation bundles were made for flatseek-0.1.6-py3-none-any.whl:

Publisher: publish.yml on flatseek/flatseek

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