Skip to main content

Coding-Academy Lecture Manager - A course content processing system

Project description

CLM - Coding-Academy Lecture Manager

CI codecov

Version: 1.2.0 | 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, Markdown
  • 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
  • LLM Summaries: Generate course summaries with clm summarize using any OpenAI-compatible LLM API
  • Recording Management: Manage video recording workflows with pluggable backends — local ONNX pipeline, iZotope RX 11 external tool, or Auphonic cloud processing — plus assembly, job tracking, and per-course status (clm recordings)
  • MCP Server: Model Context Protocol server for AI-assisted slide authoring (clm mcp) with 12 tools for course navigation, validation, normalization, and bilingual editing
  • Slide Authoring Tools: Topic resolution (clm resolve-topic), fuzzy search (clm search-slides), spec/slide validation (clm validate-spec, clm validate-slides), normalization (clm normalize-slides), bilingual language view (clm language-view), sync suggestions (clm suggest-sync), voiceover extraction (clm extract-voiceover), and structured JSON outlines (clm outline --format json)
  • Voiceover Sync: Synchronize video recordings with slides to auto-generate speaker notes (clm voiceover sync)
  • LLM Polish: Clean up speaker notes with LLM-powered text polishing (clm polish)
  • Git Integration: Manage output repos with clm git init/sync/status, including --amend and --force-with-lease for iterative workflows
  • Flexible Remote URLs: Configurable git remote URL templates for SSH, custom hosts, etc.

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.2.0.tar.gz (850.9 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.2.0-py3-none-any.whl (553.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: coding_academy_lecture_manager-1.2.0.tar.gz
  • Upload date:
  • Size: 850.9 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.2.0.tar.gz
Algorithm Hash digest
SHA256 da5829e629c3f6db780931b85fbd2769cf74c0170c3c7064ab4e7479c2bd3d2a
MD5 484a9fd2a46946c97127a69b37523920
BLAKE2b-256 57bfdfb90f3e19b0bfb73a2d03835acdd08921bd20680a54a375c0b5c84bd7b4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: coding_academy_lecture_manager-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 553.8 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 283d1e1c32fd7b28e659d263023e8bda151f9c2a2aeef604fe8baac07bda3e45
MD5 54903852e67bacac19fdaa5c470f4f69
BLAKE2b-256 437197a5e04369bc016625152718a8081a4870f39d60a42e5b7a5f0c254e6a18

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