Skip to main content

sekejap

sekejap is a graph-first, embedded multimodel database that stores your data in several forms at once: plain records, graph relationships, geographic shapes, vectors, and full text. You can query and combine them in a single SQL statement.

It runs inside your application, like SQLite, with no separate server to install or manage. Store your database on local disk for lightweight and offline use, or use S3-compatible object storage for datasets that grow beyond a single machine.

(“sekejap” is Indonesian for “a brief moment”, reflecting how quickly you can set it up and start working with your multimodel data.)

It's available as a Rust/Python/Dart/Kotlin/Swift/Java/Node.js/Go library, and a command-line tool.

📖 Documentation: docs/ — a usage guide (the query language, including the SELECT … FROM MATCH graph reference) and a developer guide (architecture diagrams, storage, indexes, invariants).

📄 Paper: the sekejap architecture and its six-category benchmark (relational · graph · spatial · vector · full-text · hybrid, vs SQLite, DuckDB, PostgreSQL/PostGIS/pgvector, Neo4j, ArangoDB, Qdrant, Redis, Elasticsearch, Solr, Meilisearch) are described in a paper submitted to CIDR 2027. Reproduction harnesses, datasets, and the measured results live in eval/.


Why you might want it

Applications often need more than one kind of database at the same time:

  • a relational store for structured records,
  • a graph database for relationships ("who is connected to what"),
  • a spatial index for location queries ("what's near me"),
  • a vector store for similarity search over embeddings,
  • a full-text search engine for matching words in text.

Running and keeping all of those in sync is a lot of moving parts. sekejap puts them in one embedded engine behind one query language, so a single query can use several of them together.

It's a good fit for:

  • Local and mobile apps — runs in-process with no server and a small footprint, so it works offline on phones and edge devices.
  • Hybrid search and RAG — rank results by combining vector similarity, geographic location, and text relevance in a single query, then follow the graph to pull in related records as context for a model.
  • On-device memory for AI — an agent or robot records what it observes (place, time, a note, a perception vector) as it happens, and later recalls it by any mix of location, similarity, and relationships — a private, queryable memory with no network round-trip.

Install

PythonPyPI

pip install sekejap                 # includes S3 support

Rustcrates.io

cargo add sekejap                   # library
cargo add sekejap --features s3     # library, with S3 support
cargo install sekejap-cli           # command-line tool

Node.jsnpm

npm install sekejap                 # prebuilt native binaries, no toolchain needed

Dart / Flutterpub.dev

flutter pub add sekejap             # or: dart pub add sekejap

Kotlin / JavaMaven Central

// build.gradle.kts
implementation("com.zebflow:sekejap:0.13.5")

Swift — Swift Package Manager (see wrappers/swift/)

// Package.swift
.package(url: "https://github.com/sekejapdb/sekejap-swift.git", from: "0.13.0")

Go — Go modules (see wrappers/go/)

go get github.com/sekejapdb/sekejap/wrappers/go

C / C++ and other native callers — the stable C ABI in wrappers/c/ (build from source; ships a single header + static/shared library).


A first look

The examples below all use the same small dataset: some tourists, the flights they arrived on, and places, restaurants, and dishes to visit and eat.

1. Create some tables

A table needs a _key column as its primary key. Other columns can be ordinary types (TEXT, INTEGER, REAL, TIMESTAMPTZ) or one of the special ones: GEO for geography, VECTOR for embeddings.

from sekejap import DB

db = DB("./bali")   # a directory on disk; created if it doesn't exist

db.execute("""
    CREATE TABLE tourists (
        _key      TEXT PRIMARY KEY,
        name      TEXT,
        home_city TEXT,
        arrival   TIMESTAMPTZ,
        taste     VECTOR          -- an embedding of what this person likes
    )
""")
db.execute("CREATE TABLE flights     (_key TEXT PRIMARY KEY, airline TEXT, duration_hours INTEGER)")
db.execute("CREATE TABLE restaurants (_key TEXT PRIMARY KEY, name TEXT, area TEXT, geometry GEO)")
db.execute("""
    CREATE TABLE dishes (
        _key TEXT PRIMARY KEY, name TEXT, price INTEGER, protein_g INTEGER,
        description TEXT, geometry GEO, open_now BOOLEAN, embedding VECTOR
    )
""")

