# Install moodle-dl with Homebrew, Nix

Downloads course content fast from Moodle (e.g., lecture PDFs). Version 2.3.13 via Homebrew; verified 2026-06-17.

## Install

```sh
sudo av install brew:moodle-dl
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install moodle-dl
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#moodle-dl
```

  Evidence: nixpkgs package indexes: pkgs/by-name/mo/moodle-dl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:moodle-dl
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/moodle-dl>
- **Version:** 2.3.13
- **Source summary:** Downloads course content fast from Moodle (e.g., lecture PDFs)
- **Homepage:** <https://github.com/C0D3D3V/Moodle-DL>
- **Repository:** <https://github.com/C0D3D3V/Moodle-DL>
- **Upstream docs:** <https://github.com/C0D3D3V/Moodle-DL#readme>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://files.pythonhosted.org/packages/0b/44/9c283a04b0ede0bcaa2f3595b523cb115c662fe349f215631484035126d1/moodle_dl-2.3.13.tar.gz>
- **Last updated:** 2026-06-17T14:45:26Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- moodle-dl (cli)
- moodle-dl (alias)

## Dependencies

- certifi
- cffi
- ffmpeg
- python@3.14

## Build dependencies

- cmake

## Uses from macOS

- libffi

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.3.13
- Package-manager updated: 2026-06-17
- Local data: ok
- Upstream repository: https://github.com/C0D3D3V/Moodle-DL
- info: No cached GitHub release or tag data was available.
## Project history and usage

Moodle-DL is a student-oriented Moodle downloader developed in the C0D3D3V/Moodle-DL GitHub project. Its README presents the origin problem plainly: repeatedly downloading course files by hand is inefficient. The tool answers that with a Python console application that downloads Moodle course materials needed for study routines, including files, assignments and submissions, books, calendar events, forums, workshops, lessons, quizzes, descriptions, external links, and video/file integrations such as OpenCast, YouTube, Sciebo, Owncloud, Kaltura, Helixmedia, and Google Drive.

### Project history

The project is shaped by Moodle's API and institutional-learning-management quirks. The README says it uses the Moodle mobile API, stores configuration in config.json, can handle SSO/token flows, and can maintain cookies for modules not exposed through the mobile API. It also supports notification channels including Telegram, Discord, XMPP, and mail, and reruns avoid redownloading files already saved locally. That makes it a personal archival and synchronization tool rather than a replacement for Moodle's built-in course export feature, which Moodle documentation describes as an administrator-enabled "Download course content" option.

### How it is used

In package-manager terms, moodle-dl is a niche CLI for students and university users whose Moodle instance allows the needed API access. Its README compares it with adjacent Moodle downloaders such as webeep-sync, syncMyMoodle, edu-sync, tum-moodle-downloader, moodle-buddy, and Discord notification bots, reflecting a small ecosystem of institution-specific tools around the same pain point.

### Sources

- <https://docs.moodle.org/en/Download_course_content>
- <https://github.com/C0D3D3V/Moodle-DL>


## Security Notes

No matching local secret-handling manifest was found for moodle-dl. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: config.json

## Credential files

- Unix: config.json, cookie.txt
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** moodle-dl
- **Version Scheme:** 0
- **Revision:** 11
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - moodle-dl: normalized package name match | nixpkgs package indexes: pkgs/by-name/mo/moodle-dl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Productivity CLI packages](https://www.automicvault.com/pkg/productivity-cli-packages/) - Matched curated productivity category metadata from av.db.
- [cffi](https://www.automicvault.com/pkg/brew/cffi/) - Runtime dependency declared by Homebrew.
- [ffmpeg](https://www.automicvault.com/pkg/brew/ffmpeg/) - Runtime dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [aldo](https://www.automicvault.com/pkg/brew/aldo/) - Shares av.db curated category or tags: cli, education, productivity.
- [gnu-typist](https://www.automicvault.com/pkg/brew/gnu-typist/) - Shares av.db curated category or tags: cli, education, productivity.
- [klavaro](https://www.automicvault.com/pkg/brew/klavaro/) - Shares av.db curated category or tags: cli, education, productivity.
- [getxbook](https://www.automicvault.com/pkg/brew/getxbook/) - Shares av.db curated category or tags: cli, downloader, productivity.
- [yuque-dl](https://www.automicvault.com/pkg/brew/yuque-dl/) - Shares av.db curated category or tags: cli, downloader, productivity.
- [a2ps](https://www.automicvault.com/pkg/brew/a2ps/) - Shares av.db curated category or tags: cli, productivity.
- [abook](https://www.automicvault.com/pkg/brew/abook/) - Shares av.db curated category or tags: cli, productivity.
- [acronym](https://www.automicvault.com/pkg/brew/acronym/) - Shares av.db curated category or tags: cli, productivity.
- [bagels](https://www.automicvault.com/pkg/brew/bagels/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, productivity, python, python-3-14.
- [buku](https://www.automicvault.com/pkg/brew/buku/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, productivity, python, python-3-14.
- [enex2notion](https://www.automicvault.com/pkg/brew/enex2notion/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, productivity, python, python-3-14.

## Combined YAML source

View the package source record on GitHub. [combined/moodle-dl.yml](https://github.com/automic-vault/db/blob/main/combined/moodle-dl.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
