Skip to main content

📚 Lecture Manager

Unified media manager for YouTube lectures, Facebook content, offline article reading, question banking, and productivity tracking.

Python License: MIT


🌟 Features

📺 YouTube Lectures

  • Add lectures via YouTube URL or video ID
  • Auto‑detect title, lecturer, date, and time from the title
  • Organise files into a structured folder tree (by paper, subject, chapter)
  • Download videos in 720p (or lower) with metadata and thumbnails
  • Local playback via embedded player (web UI) or external player (CLI)
  • YouTube upload (unlisted) with automatic mirror ID linking
  • Mirror management – link original videos to uploaded copies

📘 Facebook Content

  • Download videos, reels, and photos from Facebook
  • Auto‑detect uploader and title
  • Organise files by type (video/photo) with MD5‑based filenames
  • Full database tracking with export/import

❓ Question Bank (New!)

  • Import/export questions in multiple formats: TXT, CSV, JSON, XML (Moodle), HTML
  • Support for four question types: essay, multichoice, truefalse, matching
  • Context‑aware import – set global defaults (date, institution, level, paper, group, subject) and reuse them across questions
  • Reading passage feature – define once, reuse in many questions
  • Group questions into exam sections
  • Web UI for browsing, searching, and viewing whole papers
  • Advanced search and filtering

⏱️ Pomodoro Timer (New!)

  • Built‑in Tkinter GUI timer with study sessions, short/long breaks
  • Task management with priority, completion, and bulk add
  • Study logging with subjects, session types (study/revision/pretest/exam)
  • Daily, weekly, and monthly progress tracking
  • Badges and streak tracking to keep you motivated
  • Detailed analytics with charts (matplotlib)

📰 Offline Article Reader (Instapaper Integration)

  • Save articles, YouTube lectures, or questions to Instapaper
  • Offline storage of full article content with local search
  • OAuth authentication and full API sync

🌐 Web Interface (Flask)

  • Dashboard with library statistics and paper breakdown
  • Browse and manage YouTube and Facebook entries
  • View questions, whole papers, and browse by chapter
  • Import/export questions via the web UI
  • Stream local video files directly in the browser

🛠️ CLI Tools

  • Full terminal interface with colour‑coded menus
  • Tally and sync database with actual files
  • Duplicate detection and resolution
  • Backup, restore, and trash management
  • File compression (re‑encode to 480p H.264) to save space
  • Share/restore files via a shared directory

🗄️ Database Backend

  • MariaDB/MySQL with automatic schema creation and migration
  • Unique constraints prevent duplicate questions and lecture records
  • Transaction‑safe import/export operations

🔊 Sound / Beep

The Pomodoro timer uses a beep to signal session end. If you don't hear a sound:

  • In Konsole, enable the audible bell in Settings → Notifications.
  • Or install beep: sudo apt install beep
  • On some systems, the paplay or speaker-test fallbacks will work without extra setup.

🚀 Quick Start

Prerequisites

  • Python 3.8 or higher
  • MariaDB/MySQL server
  • ffmpeg (for video processing)
  • deno (optional, used by some internal tools)

Installation

# Clone the repository
git clone https://github.com/blee-design/lecture-manager.git
cd lecture-manager

# Create a virtual environment and install the package
make setup

Release files for lecture-manager 3.0.2.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lecture-manager 3.0.2.post1
File Size Uploaded
lecture_manager-3.0.2.post1.tar.gz 236.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lecture-manager 3.0.2.post1
File Interpreter ABI Platform
lecture_manager-3.0.2.post1-py3-none-any.whl Python 3 none any Details

Total release size: 464.4 kB

Release files / lecture_manager-3.0.2.post1.tar.gz

Download URL lecture_manager-3.0.2.post1.tar.gz
Size 236.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1ae9c8d2ed02bf4e6e7fec36023aeb9549c8a71a2e27261bf7b1ec90a1a9379d
BLAKE2b-256 checksum
How to use checksums
2ea3f983da154b571e37b94f5508be89ecc2c145e0e7b0f13069b8b9f00e609c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / lecture_manager-3.0.2.post1-py3-none-any.whl

Download URL lecture_manager-3.0.2.post1-py3-none-any.whl
Size 227.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c6457691725fca92a04638bab0276a551411d84e7e701a732a486626342a840a
BLAKE2b-256 checksum
How to use checksums
88664d1b4cb45634ec40559e0d0999aff580ffb58fbca8389cc7b39b9fd367c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6
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