Skip to main content

sekejap

Embedded, graph-first multi-model database. Graph traversal, spatial search, vector similarity, and full-text search — composable in a single query, zero external services, runs in-process or against S3.

sekejap means "a brief moment" in Indonesian. The world flies into one island, you explore it across every dimension, and the days run out fast. This README is a Bali holiday — Chloe's, mostly.

Built for workloads that need more than one data model at a time:

  • travel & discovery — "near me, loved by people like me, described as quiet sunset, still open"
  • hybrid RAG — find semantically similar records then walk their graph context
  • local AI memory — a companion or robot that records where it went, when, and how it felt
  • spatiotemporal intelligence — who was where, connected to what, when

Available as a Rust library, Rust CLI, and Python library.

📖 Documentation: docs/ — a user guide (query language, including the SELECT … FROM MATCH reference) and engine internals.

Who it's for

You are a… You'll care about
Data scientist pandas ↔ DataFrame, embeddings, similarity, aggregation over graphs
Full-stack developer one SQL surface for CRUD, search, transactions, hybrid ranking
Mobile developer embedded & offline, "near me" spatial, tiny footprint, no server
Embodied-AI developer a local memory graph — observations that fuse place, time, text, vector

Getting started — the world lands in Bali

Six travellers, five continents, one island: Giulia (Milan), Ethan (Toronto), Yasmine (Casablanca), Lucas (São Paulo), Aiym (Almaty), and Chloe (Melbourne).

from sekejap import DB

db = DB("./bali")

db.execute("""
    CREATE TABLE tourists (
        _key      TEXT PRIMARY KEY,
        name      TEXT,
        home_city TEXT,
        arrival   TIMESTAMPTZ,
        departure TIMESTAMPTZ,
        taste     VECTOR
    )
""")
db.execute("CREATE TABLE flights (_key TEXT PRIMARY KEY, airline TEXT, origin_city TEXT, duration_hours INTEGER)")
db.execute("CREATE TABLE places  (_key TEXT PRIMARY KEY, name TEXT, category TEXT, area TEXT, geometry GEO, description TEXT, embedding VECTOR)")
db.execute("CREATE TABLE restaurants (_key TEXT PRIMARY KEY, name TEXT, area TEXT, geometry GEO, open_now BOOLEAN)")
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)")

db.execute("CREATE INDEX ON places      USING spatial (geometry)")
db.execute("CREATE INDEX ON dishes      USING spatial (geometry)")
db.execute("CREATE INDEX ON dishes      USING bm25    (description)")
db.execute("CREATE INDEX ON tourists    USING hnsw    (taste)")

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

# tourist -[:flew_on]-> flight
db.execute("INSERT ('tourists/aiym')-[:flew_on]->('flights/ky-alm')")
db.execute("INSERT ('tourists/chloe')-[:flew_on]->('flights/qf-mel')")

1 — The basics: Aiym flies in from Almaty

Follow one edge. MATCH names the graph pattern; everything around it is ordinary SQL.

db.query("""
    SELECT f.airline AS airline, f.duration_hours AS hours
    FROM MATCH (t:tourists)-[:flew_on]->(f:flights)
    WHERE t._key = 'aiym'
""")
# → { airline: "Air Astana", hours: 11 }

2 — One query, every model: what should Chloe order right now?

Food for delivery: near her villa, still open, in a price range, with enough protein, matching a craving — ranked by text relevance and taste. Graph + spatial + text + scalar filters + hybrid score, in a single statement.

db.query("""
    SELECT r.name AS restaurant, d.name AS dish, d.price AS price, d.protein_g AS protein
    FROM MATCH (r:restaurants)-[:serves]->(d:dishes)
    WHERE d.open_now = true
      AND d.price >= 40000 AND d.price <= 90000                    -- IDR range
      AND d.protein_g >= 25                                        -- macro goal
      AND ST_DWithin(d.geometry, POINT(115.168 -8.690), 5.0)       -- within 5 km of her villa
      AND BM25(d.description, 'grilled chicken healthy') > 0.0      -- the craving
    ORDER BY BM25_NORM(d.description, 'grilled healthy protein') * 0.6
           + VECTOR_COSINE(d.embedding, chloe_taste)          * 0.4 DESC
    LIMIT 10
""")
# → Ayam Bakar (La Favela, 65k, 38g) ranked above Tuna Poke Bowl; the far Ubud
#   dish and the low-protein snack are filtered out.

