Skip to main content

CLI tool to responsibly share datasets by gzipping, canarying, and tracking provenance.

Project description

Easy Dataset Share

A CLI tool that helps AI researchers share datasets responsibly. Prevents evaluation contamination by making datasets easy for researchers to use but hard for automated scrapers to ingest.

Features

  • Canary markers: Unique identifiers to detect if your dataset was used for training
  • Hash verification: Ensures dataset integrity through SHA256 hashing
  • Protection layers: ZIP compression, optional encryption, robots.txt
  • Clean removal: Remove all protection while preserving original data

Installation

pip install easy-dataset-share

For development:

git clone https://github.com/Responsible-Dataset-Sharing/easy-dataset-share
cd easy-dataset-share
pip install -e .
git config core.hooksPath .githooks

Quick Start

Protect a dataset

easy-dataset-share magic-protect-dir /path/to/dataset -p your-password

Unprotect and clean

easy-dataset-share magic-unprotect-dir dataset.zip -p your-password --remove-canaries

Verify integrity

easy-dataset-share hash /path/to/dataset

Commands

Protection

  • magic-protect-dir - Add canaries, robots.txt, zip and encrypt
  • magic-unprotect-dir - Extract and optionally remove canaries

Verification

  • hash - Hash directory contents (excludes canaries)
  • get-canary-string - Get dataset's unique identifier

Individual operations

  • add-canary / remove-canary - Manage canary files
  • add-robots / add-tos - Add usage restrictions

How it Works

  1. Hash original dataset for integrity baseline
  2. Add canary markers throughout the dataset
  3. Package with robots.txt and optional encryption
  4. Verify integrity when unprotecting (canaries removed, data unchanged)

Example Workflow

# Protect
easy-dataset-share magic-protect-dir my_dataset -p secret123

# Share dataset.zip publicly

# Recipients unprotect and remove canaries
easy-dataset-share magic-unprotect-dir dataset.zip -p secret123 --remove-canaries
# Output shows: "📊 Dataset hash: abc123..." (matches original)

Use -v for verbose output to see hashing details and canary operations.

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

easy_dataset_share-0.3.0.tar.gz (436.0 kB view details)

Uploaded Source

Built Distribution

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

easy_dataset_share-0.3.0-py3-none-any.whl (454.8 kB view details)

Uploaded Python 3

File details

Details for the file easy_dataset_share-0.3.0.tar.gz.

File metadata

  • Download URL: easy_dataset_share-0.3.0.tar.gz
  • Upload date:
  • Size: 436.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for easy_dataset_share-0.3.0.tar.gz
Algorithm Hash digest
SHA256 3dbeaf3a75dbd4841835b085fab72754cb0a41d24f222a20fa1d4bfa0e16bfd3
MD5 d9635d188b3355e09ab2ea567fc85d9a
BLAKE2b-256 9acae9d34a9990143df3a4801135ee9118c6e9f8f559f944f4ceefae88aa656f

See more details on using hashes here.

File details

Details for the file easy_dataset_share-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for easy_dataset_share-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c1774652e60e3453ca9969582184751df67b5e9d15634f1b2bdef0cdfb563d4d
MD5 2dccdfbb996eaedbe6149bc04bef340b
BLAKE2b-256 22d77df5c62742f3b5bef6c2688325294976fd49c5ed039eaff8fdde16adb900

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