Check if a software URL is found in takedown notices.
Project description
DMCAed
A command-line tool and a python library to analyze GitHub DMCA takedown notices. It downloads, parses, and indexes takedown data from the GitHub DMCA repository to allow querying which repository URL can be found in takedown requests. Please note that this only means the repository URL might have been subject to takedown requests.
Installation
DMCAed requires at least python 3.11.
pip install dmcaed
CLI
dmcaed [--verbose] [command]
Commands
download: Download the latest DMCA notices from GitHubanalyze: Parse downloaded notices and extract takedown datadb: Rebuild the complete DMCA database (download + analyze)stats: Show statistics about the database contentnotices <url>: List takedown notices for a specific repository URL
Options
--verbose: Enable debug logging-h,--help: Show help message
Library Usage
from dmcaed import DMCAed
dmca = DMCAed()
notices = dmca.notices("https://github.com/user/repo")
if notices:
print(f"https://github.com/user/repo _might_ be subject to a takedown: {notices}")
How it works
- Download the latest DMCA notices from GitHub
- Extract repository URLs (path to files, issues, releases, etc. are truncated) mentioned in takedown notices
- Build a local SQLite database mapping repository URLs to takedown notices
Build and Release
### Prerequisites
The project uses hatch build system and dynamic CalVer versioning based on the
current date.
pip install hatch hatch-calver
Git clone and install DMCAed.
git clone ssh://git@codeberg.org/canarduck/dmcaed.git
pip install -e .
Update the package and publish it on PyPI
You first need to fetch DMCAs and create/update the database.
dmcaed db
Then use hatch to update version number and build the package.
hatch version release
# use `hatch version release,fix` in case you need to fix an already released package
Build the package and publish it on PyPI.
hatch build
hatch publish --user __token__ --auth PYPI_AUTH_TOKEN
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dmcaed-2026.4.18.1.tar.gz.
File metadata
- Download URL: dmcaed-2026.4.18.1.tar.gz
- Upload date:
- Size: 6.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.11.11 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6df6326211c1e950165d39a5212b7cba1b23127fb54ecf557995c70b26acad26
|
|
| MD5 |
7d05b750349150bf68ad6edf0cf0ea6e
|
|
| BLAKE2b-256 |
2128fd17f27f2cda9733119b7e19f8d996f87d82f0f8b0193409e8fa94732258
|
File details
Details for the file dmcaed-2026.4.18.1-py3-none-any.whl.
File metadata
- Download URL: dmcaed-2026.4.18.1-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.11.11 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af8322152372b9e80093b9c21a75014b3d936945c0791c597ddd8878d94fbbf2
|
|
| MD5 |
0b8be7746b8053ee9ad6ad341bcc4442
|
|
| BLAKE2b-256 |
7bbf14e50876c3e2b55cb03d86508af48d8913b93ac359b678942ba496ff085f
|