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.2.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.2-py3-none-any.whl (454.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: easy_dataset_share-0.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 994e7df0da9a657b24cb023e3dc1555d078acbb0c8bfcdf0aba3dc31b470784a
MD5 7dddd780d4d77dae09d0d0e41e083085
BLAKE2b-256 36064856c9c9b266b836854d270648fa588a5489cd05a3febe7f025cdbab660f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for easy_dataset_share-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6ebdcb813c5daba549c57a94c6f4fe332b903bcc776676e37237d924e81c9377
MD5 8f25f3d7fabb371d90ada9bc4fc308e6
BLAKE2b-256 f0138dcdd795dfbb49ef9e85421842ae90a1aa7e46c896fe5bef65d17d7b29a2

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