3 — Multi-hop analysis: what did Chloe's fellow travellers fall for?

Walk backward across the shared inbound flight to everyone who took it, then out to the dishes they loved — and count the distinct fans.

db.query("""
    SELECT d.name AS dish, COUNT(DISTINCT peer._key) AS fans
    FROM MATCH (chloe:tourists)-[:flew_on]->(f:flights)<-[:flew_on]-(peer:tourists)-[:ate]->(d:dishes)
    WHERE chloe._key = 'chloe'
    GROUP BY d.name
    ORDER BY fans DESC
""")
# → Ayam Bakar (2), Babi Guling (1)

That's the shape of everything below: selection (graph + filters) narrows the world, ranking scores what's left.


Exploring Bali in five dimensions

Map — spatial

# Temples & beaches within 5 km of Uluwatu
db.query("SELECT * FROM places WHERE ST_DWithin(geometry, POINT(115.087 -8.829), 5.0)")

Connections — graph (forward, backward, DISTINCT)

# Forward: places Chloe reached within 2 hops of her itinerary
db.query("""
    SELECT DISTINCT p._key AS place
    FROM MATCH (c:tourists)-[:visited]->(m:places)-[:near*1..2]->(p:places)
    WHERE c._key = 'chloe'
""")

# Backward `<-`: who visited Uluwatu? (walk against the arrow)
db.query("""
    SELECT DISTINCT t.name AS visitor
    FROM MATCH (p:places)<-[:visited]-(t:tourists)
    WHERE p._key = 'uluwatu'
""")

# Edge properties: a bound edge exposes its strength + metadata (fixed single hops)
db.query("""
    SELECT t.name AS visitor, v.strength AS rating
    FROM MATCH (p:places)<-[v:visited]-(t:tourists)
    WHERE p._key = 'uluwatu'
    ORDER BY v.strength DESC
""")

Multi-hop returns one row per path by default (a place reached two ways appears twice). Add DISTINCT for unique nodes, or COUNT(DISTINCT field) to count them.

Taste — vector

# Tourists whose taste is closest to Chloe's
db.query("""
    SELECT * FROM tourists
    WHERE VECTOR_NEAR(taste, chloe_taste, 5)
""")

Words — full-text (BM25 relevance, or positional SEARCH)

db.query("""
    SELECT * FROM places
    WHERE BM25(description, 'clifftop sunset temple') > 0.2
    ORDER BY BM25(description, 'clifftop sunset temple') DESC
""")

Time — the sekejap

# Day-of-trip. A seven-day holiday is a brief moment.
db.query("""
    SELECT t.name AS name, AGE_DAYS(t.arrival) AS days_here, NOW() AS this_moment
    FROM MATCH (t:tourists) WHERE t._key = 'chloe'
""")
# → { name: "Chloe", days_here: 5, this_moment: 1717... }   "the last light"

The Spatiotemporal Diary — Chloe

Chloe keeps a diary. Each entry is a moment: where (a place, or a restaurant), when (logged_at), what she wrote (reflection), and how it felt (mood vector). The entries are part of the graph — chloe -[:wrote]-> entry -[:at]-> place, and a place may be a restaurant -[:serves]-> dish — so the diary can answer questions about the island it touched.

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 her own words
db.execute("CREATE INDEX ON diary USING hnsw   (mood)")         # moments that feel alike
# Her whole week, retraced through space and time
db.query("""
    SELECT e.place AS place, e.logged_at AS moment, e.reflection AS words
    FROM MATCH (o:tourists)-[:wrote]->(e:diary)
    WHERE o._key = 'chloe'
    ORDER BY e.logged_at ASC
""")

