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  ·  Dashboard: flatlens  ·  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): 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"

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
CLI Reference All CLI commands
REST API API endpoints
Schemas Supported Column Types
Architecture A structural and behavioral map of the Flatseek codebase
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 (~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.3.tar.gz (150.3 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.3-py3-none-any.whl (157.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flatseek-0.1.3.tar.gz
  • Upload date:
  • Size: 150.3 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.3.tar.gz
Algorithm Hash digest
SHA256 95a89d6eee497300bde0a1ff898858e65bf807a73427e837f1fe4977eca97632
MD5 903f7f14c90e233cac1815f9659bc1f8
BLAKE2b-256 06074fb6d932d55f79fdf81d6cd83412da264076bf13976596b39dd3d655b85a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: flatseek-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 157.9 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4a892e6358c219982ed5e4f605aa1640a2ddc6de7ac676ebcf0e3021400b551c
MD5 f5e560880b7c75ee6f6c09a10ea73582
BLAKE2b-256 67b6a88517452349c2dffa4031ff945a9b445eb28c9f1be58dfcc577dbe7c277

See more details on using hashes here.

Provenance

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