Skip to main content

AbstractNote

One endpoint for everything you want to remember. Send a sentence, a document, a photo, a recording, a log. AbstractNote files it with its time, place and provenance, links it to what you already know, and grows a temporal semantic knowledge graph of your ideas, projects, people and decisions. You search it by effort (quick, standard, deep) and revisit it through time: what you knew, when you learned it, and how your view changed.

AbstractNote is part of the AbstractFramework. It runs on AbstractGateway (sign-in, one runtime and one notebook per user, app hosting), AbstractRuntime and AbstractFlow (the capture and understanding workflows), AbstractMemory (temporal facts) and AbstractCore (models, structured output, embeddings).

Status: version 0.1.0, in development. It is not published on PyPI or npm yet; you install it from source (see Install).

What you get

  • Capture anywhere: the web app, the Apple Watch app, the abstractnote command line, and agents. Attachments are de-duplicated by content; a retried send never saves a note twice.
  • Automatic filing: a small fast model gives each note a title, a kind, topics, an urgency and its language, next to the time and place it was made.
  • Self-organising knowledge: a model resolves people, projects and ideas against candidates that exact lookups, full-text and vectors produce. Every change is a revision you can replay, and every claim keeps the note it came from.
  • Remember by cue and effort: quick (no model, under a second), standard (one synthesis with citations), deep (a background dossier). Then-versus-now for any person, project, idea or link.
  • Reflection: open loops, contradictions, things that went quiet and connections you may have missed, surfaced as insights.
  • Imports: Claude Code sessions, an agora hub database, Markdown trees and plain files, with their original dates and provenance.

Install

AbstractNote needs Python 3.10 or later and the framework packages next to it. Until the packages are published, install everything from source checkouts:

python3 -m venv .venv
.venv/bin/pip install -e ../abstractsemantics -e ../abstractcore -e ../abstractruntime \
                      -e ../abstractmemory     # a checkout that has close_assertion, see below
.venv/bin/pip install -e .
.venv/bin/abstractnote --help

Two framework changes that AbstractNote relies on are not in released packages yet:

  • AbstractMemory close_assertion (the close-assertion branch): closes a superseded fact in place. AbstractNote's first release waits for the AbstractMemory release that contains it.
  • The AbstractGateway integration (the abstractnote-seam branch): binds the note tools to each user's notebook, serves the note read API and lists the Note app. You need it only for the gateway path; the headless notebook works without a gateway. The gateway must carry this seam (abstractgateway.abstractnote_seam; the first gateway release with it is named at AbstractNote's release): the [gateway] extra alone does not guarantee it, and abstractnote.gateway refuses to import into a gateway without it, with one sentence.

To run models locally on Apple silicon, add pip install "abstractcore[apple]" (MLX).

Quick start

A headless notebook on this machine, no gateway and no model:

abstractnote capture "Met Dana about the LUT budget; she wants the Pareto by Friday." --notebook ~/notes
abstractnote search "LUT budget" --notebook ~/notes
abstractnote status --notebook ~/notes

Let a model understand the queued notes (entities, claims, tasks), then ask a question:

abstractnote process --local --notebook ~/notes --provider mlx --model mlx-community/Qwen3.6-35B-A3B-4bit
abstractnote search "What does Dana want?" --effort standard --notebook ~/notes \
    --provider mlx --model mlx-community/Qwen3.6-35B-A3B-4bit

A notebook is pinned to the embedding model that created it. Choose it on the first command (--embed-base-url and --embed-model, for example a local LM Studio embedding model) and give the same flags every time, or start with the built-in offline embedder and change later with abstractnote rebuild --reembed. See docs/getting-started.md.

Through a gateway, clients start the note-capture and note-recall flows with the gateway's runs API, and POST /api/gateway/note/processor/ensure creates the per-user processor that understands notes in the background. The getting-started guide walks through a private scratch gateway, the web app and the watch app.

Clients

Client Where What it does
Web app web/ (@abstractframework/note) Capture (a chat with attachments), Graph (entities and links through time), Remember (since you last looked, cue cards, ask by effort, then and now), Settings
Apple Watch app watch/apple/ Note, Ask, Today, Settings; watch-only, watchOS 26 or later
Command line abstractnote Headless capture, search, processing, imports, rebuild, JSON output for scripts and agents

An iPhone app is planned (phone/iphone/). Agents use the same note tools and flows, with the effort level as a parameter.

Documentation

License

MIT. See LICENSE.

Metadata

Release files for abstractnote 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for abstractnote 0.1.0
File Size Uploaded Provenance
abstractnote-0.1.0.tar.gz 237.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for abstractnote 0.1.0
File Interpreter ABI Platform
abstractnote-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 456.4 kB

Release files / abstractnote-0.1.0.tar.gz

Download URL abstractnote-0.1.0.tar.gz
Size 237.7 kB
Tags Source
SHA-256 checksum
How to use checksums
047b7a3e4294c353e5ae2efe352621a8734e9a6613e2b8305653eab457bc7399
BLAKE2b-256 checksum
How to use checksums
1cbab837e6762535404390ca961b597644902eeaff346290024272d7ca67d46a
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 Oct 19, 2026.

Transparency log

Release files / abstractnote-0.1.0-py3-none-any.whl

Download URL abstractnote-0.1.0-py3-none-any.whl
Size 218.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
129bda78df33ac77befb91484afaf055a7a8fe9aea31505b98f2165c2edcbd84
BLAKE2b-256 checksum
How to use checksums
782b20ecc32cf7eb6a5328325e21c7df39662021421340b1b95530d2ae9cdf9e
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 Oct 19, 2026.

Transparency log

Security for abstractnote 0.1.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for abstractnote-0.1.0.tar.gz

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 Oct 19, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

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