# The moment she ate near a temple — traced through the graph (diary → warung → dish)
db.query("""
    SELECT e.logged_at AS moment, w.name AS warung, d.name AS dish
    FROM MATCH (e:diary)-[:at]->(w:restaurants)-[:serves]->(d:dishes)
    WHERE e.author = 'chloe'
    ORDER BY e.logged_at
""")

# A moment tonight that rhymes with an earlier one (nearest mood)
db.query(f"""
    SELECT place, reflection FROM diary
    WHERE author = 'chloe'
    ORDER BY mood <=> {tonight} ASC
    LIMIT 1
""")
# → this last Uluwatu sunset rhymes with the first quiet morning in Ubud.

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

The island held still while the week ran out.


Data Types

Type SQL keyword Stored as Use for
Text TEXT UTF-8 string names, categories, keys
Integer INTEGER i64 prices (IDR), durations, counts
Float REAL f64 scores, ratings, weights
Timestamp TIMESTAMPTZ ISO-8601 arrival, departure, logged_at
Geometry GEO GeoJSON object temple points, area polygons
Vector VECTOR [f32, ...] array taste, mood, review embeddings
JSON JSON arbitrary JSON nested / unstructured

GEO accepts any GeoJSON geometry — Point, Polygon, LineString, MultiPolygon. VECTOR is inserted as a SQL array literal: [0.12, -0.03, 0.87, ...].


Indexes

Index USING keyword Enables
Hash hash field = 'val', IN (...), equality lookups
B-tree btree >, <, BETWEEN, ORDER BY field
GIN gin ILIKE '%pattern%' (exact trigram postings)
Spatial spatial ST_DWithin, ST_Contains, ST_Within, ST_Intersects
HNSW hnsw VECTOR_NEAR(field, [...], k), <=> ordering, VECTOR_COSINE(...) in scores
BM25 bm25 BM25(field, 'query') > score, ORDER BY BM25(...), BM25_NORM(...) scores
Search search SEARCH('query') filter, SEARCH_SCORE('query') ranking (positional inverted index)
CREATE INDEX ON places  USING spatial (geometry)
CREATE INDEX ON dishes  USING bm25    (description)
CREATE INDEX ON diary   USING search  (reflection)
CREATE INDEX ON tourists USING hnsw   (taste)

Or inline in CREATE TABLE ... WITH (...):

CREATE TABLE dishes (
    _key TEXT PRIMARY KEY, name TEXT, price INTEGER, protein_g INTEGER,
    description TEXT, geometry GEO, embedding VECTOR
) WITH (range: ['price'], spatial: ['geometry'], bm25: ['description'], vector: ['embedding'])

All index types survive a cold restart. Hash, B-tree, GIN, and BM25 rebuild from persisted schema hints on open; HNSW and Spatial are stored in the snapshot. Run REINDEX after large bulk loads.


Interfaces

sekejap has three interfaces. Use whichever fits the context.

SQL

-- 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

-- Mutations
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 (with metadata)
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'

-- Backward: every place that routes into Ubud
SELECT src._key AS place
FROM MATCH (dest:places)<-[:near*1..3]-(src:places)
WHERE dest._key = 'ubud'

-- DISTINCT — multi-hop returns one row per PATH; DISTINCT = unique nodes
SELECT DISTINCT dest._key AS place
FROM MATCH (a:places)-[:near*1..2]->(dest:places)
WHERE a._key = 'seminyak-beach'

-- Aggregation: COUNT / SUM / AVG / MIN / MAX / COUNT(DISTINCT field).
-- Without GROUP BY an aggregate returns exactly one row (even if nothing matches).
SELECT p._key AS place,
       COUNT(*)                        AS visits,
       COUNT(DISTINCT t.home_city)     AS cities,
       AVG(v.strength)                 AS avg_rating
FROM MATCH (p:places)<-[v:visited]-(t:tourists)
GROUP BY p._key
ORDER BY visits DESC
LIMIT 10

-- Edge properties — a bound edge (`-[v:type]->`) exposes `strength` + JSON
-- metadata. Available on FIXED single hops (not variable-length `*a..b`).
SELECT t.name AS visitor, v.strength AS rating, v.hours AS stayed
FROM MATCH (p:places)<-[v:visited]-(t:tourists)
WHERE p._key = 'uluwatu'
ORDER BY v.strength DESC

