Install EyeDataHub
EyeDataHub is a Python package with a command-line entry point named eyehub.
Requirements
- Python 3.10 through 3.14
- Optional platform credentials for gated hosts such as Kaggle, PhysioNet, or Hugging Face
- Enough local disk for datasets you intentionally download
From PyPI
Install the 0.7.0 package from PyPI:
python -m pip install --upgrade pip
python -m pip install "eyedatahub==0.7.0"
From GitHub
python -m pip install --upgrade pip
Editable Developer Install
git clone https://github.com/pooyakhosravi/EyeDataHub.git
cd EyeDataHub
python -m pip install -e .
pytest -q
Verify The Install
eyehub --version
eyehub search --json
eyehub show airogs --json
eyehub download airogs --dry-run --json
The current working installation should report 451 current catalog records in 446 dataset families. The catalog includes self-service, controlled, and author-contact routes; it is not a claim that every resource is open or downloadable.
Credentials
EyeDataHub does not bypass upstream access controls. Store local credentials in
a .env file at the repository root, or set them in your shell. Never commit
that file or include secrets in command output, issues, validation logs, or
provenance manifests.
cp .env.example .env
On Windows PowerShell:
Copy-Item .env.example .env
Uncomment and fill only the variables you need:
| Backend | Variables |
|---|---|
| Kaggle | KAGGLE_USERNAME, KAGGLE_KEY |
| Hugging Face | HF_TOKEN or HUGGING_FACE_HUB_TOKEN |
| Zenodo | ZENODO_TOKEN |
| Figshare | FIGSHARE_TOKEN |
| Mendeley Data | MENDELEY_TOKEN |
| Dryad | DRYAD_TOKEN, or DRYAD_CLIENT_ID and DRYAD_SECRET |
| Dataverse | DATAVERSE_TOKEN |
| PhysioNet | PHYSIONET_USERNAME, PHYSIONET_PASSWORD |
| Synapse | SYNAPSE_AUTH_TOKEN, or SYNAPSE_USERNAME and SYNAPSE_PASSWORD |
Shell variables take precedence over .env values. To use a credentials file
outside the repository, set EYEDATAHUB_ENV_FILE before running EyeDataHub:
export EYEDATAHUB_ENV_FILE="$HOME/.config/eyedatahub/private.env"
$env:EYEDATAHUB_ENV_FILE = "$HOME\.config\eyedatahub\private.env"
Manual, challenge-gated, author-contact, and data-use-agreement routes print official instructions and return a structured blocked status instead of attempting unauthorized transfer. EyeDataHub never accepts terms for a user.