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 <repo-url>
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.2.1.tar.gz (435.7 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.2.1-py3-none-any.whl (454.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: easy_dataset_share-0.2.1.tar.gz
  • Upload date:
  • Size: 435.7 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.2.1.tar.gz
Algorithm Hash digest
SHA256 0b06aa4be175dc81f3ff7ce6e41d93593dc7ebd58229f6a172e8046526a761c5
MD5 23f51840345e62e278a086bb15376da8
BLAKE2b-256 be90ec9d24bc43d85112e3132cd35f47bb4a0a55dc0cec9b16597a52a91c48bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for easy_dataset_share-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ce6bb6712e536eaf34beceea222791a51e86eb2da27f0e32c7e24c64c26fb6e2
MD5 5a5ac8b540387841c72c9a57a3b1216c
BLAKE2b-256 0e29857db0da83c5350b5406b4a95f3d8d9f824501b66e592042dba50d979e12

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