2. Add indexes for the query types you'll use

An index makes a certain kind of lookup fast. You only need the ones your queries actually use.

db.execute("CREATE INDEX ON dishes USING spatial (geometry)")     # location queries
db.execute("CREATE INDEX ON dishes USING bm25    (description)")  # text relevance
db.execute("CREATE INDEX ON tourists USING hnsw  (taste)")        # vector similarity

3. Insert data

db.execute("INSERT INTO tourists (_key, name, home_city, arrival) VALUES ('chloe', 'Chloe', 'Melbourne', '2024-06-01')")
db.execute("INSERT INTO tourists (_key, name, home_city, arrival) VALUES ('aiym',  'Aiym',  'Almaty',    '2024-06-02')")

# A relationship (edge): tourist "chloe" flew on flight "qf-mel".
db.execute("INSERT ('tourists/chloe')-[:flew_on]->('flights/qf-mel')")

4. Run a query

Ordinary SQL works as you'd expect:

db.query("SELECT name, home_city FROM tourists WHERE home_city = 'Melbourne'")
# → { name: "Chloe", home_city: "Melbourne" }

That's the whole loop: create tables, add the indexes you need, insert rows and relationships, and query. The rest of this README shows what each data model can do, then how to combine them.


The five data models

Each section is a short, self-contained example. They build toward the last one, where several models are used in a single query.

Records and filters (SQL)

Standard SQL — SELECT, WHERE, ORDER BY, GROUP BY, aggregates.

db.query("""
    SELECT area, COUNT(*) AS n
    FROM restaurants
    GROUP BY area
    ORDER BY n DESC
""")

Relationships (graph)

A relationship between two rows is called an edge. You query edges with a MATCH pattern inside FROM. Everything around the MATCH is ordinary SQL.

# Follow one edge: which flight did Chloe arrive on?
db.query("""
    SELECT f.airline AS airline, f.duration_hours AS hours
    FROM MATCH (t:tourists)-[:flew_on]->(f:flights)
    WHERE t._key = 'chloe'
""")

The pattern reads left to right: start at a tourists row (t), follow a flew_on edge, arrive at a flights row (f). The arrow direction matters — -[:e]-> follows edges forward, <-[:e]- follows them backward.

You can follow a chain of several hops, and *1..3 means "between 1 and 3 hops":

# Places reachable within 2 "near" hops of somewhere Chloe visited.
# DISTINCT removes duplicates when a place can be reached more than one way.
db.query("""
    SELECT DISTINCT p._key AS place
    FROM MATCH (c:tourists)-[:visited]->(m:places)-[:near*1..2]->(p:places)
    WHERE c._key = 'chloe'
""")

Location (spatial)

A GEO column holds a shape (a point, line, or polygon). With a spatial index you can ask distance and containment questions.

# Restaurants within 5 km of a point (longitude, latitude).
db.query("""
    SELECT name FROM restaurants
    WHERE ST_DWithin(geometry, POINT(115.168 -8.690), 5000.0)
""")

Similarity (vector)

A VECTOR column holds an embedding — a list of numbers that captures the "meaning" of something. With an HNSW index you can find the rows whose vectors are closest to a given one.

# The 5 tourists whose taste is most similar to a given taste vector.
db.query("""
    SELECT name FROM tourists
    WHERE VECTOR_NEAR(taste, [0.9, 0.1, 0.0, 0.0], 5)
""")

Text (full-text)

For matching words in text, sekejap offers three tools:

  • ILIKE '%word%' — simple substring match (fast with a gin index).
  • BM25(field, 'query') — relevance scoring, like a classic search engine.
  • SEARCH('query') — a positional search index with typo tolerance.
# Dishes whose description is relevant to "grilled chicken", best first.
db.query("""
    SELECT name FROM dishes
    WHERE BM25(description, 'grilled chicken') > 0.0
    ORDER BY BM25(description, 'grilled chicken') DESC
""")

