Skip to main content

eno-service — FastAPI face on eno's read endpoints

Project description

eno-service

A FastAPI face on eno's read endpoints — the HTTP surface other tools talk to.

eno-service is the shared, long-running face on an eno vault index. Run it once on a host and every tool that speaks HTTP — the Obsidian plugin, the eno-mcp server, sibling projects — queries the same index instead of each opening its own sqlite handle. Single-host work doesn't need it; a multi-tool or multi-agent setup does.

Install

pip install eno-service

Requires Python 3.12+. Pulls in the enowiki core (which imports as eno).

Run it

export ENO_VAULT_DIR=~/vault      # index must already exist — run `eno index` first
eno-serve                         # serves on 127.0.0.1:7891

Host and port come from $ENO_SERVICE_HOST / $ENO_SERVICE_PORT (defaults 127.0.0.1 and 7891). Point a client at it with $ENO_SERVICE_URL, e.g. export ENO_SERVICE_URL=http://localhost:7891.

Endpoints

Read (GET):

  • /health — liveness + configured vault path
  • /search — notes by title substring or tag
  • /note — frontmatter + headings + excerpt for one note
  • /neighbors — backlinks + outbound for one note
  • /orphans — notes with no inbound links
  • /stubs — short notes with no outbound links
  • /stale — notes past a recency threshold
  • /broken-links — raw broken wikilinks
  • /classify-broken-links — split into drift (real bugs) vs concepts (groundwork)
  • /frontier — pages actively reaching outward
  • /hot — session-start "what's hot" bundle
  • /hygiene — frontmatter contract audit

Write / compute (POST):

  • /index — (re)build the index
  • /tiling — body-content semantic dedup (needs the enowiki[llm] extra)
  • /garden — structural gardener report
  • /hygiene/propose, /hygiene/apply — audit proposals and applies
  • /note/create, /note/append — write notes back with provenance

The service is read-first: POST /index and the note-write endpoints are the mutating exceptions, and every write is human-initiated. Interactive API docs are served at /docs once it's running.

License

MIT — see LICENSE.

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

eno_service-0.2.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

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

eno_service-0.2.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file eno_service-0.2.0.tar.gz.

File metadata

  • Download URL: eno_service-0.2.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for eno_service-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0f34271d4bf8d55eff41dda834c6c3a39667686dae3bc94ca4333ee668aa8f85
MD5 ed2b1735a6c957134d29f5af24941be8
BLAKE2b-256 1efafd957a3f09c85fcfad6cd118822464c026698b1d2157330b4d5f5fcfe37a

See more details on using hashes here.

Provenance

The following attestation bundles were made for eno_service-0.2.0.tar.gz:

Publisher: publish.yml on lavallee/eno

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

File details

Details for the file eno_service-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: eno_service-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for eno_service-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 17a03084a24b39597c766378344dda275d9138cd0253e704ee9b19eae90ba7fc
MD5 7e6a8911e0bc1a39fe4b52076a5ef8db
BLAKE2b-256 1b13829ee2eb2f1383fb53ace4a8e404a6fb6ea72419819ae0711a007fc7c048

See more details on using hashes here.

Provenance

The following attestation bundles were made for eno_service-0.2.0-py3-none-any.whl:

Publisher: publish.yml on lavallee/eno

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