Files
macos_security/install.md
Henry Stamerjohann 3b9a5c45d8 feat!: remove Ruby/AsciiDoctor -- typst PDF + Python HTML are the defaults
typst (PDF) and Python (HTML/Markdown) are now the only guidance engines
and the default with no flags. Delete the Gemfile, the output_format==adoc
branch (bundle exec asciidoctor[-pdf]), the adoc/ template tree, the
asciidoctor-pdf themes, and the --pdf-engine/--html-engine flags.

Canonical outputs unchanged for users: <baseline>_<lang>.pdf (typst) and
.html (Python); the intermediate is now .typ instead of .adoc. typst (the
'typst' Python package) is required for the PDF -- a missing package is a
hard error with a 'uv sync' hint (covered by a test). Keep asciidoctor.css
/ -dark.css, now inlined by the Python HTML backend. Also drop the unused
renovate config.
2026-08-13 15:37:50 +02:00

1.2 KiB

How to setup project to run on your local machine

Requirements

  • Python >= 3.12.1

Python Instructions

Follow the below instructions to setup the environment to work with the project.

Create virtual environment

python3 -m venv .venv

source .venv/bin/activate

Update pip and install python requirements

python3 -m pip install --upgrade pip

python3 -m pip install --upgrade -r requirements.txt

You can now run the ./mscp.py CLI to get started.

PDF generation (typst)

Guidance PDFs are rendered with typst (no Ruby, no LaTeX). It ships as the typst Python package — a regular project dependency — so the standard install above (or uv sync) is all you need; there is no separate tool to install. HTML and Markdown guidance are generated in pure Python.

Install as python module for development (optional)

Installing mSCP as a python module will allow developers to leverage the API to work with the MSCP data.

python3 -m pip install git+https://github.com/usnistgov/macos_security@main

You can now use the MSCP modules by way of import mscp in your own python tool.