Skip to main content

neuromatch-course-kit

The nma-kit command line for Neuromatch courses written in MyST Markdown. It is one half of the Neuromatch course kit; the other half is the MyST plugin on npm, @neuromatch/course-kit. Both ship under the same version.

Courses usually don't install this by hand: the reusable GitHub workflows in the kit repository do. To use it locally:

uv venv && uv pip install -r requirements.txt "neuromatch-course-kit==0.1.*"
uv run nma-kit check
uv run myst start

Requires Python 3.10 or newer. Run every command from the course root (the folder with myst.yml).

Commands

Command What it does
nma-kit check Validate the content rules and the nma: block of myst.yml
nma-kit notebooks [--dry-run] Generate student and instructor notebooks and the solution files into notebooks/
nma-kit sync-assets Write the site branding (stylesheet, logos, favicon, Rubik font) to _nma/, which the course's myst.yml points at
nma-kit render-scrolly Run each scrolly page's instructor notebook and save outputs to _build/scrolly/
nma-kit prepare-site [--dry-run] [--kit-version V] Add badges and fallback cells to the pages, pin the kit URL in myst.yml and run sync-assets. CI only: it edits files in place, never commit the result
nma-kit publish-notebooks [--remote R] [--message M] Push notebooks/ to the notebooks branch (created if missing)

Exit codes: 0 ok, 1 content problems or a failed publish, 2 usage or configuration errors.

Settings

Read from myst.yml: project.github gives the repository, and the optional top-level nma: block holds the rest.

nma:
  paths:
    tutorials: tutorials          # where the .md pages live
  notebooks:
    branch: notebooks-branch      # where generated notebooks are published
  feedback:                       # required if any page uses {nma-feedback}
    url: https://...
    project: ...
    user_key: ...
  brand:                          # site colours, "#RRGGBB" each (see below)
    primary: "#008CBF"
  style:
    extra: _static/extra.css      # your own CSS, appended after the kit's

Site branding

sync-assets writes _nma/site.css, logo.svg, logo-dark.svg and favicon.png. List them in myst.yml:

site:
  options:
    style: _nma/site.css
    logo: _nma/logo.svg
    logo_dark: _nma/logo-dark.svg
    favicon: _nma/favicon.png

The stylesheet is the kit's (Neuromatch palette, Rubik embedded, so the kit's own CSS makes no font requests, styles for the kit's widgets), then your nma.brand colours, then your nma.style.extra CSS. Brand keys: primary, primary_hover, primary_light, secondary, accent. Setting only primary derives the hover and light variants. _nma/ ignores itself, so don't commit it; run sync-assets again after upgrading the kit.

Values in nma: must be plain strings in one level of sections.

Versions

The kit is on 0.x. A breaking change bumps the minor version, so ==0.1.* only receives compatible fixes. The CLI and the npm plugin always share a version number, and prepare-site pins the plugin URL to the CLI's own version.

Source, docs and release process: https://github.com/neuromatch/course-kit.

BSD-3-Clause.

Metadata

Release files for neuromatch-course-kit 0.1.3

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

Source distribution (sdist)

Source distribution for neuromatch-course-kit 0.1.3
File Size Uploaded Provenance
neuromatch_course_kit-0.1.3.tar.gz 305.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for neuromatch-course-kit 0.1.3
File Interpreter ABI Platform
neuromatch_course_kit-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 440.2 kB

Release files / neuromatch_course_kit-0.1.3.tar.gz

Download URL neuromatch_course_kit-0.1.3.tar.gz
Size 305.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e35d5b149a22fd1121987bc225e5963831d98dfd1351170c06b779b099a63efc
BLAKE2b-256 checksum
How to use checksums
22fc1290ba3ed4a18456861e9554d5fbeb507464e0438ac3f9096cad8ec9f13c
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 20, 2026.

Transparency log

Release files / neuromatch_course_kit-0.1.3-py3-none-any.whl

Download URL neuromatch_course_kit-0.1.3-py3-none-any.whl
Size 134.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a84f2e601b439d7b63ba37139c82184faaf130343b1fb1dd5534c989f8dcd417
BLAKE2b-256 checksum
How to use checksums
20895cd34b8792be20aa3a796b0226a9cb45769fb203ab42b0cbb73188a300e7
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 20, 2026.

Transparency log

Security for neuromatch-course-kit 0.1.3

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 neuromatch_course_kit-0.1.3.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 20, 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.

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