Scalable engine to ingest, process, and query large datasets—transactions, logs, events, and analytics—directly from flat files.
Project description
Flatseek
Full-text search over flat files and remote datasets. No JVM. No cluster. No operational overhead.
Explore, filter, and aggregate CSV/JSON like a spreadsheet with search-grade power — run locally or query directly from Public/HuggingFace datasets.
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
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
# → API:
# http://localhost:8000
# → Dashboard:
# http://localhost:8000/dashboard
# 4. Query
flatseek search ./data "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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flatseek-0.1.5.tar.gz.
File metadata
- Download URL: flatseek-0.1.5.tar.gz
- Upload date:
- Size: 167.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a226bf49a049a45286e920a17cc9d4bb7caaa10715c8c1e9d60625cbad7af5d
|
|
| MD5 |
379830205c12ad385facfae387de6ebb
|
|
| BLAKE2b-256 |
ac790a662d52a9547eeea63ef29598ab23f4228b656a4bbfddf9a2b797b2a18f
|
Provenance
The following attestation bundles were made for flatseek-0.1.5.tar.gz:
Publisher:
publish.yml on flatseek/flatseek
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flatseek-0.1.5.tar.gz -
Subject digest:
1a226bf49a049a45286e920a17cc9d4bb7caaa10715c8c1e9d60625cbad7af5d - Sigstore transparency entry: 1514299843
- Sigstore integration time:
-
Permalink:
flatseek/flatseek@5f2712c9cb792832524bfb0f032a7062480aab42 -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/flatseek
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5f2712c9cb792832524bfb0f032a7062480aab42 -
Trigger Event:
release
-
Statement type:
File details
Details for the file flatseek-0.1.5-py3-none-any.whl.
File metadata
- Download URL: flatseek-0.1.5-py3-none-any.whl
- Upload date:
- Size: 175.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
310c3b82c7bee874920e8f0a31333329198728e61d14837bb5d5298e10c86e0a
|
|
| MD5 |
ede9448118ac402616b18369e7e9972d
|
|
| BLAKE2b-256 |
657e36606eecdd6e9ff5b37f83d1fc23e54386c8403cebcce8e91810f19dfe68
|
Provenance
The following attestation bundles were made for flatseek-0.1.5-py3-none-any.whl:
Publisher:
publish.yml on flatseek/flatseek
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flatseek-0.1.5-py3-none-any.whl -
Subject digest:
310c3b82c7bee874920e8f0a31333329198728e61d14837bb5d5298e10c86e0a - Sigstore transparency entry: 1514299952
- Sigstore integration time:
-
Permalink:
flatseek/flatseek@5f2712c9cb792832524bfb0f032a7062480aab42 -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/flatseek
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5f2712c9cb792832524bfb0f032a7062480aab42 -
Trigger Event:
release
-
Statement type: