Skip to main content

Booksmart's book-ingestion pipeline: parsing, structure, extraction, summaries, embeddings — as durable Stage functions consumers drive with their own Runner.

Project description

booksmart-core

Booksmart's book-ingestion pipeline as a typed library: parsing, structure detection, profile generation, knowledge extraction, summaries, and embeddings — exposed as durable, synchronous Stage functions that a consumer drives with its own Runner (see ADR 0002).

Core owns the domain: the ORM models, a single dialect-neutral Alembic history (SQLite and Postgres), object storage, the provider abstractions (Anthropic / OpenAI / Gemini, plus deterministic fakes), and the Qdrant vector store. It reads no environment at all — a consumer constructs Settings explicitly (API keys included; since 0.2.0 there is no env-var fallback) and owns engine and session lifecycle.

Consumers:

  • booksmart — the local CLI (SQLite, embedded Qdrant).
from booksmart_core.database import create_engine, upgrade_to_head
from booksmart_core.runner import execute_run

upgrade_to_head(url)
run_id = execute_run(session_factory, storage_root, book_id, "full")

Search

booksmart_core.search.search is the read side of the embedding pipeline, and the single seam every consumer's search surface sits on — the CLI's search command calls it against embedded Qdrant; a server consumer would call it with the same arguments against a served instance.

from booksmart_core.search import search

hits = search(session, vector_store, embedder, "how do deep modules help?", limit=5)

It embeds the query with the collection's locked model (refusing a mismatch, ADR 0001), ANN-searches Qdrant, and resolves each hit back to its detached ORM row.

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

booksmart_core-0.2.1.tar.gz (35.7 kB view details)

Uploaded Source

Built Distribution

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

booksmart_core-0.2.1-py3-none-any.whl (45.4 kB view details)

Uploaded Python 3

File details

Details for the file booksmart_core-0.2.1.tar.gz.

File metadata

  • Download URL: booksmart_core-0.2.1.tar.gz
  • Upload date:
  • Size: 35.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for booksmart_core-0.2.1.tar.gz
Algorithm Hash digest
SHA256 bfd29903a1817538e2501f78bc9cd4b122cb92b64b5ecb2dc34b54cbcb9c46c7
MD5 8a50a3d10f1333fd76fd9b07838b74a9
BLAKE2b-256 f7ef1203648e0c9af4f3316f733fa6f0f39e82ba52354f99d64c2ad9c3550e29

See more details on using hashes here.

Provenance

The following attestation bundles were made for booksmart_core-0.2.1.tar.gz:

Publisher: publish.yml on dworznik/booksmart

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

File details

Details for the file booksmart_core-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: booksmart_core-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 45.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for booksmart_core-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 229e51ddf03339acb9538e2c3d0cd2a5cd17806e4bc05325fb244e6a54f487b7
MD5 2881a6ae29525c6611e5fea158ee7be4
BLAKE2b-256 295babf0662274bb07e2d330ea001dd7e7cc85dd54e0614a3f9c76403e9f60b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for booksmart_core-0.2.1-py3-none-any.whl:

Publisher: publish.yml on dworznik/booksmart

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