-- Multi-hop: dishes eaten by travellers whose taste matches Chloe's
SELECT d.name AS dish, COUNT(*) AS orders
FROM MATCH (c:tourists)-[:similar_taste]->(peer:tourists)-[:ate]->(d:dishes)
WHERE c._key = 'chloe'
GROUP BY d.name
ORDER BY orders DESC

-- Multi-stage with WITH — carry a binding into a follow-on MATCH
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
ORDER BY orders DESC

-- Shortest path — 0 rows = unreachable, 1 row = found (path fields via r.*)
SELECT a.name AS from_n, b.name AS to_n, r.length AS hops, r._path_keys AS trail
FROM MATCH SHORTEST (a)-[r*]->(b)
WHERE a._key = 'tourists/chloe' AND b._key = 'dishes/babi-guling'
-- Path predicates (ANY / ALL / NONE / SINGLE) filter intermediate nodes:
AND ALL(n IN nodes(r) WHERE n.open_now = true)

-- CASE WHEN — conditional expression on a field
SELECT d.name AS dish,
       CASE WHEN d.protein_g >= 30 THEN 'high protein' ELSE 'light' END AS tier
FROM MATCH (r:restaurants)-[:serves]->(d:dishes)
WHERE r._key = 'la-favela'

-- Time: NOW(), AGE_DAYS(var.field), AGE_HOURS(var.field)  (in SELECT FROM MATCH)
SELECT t.name AS name, AGE_DAYS(t.arrival) AS days_here, NOW() AS this_moment
FROM MATCH (t:tourists) WHERE t._key = 'chloe'

-- Spatial
SELECT * FROM places WHERE ST_DWithin(geometry, POINT(115.168 -8.690), 5.0)
SELECT * FROM zones  WHERE ST_Contains(geometry, POINT(115.087 -8.829))

-- Vector
SELECT * FROM tourists WHERE VECTOR_NEAR(taste, [0.9, 0.1, 0.0, 0.0], 5)

-- Full-text: GIN (fast exact ILIKE) · BM25 (ranked) · SEARCH (positional, typo-tolerant)
SELECT * FROM places WHERE name ILIKE '%uluwatu%'
SELECT * FROM places WHERE BM25(description, 'sunset temple') > 0.3
    ORDER BY BM25(description, 'sunset temple') DESC
SELECT *, SEARCH_SCORE('quiet still') AS relevance FROM diary
    WHERE SEARCH('quiet still') ORDER BY SEARCH_SCORE('quiet still') DESC

-- Hybrid ranking — combine any signals with +, -, *, /, ()
ORDER BY BM25_NORM(description, 'quiet sunset') * 0.5
       + VECTOR_COSINE(embedding, [0.7,0.3,0.0,0.0]) * 0.5 DESC
ORDER BY -ST_DISTANCE_KM(geometry, POINT(115.168 -8.690)) DESC   -- nearest first
-- vector distance operators: <=> cosine, <-> L2, <#> dot, <+> L1

-- Transactions — book a whole trip atomically
BEGIN
INSERT ('tourists/chloe')-[:booked]->('flights/qf-mel')
INSERT ('tourists/chloe')-[:stayed_at]->('villas/seminyak-01')
INSERT ('tourists/chloe')-[:joined]->('activities/uluwatu-kecak')
COMMIT   -- all three, or none

-- Introspection
SHOW TABLES
SHOW EDGES
SHOW EDGES FROM tourists TO places
SHOW places

Atomic (Rust fluent builder)

For lower-level control, offline/mobile inner loops, or pre-resolved hashes.

use sekejap::CoreDB;

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

// "Near me" — spatial radius, embedded and offline
let nearby = db.collection("restaurants")
    .st_dwithin(-8.690, 115.168, 3.0)   // lat, lon, km
    .collect();

// Fluent scan with filters
let picks = db.collection("dishes")
    .where_gte("protein_g", 25)
    .order_by("price", false)   // false = ascending
    .limit(10)
    .collect();

