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. No JVM. No cluster. No ops burden.

Flatlens Dashboard

Search, filter, and aggregate CSV/JSON visually — no setup required.

Python License Tests PyPI version

Demo: flatlens.demo.flatseek.io  ·  Docs: flatseek.io/docs  ·  Benchmark: flatbench


Why Flatseek

  • Correct always. Every query returns exact counts. No silent wrong results.
  • Single binary. No JVM, no cluster config, no heap tuning.
  • Fast enough. p50 2.2ms handles production traffic.
  • Embed or serve. Use as a library or run as a sidecar API.

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): 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"

No config files. No cluster.


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

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
Aggregation Aggregation types and examples
CLI Reference All CLI commands
REST API API endpoints
Architecture How Flatseek stores and queries data

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 (~110 cases)
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.2.tar.gz (149.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.2-py3-none-any.whl (157.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flatseek-0.1.2.tar.gz
  • Upload date:
  • Size: 149.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.2.tar.gz
Algorithm Hash digest
SHA256 f85fe3c621210b93df97c2e9ba62b15eabf2d10e0868ac0007f885d103b02c3b
MD5 fa80f41e5d477ebe57ba842d307570aa
BLAKE2b-256 c3ebc2fa9f90fad3ef9438f29eae22c92961df84bfb965e5776122ee89dab42b

See more details on using hashes here.

Provenance

The following attestation bundles were made for flatseek-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: flatseek-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 157.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c971d74cb60c7ef13e34a11c4fac362f1badf6523125a678be081f568a88e7e2
MD5 39d95ad41bea19328ccd7807cf7fa43c
BLAKE2b-256 de3d9ac5fa48f444ebab6c8c02b18f448ecb5fccaeac9279a9306399bc195ad8

See more details on using hashes here.

Provenance

The following attestation bundles were made for flatseek-0.1.2-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