Local documentation

Keywords

documentation, cli, agents, offline

Install the optional command-line dependencies in your project’s environment:

python -m pip install "dascore[agents]"

The CLI uses Typer. Importing and using DASCore from Python does not require this extra.

Use the documentation that ships with the DASCore installed in your project’s Python environment:

python -m dascore doc
python -m dascore doc Patch.select
python -m dascore doc Spool.chunk
python -m dascore doc Patch.viz.waterfall
python -m dascore doc recipes/tunnel_inventory

The equivalent console command is dascore doc. Running it without a target reports the DASCore version, Python executable, imported package location, and documentation directory. For repeated agent or notebook work, use the reported Python executable with -m dascore to keep using the same environment.

The first request prepares a directory of Markdown files from the packaged tutorials, recipes, and installed API docstrings. Examples remain unevaluated. Documentation text is available offline; images are excluded from package downloads and linked to hosted copies on GitHub. Image links use the installed release tag or development commit when available, falling back to the dev branch for development versions without commit metadata. API pages include their defining module and signatures when available; unbound method signatures include the instance parameter.

DASCore stores this corpus below its OS-specific user cache, in docs/<DASCore version>/. Subsequent commands reuse it. Changes to an editable installation’s source invalidate the corpus even when its version string stays the same. To regenerate it explicitly:

python -m dascore doc --rebuild

The docs_cache_dir configuration setting controls the cache root for calls in a Python process. The default follows Pooch’s OS-specific DASCore cache location. Generated Markdown can also be opened directly in a text editor.

The local API corpus covers core objects, processing, transforms, visualization, built-in namespaces, and selected public utilities. External plugins and format-specific APIs are outside this initial corpus. Documentation generation inspects Python objects and imports the supported modules, but does not instantiate data objects or execute their operations. Missing optional modules are reported in the corpus summary.

Module pages can be selected explicitly, for example dascore doc module:dascore.viz.waterfall. When a module re-exports a same-named function, its public attribute name selects the function.

Use exact public names such as Inventory, PatchAttrs.tag, or dascore.proc.coords.select. Authored pages use identifiers such as tutorial/patch. Unknown or ambiguous names produce an error and a nonzero exit status. Document output uses UTF-8, including when redirected to a file.

Search documentation

Run python -m dascore doc with the project’s Python executable to prepare the Markdown corpus and print its absolute directory. Point your editor or agent’s file-search tool at that directory, which may be outside the project workspace.

For example, with ripgrep installed, replace /absolute/documentation/path below with the reported documentation directory:

rg -n -i -C 2 -g '*.md' 'filter|bandpass|low.?pass' "/absolute/documentation/path"
rg -l -i -g '*.md' 'inventory|geometry' "/absolute/documentation/path"

The first command shows matching lines with surrounding context; the second lists matching files. Read the relevant sections, then use doc for a known API name or open the Markdown page directly. Titles, API names, body text, and keyword metadata are all searchable with ordinary file tools. If a term finds little, try related scientific vocabulary.

Author keyword tags

Keep subject keywords with their source document. Authored pages use Quarto frontmatter:

---
title: Filtering data
keywords: [filtering, bandpass, low pass]
---

API docstrings use a Keywords section containing comma-separated terms:

Keywords
--------
filtering, bandpass, low pass

The normal website renderer displays this section, and the local corpus preserves the terms as metadata. Use specific scientific terms and common task vocabulary; keyword tags describe subjects rather than classifying a page as an agent skill.