Skip to main content

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 GitHub
  • analyze: Parse downloaded notices and extract takedown data
  • db: Rebuild the complete DMCA database (download + analyze)
  • stats: Show statistics about the database content
  • notices <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


Download files

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

Source Distribution

dmcaed-2026.4.18.1.tar.gz (6.7 MB view details)

Uploaded Source

Built Distribution

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

dmcaed-2026.4.18.1-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

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

Hashes for dmcaed-2026.4.18.1.tar.gz
Algorithm Hash digest
SHA256 6df6326211c1e950165d39a5212b7cba1b23127fb54ecf557995c70b26acad26
MD5 7d05b750349150bf68ad6edf0cf0ea6e
BLAKE2b-256 2128fd17f27f2cda9733119b7e19f8d996f87d82f0f8b0193409e8fa94732258

See more details on using hashes here.

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

Hashes for dmcaed-2026.4.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 af8322152372b9e80093b9c21a75014b3d936945c0791c597ddd8878d94fbbf2
MD5 0b8be7746b8053ee9ad6ad341bcc4442
BLAKE2b-256 7bbf14e50876c3e2b55cb03d86508af48d8913b93ac359b678942ba496ff085f

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