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 .

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.0.tar.gz (435.4 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.0-py3-none-any.whl (454.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: easy_dataset_share-0.2.0.tar.gz
  • Upload date:
  • Size: 435.4 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.0.tar.gz
Algorithm Hash digest
SHA256 8c22bb690dcff028a8c47cd249f96e90d5f745241291ec4fb414589d3ee1a4fa
MD5 e589b18a43825d073b8fdcc2614b2f25
BLAKE2b-256 362a9c4c2749500fd053510a0a996c6e705c95a5084e3986a5dfb9a443cc99fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for easy_dataset_share-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 50e3c9019e436128b14cc92560e8f1dd31e5b3845c597ba7df3bfb3c11d2a6d2
MD5 d8c02d21504a9896e8bfaeefc4f11e05
BLAKE2b-256 49a15b8b51616dde700b713962776ae4c02cae1eb27fb50c31bda3fc8b3060c6

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