libcuj · cuj as a Python library
cuj — n. Clever Use of Jots — is a
plain-text PKM engine: one-line captures, inline
Jot Syntax annotations (tags,
hierarchical categories, labeled references, todos with due
dates), a content-addressed fact store underneath, and
importers for Evernote (.enex) and Obsidian vaults. Your
notes stay plain text; the engine makes them answer questions.
This package (pip install libcuj) binds cuj into Python as
import cuj — the library only. The cuj command-line tool is
its sibling distribution: pip install cuj (prebuilt binary)
or cargo install cuj (from source). What the first release
exposes is the vault's query surface — the library twin of the
cuj q command, running Quarb over the
vault in-process:
import cuj
# The open todo list, due dates as data.
cuj.q("//*<todo && open> | rec(::description, ::due)")
# [{'description': 'buy primus spares', 'due': None},
# {'description': 'renew NZ transit visas',
# 'due': datetime.datetime(2026, 6, 15, ...)}, ...]
# Who cites note 3 - and who contradicts it.
cuj.q("/default/3<-cites::summary")
cuj.q("/default/3<-contradicts::summary")
# Notes sharing a tag with note 14 but not linked to it.
cuj.q("/default/14 . <-tagged->tagged"
"[::::id != (1)::::id][!--*[::::id = (1)::::id]]::summary")
Node results return as cuj's own display strings
(--default--12, ///wiki/note.md, ..tag); value results as
typed Python values — int, float, tz-aware datetime,
timedelta, dicts for records, quantities as their written
face ("204.808 kB").
Keyword arguments mirror the CLI's flags:
cuj.q(expr,
config="~/vaults/field/config.toml", # else CUJ_CONFIG / ~/.cuj
profile="all", # widen across profiles
at="~8", # a historical state
now="2026-07-31T12:00:00Z") # pin now() - reproducible
Errors raise ValueError with cuj's or the engine's message.
The vault itself is made with the cuj CLI (pip install cuj or cargo install cuj) —
capture, import, label, promote; reading is the engine's job,
actions are the tool's. The data model and protocol are
documented from cuj.net; the query language
in the Quarb spec.
License: MIT OR Apache-2.0.
Metadata
Release files for libcuj 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| libcuj-0.3.2.tar.gz | 159.4 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| libcuj-0.3.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| libcuj-0.3.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| libcuj-0.3.2-cp38-abi3-macosx_11_0_arm64.whl | CPython 3.8 | abi3 | macOS 11.0+ ARM64 | Details |
| libcuj-0.3.2-cp38-abi3-macosx_10_12_x86_64.whl | CPython 3.8 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 14.2 MB
Release files / libcuj-0.3.2.tar.gz
| Download URL | libcuj-0.3.2.tar.gz |
|---|---|
| Size | 159.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
070fbd03b0ca5b43da61d170173ea4f372b74519522fc4e73a7e3486bdc11798
|
|
BLAKE2b-256 checksum How to use checksums |
937e6e2f1db00348567cd56c5f9c30836d3385581069ac81f89786149caf7f6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency logRelease files / libcuj-0.3.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | libcuj-0.3.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.7 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
962bb60f8f97b3bbc799bce41f1797e70247ccfd2618d92f924e55ce223a6e16
|
|
BLAKE2b-256 checksum How to use checksums |
a0481e22626ab544494057234968622e8f532d8bff1ada4158458355eef3d6d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency logRelease files / libcuj-0.3.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | libcuj-0.3.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 3.5 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
2c6cd9039f4da12dafeffb56815b83038fb33873ebca70a6836db5a724111c14
|
|
BLAKE2b-256 checksum How to use checksums |
ba609578fdae8f3a92bb813aabdccfb2a8d79b618d98318615fd6abee4751ae9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency logRelease files / libcuj-0.3.2-cp38-abi3-macosx_11_0_arm64.whl
| Download URL | libcuj-0.3.2-cp38-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.8 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f057b3ad7e7677e2d800a5a21bb49f0ac0849079025bafe8a95ef55e59447fc0
|
|
BLAKE2b-256 checksum How to use checksums |
c6d370b7a0b56f681381897de590b6c1d542cce236179919bdbd05f2b770fb8c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency logRelease files / libcuj-0.3.2-cp38-abi3-macosx_10_12_x86_64.whl
| Download URL | libcuj-0.3.2-cp38-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 3.5 MB |
| Tags | CPython 3.8 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
26496a9c3242e6bc10201d6f4d3e5ca60c924485dcf8e195ed6f801c25c78eea
|
|
BLAKE2b-256 checksum How to use checksums |
f088b5c64e4d303c018f65dcb2fb45a69b9ed088f39d766bbd00fac560edd61b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency log