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/<tutorials
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 tutorial .md pages live
    projects: projects            # where the project .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.5

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.5
File Size Uploaded Provenance
neuromatch_course_kit-0.1.5.tar.gz 312.9 kB With provenance Details

Built distribution (wheel)

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

Total release size: 454.9 kB

Release files / neuromatch_course_kit-0.1.5.tar.gz

Download URL neuromatch_course_kit-0.1.5.tar.gz
Size 312.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8f5f6d92d5fe9de438c402a75baaa49aab91a2e48df08c6f946e77871ffdd67d
BLAKE2b-256 checksum
How to use checksums
a9c55e75d5ad312ae393176eb64a7f1ebc201e9a066379709895fab3298e01f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

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

Download URL neuromatch_course_kit-0.1.5-py3-none-any.whl
Size 141.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6168d66838b35c32c6fb89ea46520c97c67fa61bdd48951cc82a8511b79de5a5
BLAKE2b-256 checksum
How to use checksums
5bb3bb1bb9dd5979dd4ec2a4722a644d65d25bac178d94e6b31590bd6442c0a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Security for neuromatch-course-kit 0.1.5

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.5.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 24, 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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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