Time

Timestamps are ordinary columns; a few helper functions work on them.

db.query("""
    SELECT name, AGE_DAYS(arrival) AS days_here, NOW() AS current_time
    FROM tourists WHERE _key = 'chloe'
""")
# → { name: "Chloe", days_here: 5, current_time: "2024-06-06T09:00:00Z" }

Combining models in one query

This is the point of a multi-model database: asking one question that would otherwise need several systems.

"What should Chloe order for delivery right now?" — a dish that is near her, still open, in her price range, has enough protein, matches a craving, and is ranked by how well it fits both the words she typed and her taste.

db.query("""
    SELECT r.name AS restaurant, d.name AS dish, d.price AS price
    FROM MATCH (r:restaurants)-[:serves]->(d:dishes)
    WHERE d.open_now = true
      AND d.price BETWEEN 40000 AND 90000                        -- price range (IDR)
      AND d.protein_g >= 25                                      -- enough protein
      AND ST_DWithin(d.geometry, POINT(115.168 -8.690), 5000.0)  -- within 5 km (metres)
      AND BM25(d.description, 'grilled chicken healthy') > 0.0    -- matches the craving
    ORDER BY BM25(d.description, 'grilled healthy') * 0.6         -- text relevance
           + VECTOR_COSINE(d.embedding, [0.7,0.3,0.0,0.0]) * 0.4 -- taste similarity
      DESC
    LIMIT 10
""")

The WHERE clause narrows the results using the graph, spatial, scalar, and text models. The ORDER BY combines a text score and a vector score into one ranking. The whole thing is one statement.

A second example — a personal journal where each entry records a place, a time, some text, and a "mood" vector. Because the entries are just rows (and can be linked into the graph), you can search them by text, by similarity, or by time:

db.execute("""
    CREATE TABLE diary (
        _key TEXT PRIMARY KEY, author TEXT, place TEXT,
        logged_at TIMESTAMPTZ, reflection TEXT, mood VECTOR
    )
""")
db.execute("CREATE INDEX ON diary USING search (reflection)")   # search the text
db.execute("CREATE INDEX ON diary USING hnsw   (mood)")         # find similar moods

# "Where did I write about feeling small?" — text search over the entries.
db.query("""
    SELECT place, logged_at FROM diary
    WHERE author = 'chloe' AND SEARCH('small still')
    ORDER BY logged_at
""")

# "Find an earlier moment that felt like tonight." — nearest mood vector.
db.query("""
    SELECT place, reflection FROM diary
    WHERE author = 'chloe'
    ORDER BY mood <=> [0.2, 0.7, 0.1, 0.0] ASC
    LIMIT 1
""")

Data types

Type SQL keyword Stored as Use for
Text TEXT UTF-8 string names, categories, keys
Integer INTEGER 64-bit integer prices, durations, counts
Float REAL 64-bit float scores, ratings, weights
Boolean BOOLEAN true / false flags, toggles (e.g. open_now)
Timestamp TIMESTAMPTZ ISO-8601 date/time arrivals, log times
Geometry GEO GeoJSON shape points, areas, routes
Vector VECTOR list of floats embeddings (taste, mood, images)
JSON JSON arbitrary JSON nested / unstructured data
  • GEO accepts any GeoJSON geometry — Point, Polygon, LineString, MultiPolygon.
  • VECTOR is written as an array literal: [0.12, -0.03, 0.87, ...].

Indexes

An index speeds up one kind of query. Create only the ones you need.

Index USING keyword Makes this fast
Hash hash equality: field = 'x', IN (...)
B-tree btree ranges and ordering: >, <, BETWEEN, ORDER BY
GIN gin substring text match: ILIKE '%pattern%'
Spatial spatial location: ST_DWithin, ST_Contains, ST_Within, ST_Intersects
HNSW hnsw vector similarity: VECTOR_NEAR(...), <=> ordering
BM25 bm25 ranked text search: BM25(field, 'query')
Search search positional, typo-tolerant search: SEARCH('query')
CREATE INDEX ON dishes   USING spatial (geometry)
CREATE INDEX ON dishes   USING bm25    (description)
CREATE INDEX ON diary    USING search  (reflection)
CREATE INDEX ON tourists USING hnsw    (taste)