// Edges
db.link("tourists/chloe", "places/uluwatu", "visited", 4.8);
db.link_meta("tourists/chloe", "places/uluwatu", "visited", 4.8, r#"{"hours":2}"#)?;

Python DataFrame (db.df)

For data-science workflows — load from CSV/parquet, get results back as DataFrames.

import pandas as pd
from sekejap import DB

db = DB("./bali")

# Load tourists + review embeddings
df = pd.read_csv("tourists.csv")
db.df.load_nodes(df, "tourists", id_col="tourist_id",
                 mapping={"tourist_id": "_key", "full_name": "name"})

db.df.load_edges(pd.read_csv("visits.csv"),
                 source_col="tourist_id", target_col="place_id",
                 edge_type="visited",
                 source_collection="tourists", target_collection="places",
                 weight_col="rating")

# Query → DataFrame
df = db.df.query("SELECT * FROM dishes WHERE protein_g >= 25 AND price <= 90000")

📡 IoT — the island, sensed

sekejap is embedded and continuously-writable, so an edge device can log sensor streams and query them locally — no server round-trip. Sensors monitor places; readings are just nodes and edges.

db.execute("CREATE TABLE sensors (_key TEXT PRIMARY KEY, kind TEXT, geometry GEO, reading REAL, updated_at TIMESTAMPTZ)")
# sensor -[:monitors]-> place
db.execute("INSERT ('sensors/crowd-kuta')-[:monitors]->('places/kuta-beach')")

# Quietest beaches near Seminyak right now (low crowd sensors, close by)
db.query("""
    SELECT b._key AS beach, s.reading AS crowd
    FROM MATCH (s:sensors)-[:monitors]->(b:places)
    WHERE s.kind = 'crowd'
      AND s.reading < 0.4
      AND ST_DWithin(b.geometry, POINT(115.168 -8.690), 8.0)
    ORDER BY s.reading ASC
""")

🤖 Embodied AI — a humanoid travel assistant

A companion robot walks Bali with Chloe and keeps a local memory: each observation fuses place, time, a note, and a perception embedding. Because sekejap holds graph + vector + spatial + text in one embedded engine, "recall" is a single query — the kind of local memory an on-device assistant needs.

db.execute("""
    CREATE TABLE observations (
        _key       TEXT PRIMARY KEY,
        seen_at    TIMESTAMPTZ,
        geometry   GEO,          -- where the assistant was
        note       TEXT,         -- what it noticed
        embedding  VECTOR        -- what it perceived (image/scene vector)
    )
""")
db.execute("CREATE INDEX ON observations USING spatial (geometry)")
db.execute("CREATE INDEX ON observations USING hnsw    (embedding)")
db.execute("CREATE INDEX ON observations USING search  (note)")

# "What did we see near Ubud yesterday?"  (spatial + temporal)
db.query("""
    SELECT note, seen_at FROM observations
    WHERE ST_DWithin(geometry, POINT(115.263 -8.507), 3.0)
    ORDER BY seen_at DESC
""")

# "Find a past sunset that looked like this one"  (vector recall)
db.query(f"""
    SELECT note, seen_at FROM observations
    ORDER BY embedding <=> {current_scene} ASC
    LIMIT 3
""")

# "What did we say about temples?"  (text recall)
db.query("SELECT note, seen_at FROM observations WHERE SEARCH('temple offering incense')")

Continuous ingest + local hybrid recall, in-process, on a small device — the same engine, no companion services.


S3 Remote Storage

Query datasets larger than local disk. Payloads stay on S3, fetched on demand via block-level caching.

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,   # RAM cache
                cache_dir="/tmp/sekejap-cache")          # optional disk cache

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

Works with AWS S3, MinIO, Cloudflare R2, and any S3-compatible store (endpoint / allow_http for custom endpoints).


Installation

cargo add sekejap                 # Rust library
cargo add sekejap --features s3   # with S3 support
cargo install sekejap-cli         # Rust CLI
pip install sekejap               # Python (includes S3)

CLI

