Skip to main content

Coding-Academy Lecture Manager - A course content processing system

Project description

CLM - Coding-Academy Lecture Manager

CI codecov

Version: 1.0.6 | License: MIT | Python: 3.11, 3.12, 3.13, 3.14

CLM is a course content processing system that converts educational materials (Jupyter notebooks, PlantUML diagrams, Draw.io diagrams) into multiple output formats.

Quick Start

Installation

# Install from PyPI
pip install coding-academy-lecture-manager

# Or with all optional dependencies (workers, TUI, web dashboard)
pip install "coding-academy-lecture-manager[all]"

For development, clone the repository and install in editable mode:

git clone https://github.com/hoelzl/clm.git
cd clm
pip install -e ".[all]"

Basic Usage

# Convert a course
clm build /path/to/course.xml

# Watch for changes and auto-rebuild
clm build /path/to/course.xml --watch

# Show help
clm --help

Features

  • Multiple Output Formats: HTML slides, Jupyter notebooks, extracted code
  • Multi-Language Notebooks: Python, C++, C#, Java, TypeScript
  • Diagram Support: PlantUML and Draw.io conversion
  • Multiple Output Targets: Separate student/solution/instructor outputs
  • Watch Mode: Auto-rebuild on file changes
  • Incremental Builds: Content-based caching

Documentation

For Users:

For Developers:

Development Setup

# Install pre-commit hooks (recommended)
uv run pre-commit install

# This enables automatic linting (ruff) and type checking (mypy) on every commit

Testing

# Run unit tests
pytest

# Run all tests (unit, integration, e2e)
pytest -m ""

# Run with coverage
pytest --cov=src/clm

License

MIT License - see LICENSE for details.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coding_academy_lecture_manager-1.0.6.tar.gz (595.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

coding_academy_lecture_manager-1.0.6-py3-none-any.whl (353.2 kB view details)

Uploaded Python 3

File details

Details for the file coding_academy_lecture_manager-1.0.6.tar.gz.

File metadata

  • Download URL: coding_academy_lecture_manager-1.0.6.tar.gz
  • Upload date:
  • Size: 595.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for coding_academy_lecture_manager-1.0.6.tar.gz
Algorithm Hash digest
SHA256 f5a714911a143e4ef22f0b4cc9a8e587cc8a59109fc5f7765a48cb34fb53bd68
MD5 0decb45a05f4d34c638753a007efbf08
BLAKE2b-256 a8ba080c9e6a82e724bd966f63de750d3ca6d1d9120b3232a5fcaf9b1cb44d8b

See more details on using hashes here.

File details

Details for the file coding_academy_lecture_manager-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: coding_academy_lecture_manager-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 353.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for coding_academy_lecture_manager-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 870a50b2d73b2f6fd9d22114ad71461324f4d3e382c208cc3cd5475d2c61e1a3
MD5 bd429b5e29b003dc092bac3cb0a94603
BLAKE2b-256 feeab0c7e2cb1a4c85bac77691e66ec876d9cb2edbca4acdf465c3eaea1b3898

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page