All index types survive a restart. After a large bulk load, run compact() (.compact in the CLI) so later startups are fast. A single index can be rebuilt in place with REINDEX ON <table> USING <index> (<field>).


Interfaces

sekejap has three ways to use it. They query the same database.

SQL

The main interface. A quick tour of what the dialect supports:

-- Schema
CREATE TABLE places (_key TEXT PRIMARY KEY, name TEXT, category TEXT, geometry GEO)
ALTER TABLE places ADD COLUMN rating REAL
ALTER TABLE places RENAME COLUMN category TO kind

-- Rows
INSERT INTO places (_key, name, category) VALUES ('uluwatu', 'Uluwatu Temple', 'temple')
UPDATE places SET rating = 4.8 WHERE _key = 'uluwatu'
DELETE FROM places WHERE kind = 'closed'

-- Edges, optionally with properties
INSERT ('tourists/chloe')-[:visited {rating: 4.8, hours: 2}]->('places/uluwatu')
DELETE ('tourists/chloe')-[:visited]->('places/uluwatu')

-- Graph traversal: forward -[:e]-> and backward <-[:e]-
SELECT dest._key AS place
FROM MATCH (a:places)-[:near*1..3]->(dest:places)
WHERE a._key = 'seminyak-beach'

-- Aggregation over a pattern: COUNT / SUM / AVG / MIN / MAX, and COUNT(DISTINCT ...)
SELECT p._key AS place, COUNT(DISTINCT t.home_city) AS cities
FROM MATCH (p:places)<-[:visited]-(t:tourists)
GROUP BY p._key
ORDER BY cities DESC

-- Edge properties: a named edge (-[v:type]->) exposes its rating + metadata
SELECT t.name AS visitor, v.rating AS rating
FROM MATCH (p:places)<-[v:visited]-(t:tourists)
WHERE p._key = 'uluwatu'
ORDER BY v.rating DESC

-- Multi-stage traversal: carry a result into a follow-on MATCH with WITH
SELECT d.name AS dish, COUNT(*) AS orders
FROM MATCH (c:tourists)-[:similar_taste]->(peer:tourists)
WHERE c._key = 'chloe'
WITH peer
MATCH (peer)-[:ate]->(d:dishes)
GROUP BY d.name

-- Shortest path: 0 rows if unreachable, 1 row if a path exists
SELECT a.name AS from_n, b.name AS to_n, length(r) AS hops, nodes(r) AS via
FROM MATCH SHORTEST (a:tourists)-[r*]->(b:dishes)
WHERE a._key = 'chloe' AND b._key = 'betutu-chicken'

-- Spatial, vector, and text
SELECT * FROM places   WHERE ST_DWithin(geometry, POINT(115.168 -8.690), 5000.0)
SELECT * FROM tourists WHERE VECTOR_NEAR(taste, [0.9, 0.1, 0.0, 0.0], 5)
SELECT * FROM places   WHERE name ILIKE '%uluwatu%'

-- Transactions: all statements commit together, or none do
BEGIN
INSERT ('tourists/chloe')-[:booked]->('flights/qf-mel')
INSERT ('tourists/chloe')-[:stayed_at]->('villas/seminyak-01')
COMMIT

-- Inspect the database
SHOW TABLES
SHOW EDGES FROM tourists TO places

Rust

Besides raw SQL, the Rust library has a builder API for lower-level control:

use sekejap::CoreDB;

let mut db = CoreDB::open("./bali")?;

// Restaurants within 3 km of a point (latitude, longitude, metres).
let nearby = db.collection("restaurants")
    .st_dwithin(-8.690, 115.168, 3000.0)
    .collect();

// Filter and sort.
let picks = db.collection("dishes")
    .where_gte("protein_g", 25.0)
    .sort("price", true)   // true = ascending
    .take(10)
    .collect();

// Add a plain edge.
db.link("tourists/chloe", "places/uluwatu", "visited");

