A tool to resolve markdown glossary terms and their transitive dependencies in topological order in a GitHub project or Obsidian vault.
Project description
Disambiguate
Source Code: https://github.com/frankify-app/disambiguate
Disambiguate resolves markdown glossary terms and their transitive
dependencies in topological order. Point it at a directory of *.md term
files in either GitHub format or
Obsidian format, ask for a slug or two,
and get back a self-contained markdown document where every term is
defined before it is referenced.
Quickstart
uvx disambiguate # render the entire glossary
uvx disambiguate topological-order # render one term and its dependency closure
uvx disambiguate --from notes.md # extract glossary-shaped links from a doc
uvx disambiguate --explain # render Disambiguate's own bundled spec
uvx disambiguate --lint # validate the glossary
The runtime is stdlib-only — pip install disambiguate brings in nothing
else. uvx works without an explicit install.
Installation
pip install disambiguate
How it works
The pipeline parses each term into a body plus a
list of cross-references, builds a
dependency graph from those references, then
runs the resolver to produce
topological order. The same pipeline
backs from-mode and --explain.
For the architectural map, see docs/architecture.md. For the full vocabulary, see the bundled glossary — Disambiguate's own dogfood.
Contributing
See CONTRIBUTING.md. Conventional commits required — the release workflow uses them to compute the next version.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file disambiguate-0.1.3.tar.gz.
File metadata
- Download URL: disambiguate-0.1.3.tar.gz
- Upload date:
- Size: 26.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
397d0dfa38bfb9bba25b9f5cd2866816a239eb4f9e76b58f0ad3da706ee8cbee
|
|
| MD5 |
afc6d06f449d45048d85f1ea141b6f91
|
|
| BLAKE2b-256 |
7959ffb5f86eeb510e0caade5ce85bb7b0c71932617d368ce7b72cd7a0d63149
|
Provenance
The following attestation bundles were made for disambiguate-0.1.3.tar.gz:
Publisher:
publish.yml on frankify-app/disambiguate
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
disambiguate-0.1.3.tar.gz -
Subject digest:
397d0dfa38bfb9bba25b9f5cd2866816a239eb4f9e76b58f0ad3da706ee8cbee - Sigstore transparency entry: 2164437700
- Sigstore integration time:
-
Permalink:
frankify-app/disambiguate@2d07d6b1e32f424e0d79e868196b40eb3e8aa08b -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/frankify-app
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2d07d6b1e32f424e0d79e868196b40eb3e8aa08b -
Trigger Event:
push
-
Statement type:
File details
Details for the file disambiguate-0.1.3-py3-none-any.whl.
File metadata
- Download URL: disambiguate-0.1.3-py3-none-any.whl
- Upload date:
- Size: 31.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb72f76059fb3ae6eec1d262a89b7ae7ae03d873929c8de1c3beccdf070577d8
|
|
| MD5 |
4a6b9f6dd8163b2eb1db334ca43d5c03
|
|
| BLAKE2b-256 |
5ef71707efdfbccfc8d988ce0d1024e862cd5f97fa497f6302650af5de31f24c
|
Provenance
The following attestation bundles were made for disambiguate-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on frankify-app/disambiguate
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
disambiguate-0.1.3-py3-none-any.whl -
Subject digest:
eb72f76059fb3ae6eec1d262a89b7ae7ae03d873929c8de1c3beccdf070577d8 - Sigstore transparency entry: 2164437712
- Sigstore integration time:
-
Permalink:
frankify-app/disambiguate@2d07d6b1e32f424e0d79e868196b40eb3e8aa08b -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/frankify-app
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2d07d6b1e32f424e0d79e868196b40eb3e8aa08b -
Trigger Event:
push
-
Statement type: