Skip to content

Feature/documentation - #726

Open
a-frankl wants to merge 11 commits into
finos:mainfrom
a-frankl:feature/documentation
Open

Feature/documentation#726
a-frankl wants to merge 11 commits into
finos:mainfrom
a-frankl:feature/documentation

Conversation

@a-frankl

Copy link
Copy Markdown
Contributor

Updates to the tracdap documentation for the 0.10 release, including;

  • Removing outdated deployment guides
  • Removing app developer tutorials that assumed a deployed gateway and a superseded auth flow
  • Expanding the modelling tutorials
  • Adding missing descriptions to certain API methods and messages
  • Consolidating and rewriting the overview/introduction pages
  • Minor updates to the READme pages for publishing to pypi

a-frankl added 11 commits July 20, 2026 14:25
… level

tracdap's docs should describe the project - what's open source and how the
pieces relate - not serve as an operational guide to deploying the full
platform, which fintrac's own commercial documentation already covers.

- Remove app_dev/ (platform-facing app tutorials, assumes a deployed gateway
  and superseded default auth, not maintained)
- Remove deployment/ (auth docs describe a superseded mechanism, platform.rst
  is an acknowledged stub, and no file here adds up to a complete deployment
  guide)
- Drop reference/index.rst now that it's a wrapper around exactly three
  auto-generated listings; promote model_api_python, metadata_listing and
  service_listing to top-level sections directly
- Update root index.rst landing grid and toctree, and wire model_api_python
  into modelling/index.rst

See Notes/tracdap-docs-restructuring.md (fintrac-documentation repo) for the
full rationale and remaining sequencing.
.col-lg-3 (the left nav column) has flex-shrink:0, and .toc a had no
width/wrap constraint, so a long unbreakable identifier (e.g. some
tracdap.api class names like MetadataWriteBatchResponse) could push the
sidebar past its 25% width. Since it can't shrink back, the row wraps and
the main content stacks below the sidebar instead of sitting beside it.
Reproduced on tracdap.finos.org's Service Listing pages at normal zoom.

Constrain .site-toc .toc a to wrap instead of forcing the column wider.
…eApi

Both services had no per-method documentation in the proto source (storage.proto
had no comments at all, not even at service level), so Service Listing rendered
these methods with no description - just the auto-generated parameter list.

Comments are written from the request/response schema and follow the existing
style in metadata.proto/data.proto, including the streaming vs. unary pairing
already documented there for readFile/readSmallFile. Kept deliberately brief,
matching this file's simpler, lower-level operations rather than the longer
multi-paragraph style used for the metadata write API.
The previous commit documented TracStorageApi's RPC methods, but the message
types those methods use (StorageRequest, StorageReadResponse, FileStat, etc.)
had no comments either, so the Service Listing classes table rendered them
with no description. Comments are written from the message's fields and its
role in the surrounding RPC calls.
The autoapi module template listed every class in a single flat "Classes"
table, alphabetically interleaving gRPC service interfaces (TracMetadataApi,
TracStorageApi, etc.) with the request/response message types they use. For
tracdap.api this made Service Listing hard to scan - 5 services buried among
dozens of messages.

Classify each class as a service if it has method children and isn't an
Enum subclass (enum value assignments were briefly misclassified as methods
during testing - excluded explicitly). Modules with no services (e.g.
tracdap.metadata) just show the Messages section as before, so this doesn't
change anything outside tracdap.api.
…isting,

Model API, Modelling Tutorial

Drops the modelling/index.rst wrapper page - Model API (Python) and the
Modelling Tutorial are now separate top-level sections instead of both being
nested under a single "Modelling" entry, matching how Service Listing and
Metadata Listing already sit at the top level.

Moves the "TRAC Runtime for Python is on PyPI" note from the now-removed
wrapper page onto the tutorial's own landing page, and fixes the one
dangling :doc: reference to modelling/index in overview/key_concepts.rst.
Rewrite the introduction page, fold metadata_model into the overview
nav, and drop the separate key_concepts page as part of flattening
the top-level nav. Also fixes a short heading underline and seven
broken :class:/:meth: cross-references in metadata_model.rst that
were using the wrong module prefix (trac.* instead of tracdap.*),
which silently degraded them from links to plain text.
…nology

Split Chapter 1 (Hello World) into Local Setup and Hello World, and
Chapter 4 (Inputs & Outputs) into Optional Inputs & Outputs and Dynamic
Schemas, so each chapter covers one topic. Renumbers the remaining
chapters and fixes chaining.rst's cross-reference, which pointed to
hello_world for repository layout content that now lives in local_setup.

Also resolves 45 bare "TRAC" references across the tutorial pages using
an explicit convention: "the runtime" for behavioral/execution
statements (schema validation, type conversion, flow wiring), and
"TRAC D.A.P." for product-level statements (install intros, version
references, the metadata store). Fixes two incidental typos found along
the way (aTRAC -> a, thw -> the).
…acy, terminology

- Drop hardcoded "Chapter N -" title prefixes; numbering is now handled by the
  tutorial index's own toctree (:numbered: 1), scoped to chapter titles only
- Merge "Wrapping Models" into "Using Data" as one chapter - the former was a
  thin preamble to the same example and didn't stand on its own
- Add four new tutorial chapters: Using Files, Using STRUCTS, Using Polars,
  Runtime Metadata; reorder the toctree to group them logically
- Rename "File Inputs & Outputs" -> "Using Files" and "Structured Data" ->
  "Using STRUCTS" for consistency with the "Using X" naming used elsewhere
- Fix local_setup.rst: PySpark is declared as an extra in setup.cfg but has no
  working implementation (read/write_spark_table are unimplemented stubs), so
  drop it from the install instructions; treat Pandas/Polars symmetrically as
  optional dataframe extras instead of singling Pandas out; note NumPy is
  pulled in automatically with the pandas extra; add upper version bounds for
  Pandas/NumPy that were missing; add a section on installing third-party
  packages a model needs (e.g. Matplotlib) that aren't part of the runtime's
  own dependencies at all
- Add an intro to local_setup.rst explaining these tutorials build models
  locally with no code changes needed to run on the platform
- Replace inconsistent "sandbox" wording with "locally"/"dev mode" to match
  terminology used throughout the rest of the tutorials
- Expand hello_world.rst to actually define dev mode: the runtime infers
  metadata (object IDs, storage definitions, schemas) instead of requiring it
  up front, enabled by default in launch_model() vs. the --dev-mode flag
  needed on the command-line launcher
- Swap the shared banner image for a distinct runtime_logo.png (recolored
  icon + explicit "tracdap-runtime" label), replacing the old tracmmp
  banner across all 5 READMEs; fix the alt text to match
- Rewrite the main README intro ("Universal Model Runtime") and
  Documentation section wording
- Use "Fintrac Limited" as the linked maintainer name in the License and
  Enterprise sections, and clarify Enterprise support is for the trac
  platform specifically
- Fix PROJECT_DESCRIPTION in all 4 extension _settings.py files: "TRAC
  D.A.P." -> "tracdap-runtime", since these extensions plug into the
  runtime package, not the platform as a whole
- Align extension README banners/body text with the same "tracdap-runtime"
  naming, and drop the "pre-release, finalized in TRAC 0.10" line now
  that 0.10 has shipped
- Replace remaining ambiguous bare "TRAC" mentions (used as a stand-in for
  the runtime) with "the runtime" / "tracdap-runtime" throughout; leave
  intact established compound terms that name distinct, real things
  (TRAC platform, TRAC model, TRAC secrets mechanism)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant