Contributing

Setup

Dash Prism uses Poetry for Python dependency management and npm for the TypeScript frontend.

git clone https://github.com/LudwigAJ/dash-prism.git
cd dash-prism
poetry install --with dev,test,docs,demo
npm install
npm run build

If just is installed you can run just install && just build instead.

Tests

The project has both TypeScript (Vitest) and Python (pytest) tests:

# TypeScript tests
npm run test:ts

# Python unit tests (no browser required)
npm run test:unit

# Selenium integration tests (requires chromedriver)
npm run test:integration

# All tests
npm run test

Or with just:

just test-ts            # TypeScript only
just test-py            # Python unit only
just test-integration   # Selenium integration
just test               # All of the above

Code Style

  • Python: Black (line-length 100)

  • TypeScript: ESLint, Prettier

# Python
black dash_prism tests
mypy

# TypeScript
npm run lint
npm run format

Building Docs

poetry install --with docs
cd docs
make html