sekejap                              # in-memory REPL
sekejap ./bali                       # persistent REPL
sekejap ./bali "SELECT * FROM places;"   # one-shot
echo "SELECT ...;" | sekejap ./bali  # pipe a script

sekejap> CREATE TABLE places (_key TEXT, name TEXT, geometry GEO);
sekejap> SELECT * FROM places WHERE ST_DWithin(geometry, POINT(115.168 -8.690), 5.0);
sekejap> .tables        # introspection dot-commands
sekejap> .edges tourists
sekejap> .schema places
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.13.0.tar.gz (499.1 kB view details)

Uploaded Source

Built Distributions

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

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

Uploaded CPython 3.13Windows x86-64

sekejap-0.13.0-cp313-cp313-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

sekejap-0.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12Windows x86-64

sekejap-0.13.0-cp312-cp312-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

sekejap-0.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11Windows x86-64

sekejap-0.13.0-cp311-cp311-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

sekejap-0.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10Windows x86-64

sekejap-0.13.0-cp310-cp310-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

sekejap-0.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9Windows x86-64

sekejap-0.13.0-cp39-cp39-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

sekejap-0.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8Windows x86-64

sekejap-0.13.0-cp38-cp38-manylinux_2_28_aarch64.whl (5.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

sekejap-0.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: sekejap-0.13.0.tar.gz
  • Upload date:
  • Size: 499.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.13.0.tar.gz
Algorithm Hash digest
SHA256 b5046eb94b5748d33671f2945fc2a018ffbc58d92ee094edc508a9868f627eff
MD5 9993cf901c2f14d1875039e02d8d362b
BLAKE2b-256 b26451501434ab75a314a06f6f4bdf5dbaa43e4ee2a18787a8502f4874b74260

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: sekejap-0.13.0-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/6.1.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.13.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1188842d21ecbf031cd7c9d7c3780bddfccc12fbe51d7c60c8f4343ea8ee91cf
MD5 5e06e4435f303a8ba2a7ca83cd1a4972
BLAKE2b-256 a8fc8dfab4f19821b409812b6fc530506bf6a72a7a9f604704b3fd5203277af4

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for sekejap-0.13.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 15b69f894414ff1f1627ededb8d0c8b75468e9243dd261e050dae04bdf94eae6
MD5 ba14b0df3a3f31fdddbd7aa8abff4169
BLAKE2b-256 2b1198cc3e39cd9b6317be77c430a79ee611a64da962bf8a38a6789147aabf2f

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sekejap-0.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e95d9526a6e517be6559c6c2ae0730bbf892d0d0e09cc87a001f95251770338
MD5 bf39c711fb30ab02d31ad12b33c31afb
BLAKE2b-256 c1a83e2ce475ae6245486572917ab889896c34ee60bdf2f86bbe6c4460539e18

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: sekejap-0.13.0-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/6.1.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.13.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7075b5e60e8b1aec6d54bb5e93bdab1f79a6d9406d43468699c823bcc9a6987a
MD5 9e28a4b4bb8258b7d710ec6b05b062e9
BLAKE2b-256 2869d1feded8e6684013215d2be6ac25b49e5b1f51069883e6ae50fe399a3e3b

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for sekejap-0.13.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ceea0bd8a3dd556fce77ec72a7e8a05bb886ff0ad013310f26276dc729b935ff
MD5 7d600bab815aca924294b2db4eff8955
BLAKE2b-256 7cf1427ed68985b478ad570acb3756f56b1d079a41de541506051dac20309868

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sekejap-0.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4fdb22d8d1473b21f44a613d69f5a587bf5f3d6aa2e43268d16ce6e3e6d11fff
MD5 aaf7f2dde7840785d529897baeb92086
BLAKE2b-256 ab460ab9aea12b30183d4a2c0ff7f977f0cc395f76e9f5a4ec87c39bccb741eb

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: sekejap-0.13.0-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/6.1.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.13.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6791ffc634d1c744b6576192b3470b4435ba8031a5e83111eeb56c76f364319f
MD5 6ac0d14813c7e665bc68f3af78ae6fea
BLAKE2b-256 ac13a6830b5f3d1b10d7d9780736b0cbea2b7a208be632870cbfee2c6ad05366

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for sekejap-0.13.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bf9384817c0985e8232f0acdf19fba1476f16178e01cceb14f2e297552785d58
MD5 a71b7fd6fd1b4f0ce0717ddd87cc791d
BLAKE2b-256 3b2ea51252baf79d3fb2951e21fe802d9ef670e292559724ac3d94c5b675ea9d

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sekejap-0.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ba6576d60675fefb509b9aa3b172653d96b4ee64effb491e89df7856998d207
MD5 21e744caf90121fb5b562029e89cdb0a
BLAKE2b-256 2d3c9462f462a85506e75d06bd1c79e5f211ddc393105c3f822a7e9f6bd31130

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: sekejap-0.13.0-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/6.1.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.13.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ee9d595c24cfc281ed1cd7d028f58d3fecd5675ac71329a6047508aef657fde4
MD5 c00f9f8c125435209429b1901d359262
BLAKE2b-256 db12eb28696dbcbac5fc61d076a7370ddff13464b54233c5ee7b17b26dd04f22

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for sekejap-0.13.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a81fe84db50f2509481cf39d4394bb6204621cff450a32143ad69a7b9fd92283
MD5 58e84d7d3cd99a565a5e2d54ccbb0bc7
BLAKE2b-256 8b8f281d1f3b859905ed45a379e4a1c0ece419afd5b1dce5a644731bc5a1e2ed

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sekejap-0.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 998a1201574efe0c00a6bf5bd00bc407cc826366ba57a9215aa6d38c3d74dfb8
MD5 37798a190d984858c9f7ba3cedb69654
BLAKE2b-256 29feeb79dc0fda05f780a6d502795a3aa28dec554d6bf0dea49b6404494d7b52

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: sekejap-0.13.0-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/6.1.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.13.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 be08f80dc7649e45d8ac5d1dd91546e07828509cc80b59e1b84f90d0c2331b91
MD5 9f9fc8087645ec38b5bc9c828d80815e
BLAKE2b-256 6eef26a2290b33cfd9eca27c226ee61a41cd44b5c5345cfb4f2366caf162095e

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for sekejap-0.13.0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0d9c33bcc937d8edb0be0f8d2e74851c4bfa3ec7408dad70b875cd8307b5b4ad
MD5 ee4e48aaced09e31506eab90544e7d9a
BLAKE2b-256 53e797b727a21bf0b9ea24e8484f13a380906b1b84ea696fd8349ab54dda0525

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sekejap-0.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 347a34752bfa1539bb0451eb2e4c59d960462c18e5508a7ceefb8985e936c312
MD5 62d699117028b56c9a6ba44f01714fe7
BLAKE2b-256 32823d126aafac944993d87c922e23b5205c6528fe7162b670fa3eb3c3c7350a

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: sekejap-0.13.0-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/6.1.0 CPython/3.13.14

File hashes

Hashes for sekejap-0.13.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 09cb841b4b3bf7a789d503bc9ca6ef463d3674a20fc6dda3793192bc20bff856
MD5 32b4ddb64ad3466073d1277c0048ca5a
BLAKE2b-256 c91fb512e17b1fdaf0ca2a4721ba5324f0661fa7230d9ea92bb8bf85400abca9

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for sekejap-0.13.0-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 14929a72e613eba7ca39936ada4e69fcedb987abffbfb09e149672b1a7484006
MD5 62f9346b2d76c49187475d89dcedc7ea
BLAKE2b-256 046bd607afd2cf8a0f85694f37bed8c652fada385959685c8882877d90577790

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sekejap-0.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ed9ba0b3fdde43838a553fcbd50c5f092f44957aef5c6417d35d52ec555093a2
MD5 5797a1f7059ac2d2fad70b5be35a9238
BLAKE2b-256 51a718796ab408f33007647f60f4259101be7d2c21eb99c175da52bf59dc64ed

See more details on using hashes here.

Provenance

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

Publisher: release.yml on insanalamin/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

0.16.1

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

This release

0.13.0 This release

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