// Add an edge with attributes (any names; primitives are stored efficiently).
db.link_meta("tourists/chloe", "places/uluwatu", "visited", r#"{"rating": 4.8, "hours": 2}"#)?;

Python (with pandas)

The Python library can load from and return pandas DataFrames:

import pandas as pd
from sekejap import DB

db = DB("./bali")

# Load a DataFrame as rows in a table.
df = pd.read_csv("tourists.csv")
db.df.load_nodes(df, "tourists", id_col="tourist_id",
                 mapping={"tourist_id": "_key", "full_name": "name"})

# Get query results back as a DataFrame.
result = db.df.query("SELECT * FROM dishes WHERE protein_g >= 25")

Data larger than local disk (S3)

sekejap can keep its data on S3-compatible storage and fetch pieces on demand, so you can query datasets bigger than the local disk. Works with AWS S3, MinIO, Cloudflare R2, and other S3-compatible stores.

from sekejap import DB

db = DB.open_s3("s3://my-bucket/bali",
                access_key_id="AKID...", secret_access_key="secret...",
                region="ap-southeast-1",
                cache_budget_bytes=256 * 1024 * 1024)   # in-memory cache size

# MinIO / R2 / other S3-compatible stores: point at their endpoint
db = DB.open_s3("s3://my-bucket/bali", "AKID...", "secret...", "auto",
                cache_budget_bytes=256 * 1024 * 1024,
                endpoint="https://<account>.r2.cloudflarestorage.com")

db.query("SELECT * FROM places WHERE ST_DWithin(geometry, POINT(115.168 -8.690), 10000.0)")

Command-line tool

sekejap                                   # in-memory session
sekejap ./bali                            # open a database on disk
sekejap ./bali "SELECT * FROM places;"    # run one statement and exit
echo "SELECT ...;" | sekejap ./bali       # pipe in a script

Inside the interactive session:

sekejap> CREATE TABLE places (_key TEXT, name TEXT, geometry GEO);
sekejap> SELECT * FROM places WHERE ST_DWithin(geometry, POINT(115.168 -8.690), 5000.0);
sekejap> .tables          # list tables
sekejap> .schema places   # show a table's columns
sekejap> .compact         # compact the database after a big load
sekejap> .help

License

MIT

Download files

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

Source Distribution

sekejap-0.16.1.tar.gz (1.0 MB view details)

Uploaded Source

Built Distributions

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

sekejap-0.16.1-cp313-cp313-win_amd64.whl (5.1 MB view details)

Uploaded CPython 3.13Windows x86-64

sekejap-0.16.1-cp313-cp313-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

sekejap-0.16.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

sekejap-0.16.1-cp312-cp312-win_amd64.whl (5.1 MB view details)

Uploaded CPython 3.12Windows x86-64

sekejap-0.16.1-cp312-cp312-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

sekejap-0.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

sekejap-0.16.1-cp311-cp311-win_amd64.whl (5.1 MB view details)

Uploaded CPython 3.11Windows x86-64

sekejap-0.16.1-cp311-cp311-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

sekejap-0.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

sekejap-0.16.1-cp310-cp310-win_amd64.whl (5.1 MB view details)

Uploaded CPython 3.10Windows x86-64

sekejap-0.16.1-cp310-cp310-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

sekejap-0.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

sekejap-0.16.1-cp39-cp39-win_amd64.whl (5.1 MB view details)

Uploaded CPython 3.9Windows x86-64

sekejap-0.16.1-cp39-cp39-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

sekejap-0.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

sekejap-0.16.1-cp38-cp38-win_amd64.whl (5.1 MB view details)

Uploaded CPython 3.8Windows x86-64

sekejap-0.16.1-cp38-cp38-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

sekejap-0.16.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file sekejap-0.16.1.tar.gz.

File metadata

  • Download URL: sekejap-0.16.1.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.16.1.tar.gz
Algorithm Hash digest
SHA256 3821e999a0d4cd2a995a77e97d6bb16c94c48f2176b0acac173b63224c54120e
MD5 27e731870f3a2d4e7f8dd19f0ab218f4
BLAKE2b-256 24dfa53c83cfc8dab62d084ab621022e9eacc42e5c495a9ffda2f50b2d26d35b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1.tar.gz:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: sekejap-0.16.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.16.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 983c9a15fc2ce8fd92fcbaa15de067e4a2758a075beb184c7c3ad185a3c55374
MD5 eb6254c3c227ef6cdf0132e1a4c4f5a4
BLAKE2b-256 cdd1105705dadfe09cc20a990db7f90e85c8c6b0e619f25a9d71d5eb9963b6b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp313-cp313-win_amd64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for sekejap-0.16.1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 06b98ea4375219d63790c338dc096f845766562df205167e099e24f4a9534092
MD5 e7988a8c526b38b0c60905bdc5bc3f7d
BLAKE2b-256 499cdb0aba8a0ebbf1f50f84d110604ee7ed46e8a44b8a307489ccc98bfdf547

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sekejap-0.16.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b18c753a3fb84f162ceb32417d9cebdd89c54e0f21a5b48012ce58c823d84853
MD5 8b01ef5b055fd9b2388df4d0b1433db7
BLAKE2b-256 8b706b3da69ac7210157ae8cdde98d119a85045d9baad47bb00e78b23a7be65e

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: sekejap-0.16.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.16.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a6edc19ac192cdb7ea5fe903fba012130b5a999d3e8bb5db73b54f558ee6c7c8
MD5 e141cbc0a09946f87b6e32c2ac696f0b
BLAKE2b-256 2b80daac52e7526b7adae8a3d9a3799e0bd855296728703c230d70e5c719d3db

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for sekejap-0.16.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9d82ceb41a8775d02425d09cc459c28b211608c8db5e329763e1fada00b0252a
MD5 454053f851b6bbe0336f5638493afdcb
BLAKE2b-256 c64dccacb3825675aa17bf9e665c6cf80d49916ecf43c9a7906d18c626ec2de8

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sekejap-0.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c66a9b47c3779fcc10ef2bdc5a82238bf482888f69f26c4ba2076df77833225b
MD5 3e69c25e424300b0a6f69a45039ed527
BLAKE2b-256 959572c1681d13b625e4b01c1f15150c43ac94cbf8e5182c8c98ca7f1db52051

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: sekejap-0.16.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.16.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1a4e2f560a1cdcfa64c9b88f4524cfe1ff8464cc16356debb42ef300aba45058
MD5 be6b187c45f7595320ad179bd38194da
BLAKE2b-256 c157fb9944e59ccd1741281f4f4f3b4914a99baebf7aee27caeb7bba647b6fc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for sekejap-0.16.1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 53a9e26b7664c9f940dbda48f17425e01f43064ec0359f815945a54cfbf3a0d4
MD5 31f9cd9f1c75bca5b9510f9b910fb6a3
BLAKE2b-256 a069c44d4b1601d623d4fb74493684d25107fcc593a347299afff603c4678e2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sekejap-0.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 378151f68a296c6a464c38fd5302afa1b37928f7135ec62fc54c3761d7c37d9f
MD5 cb99c5a500ec35da108d7a89c60ff500
BLAKE2b-256 f9007b1f160397835ab9920543ae1b79613b15f5be0dd4f9148b3f578944b7a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: sekejap-0.16.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.16.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9c3c935458e8d7d496662912583f42588c30ca5b56eb8595cde419e8117750bb
MD5 4993299ca28af0f3be328c8821a0256c
BLAKE2b-256 bdbaba9b6c56f2150b6e2be62958b3c103ee78ef602501ee18c256e68cd0a422

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp310-cp310-win_amd64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for sekejap-0.16.1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 45f4d59b8e7a1eb9ce8e53f5b0482b4e19e52222b99965d706650a2f138b2fc6
MD5 1645200e3aabce0cf56957dc454901bd
BLAKE2b-256 ecef317ea8e3d436dc2b21324e187fc8b16553eccebf76e03acd80c0301431ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sekejap-0.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ac823983bd189e32ae267af9c981eeeeb285157e27adb105d86b311b6ae80d7b
MD5 12a9b63ec3c674711728961c4c46aeed
BLAKE2b-256 5382e916208b9951b034995b3539f062874e1836becd97dc9737a716f93b0926

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: sekejap-0.16.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.16.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1c8b5db1e214dc616f1c54c8b5897e240b4fac4dc7dcef7d32a89052c71dbf29
MD5 b25427d5f68371f89b257e33b4c9a3de
BLAKE2b-256 f04be54660de47dd20ef83682bff0fdaffa81c705adfb2c307c6d370ad77e49f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp39-cp39-win_amd64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for sekejap-0.16.1-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c2ffcd58c8fb646e02d8a5f275b6aa2b424a1a011bea1214e099c1ab10a489fc
MD5 ecec43fd3dd15881b54b60d885bd27ee
BLAKE2b-256 36d3a8fb6d14b92d3409df3f4979e5452323b3e64d808a6e744bde95196a2df9

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp39-cp39-manylinux_2_28_aarch64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sekejap-0.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd640c73846efdda0fdc36bb310120ce6b1ebc83821de19a6507fa270aaf54fd
MD5 ca0f05d0b60fbadc2b47c8cdaec1e056
BLAKE2b-256 f79d3fdc2d60d8e4278702585143a8a80b36e3845a79eadfbea7502088c44580

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: sekejap-0.16.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.16.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 53fe1d3ce5aac7ad6eb3278b74d1d0c5338af4a5afda06c57be895a7960bb88f
MD5 5f6c524be01540b12999200b78427b04
BLAKE2b-256 df66823b9e5470134dfa0252bd58d25111e4f0166e33ae0c3bba94e96f5cc93b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp38-cp38-win_amd64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for sekejap-0.16.1-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 86451b53c4e8de1ca110f8dad6ca0547a287277f240d968ac02dd4514ff38517
MD5 c4a23bdb0cdd1ffd3e5d28da698ccded
BLAKE2b-256 bf04667a382812635bd4f8d0e8bd60250bcc9d1f7eae3248af5f5272dcc5e165

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp38-cp38-manylinux_2_28_aarch64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

File details

Details for the file sekejap-0.16.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sekejap-0.16.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c08688c58e4aeaa2eee05a78835dd8fcead580a72298a2ac8d89e3cc1b53c85d
MD5 6d82a1270eb6a7a1bdacb8eff99b9342
BLAKE2b-256 65ab9e9a2492da805976cf2beeeff026666f29533b8285d49ecc895815d44be2

See more details on using hashes here.

Provenance

The following attestation bundles were made for sekejap-0.16.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sekejapdb/sekejap

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

Release history Release notifications | RSS feed

0.16.5

19 files

0.16.4

19 files

0.16.2

19 files

This release

0.16.1 This release

19 files

0.16.0

19 files

0.15.0

19 files

0.14.0

19 files

0.13.5

19 files

0.13.4

19 files

0.13.3

19 files

0.13.2

19 files

0.13.1

19 files

0.13.0

19 files

0.12.1

19 files

0.12.0

19 files

0.11.3

19 files

0.10.1

19 files

0.10.0

19 files

0.9.1

19 files

0.8.18

19 files

0.8.17

19 files

0.8.16

19 files

0.8.15

19 files

0.8.14

19 files

0.8.13

19 files

0.8.11

19 files

0.8.10

19 files

0.8.9

19 files

0.8.8

19 files

0.8.7

19 files

0.8.6

19 files

0.8.4

19 files

0.8.2

19 files

0.8.1

19 files

0.8.0

19 files

0.7.0

19 files

0.6.7

19 files

0.6.6

19 files

0.6.5

19 files

0.6.4

19 files

0.6.3

19 files

0.6.0

19 files

0.5.3

19 files

0.5.1

12 files

0.5.0

12 files

0.4.0

12 files

0.3.0

12 files

0.2.4

12 files

0.2.3

12 files

0.2.0

12 files

0.1.8

12 files

0.1.6

12 files

0.1.5

1 file

0.1.4

1 file

0.1.3

1 file

0.1.2

1 file

0.1.1

1 file

0.1.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page