Skip to content
Skillpedia
Machine learning51k · #1955

pytdc

Lets your agent use datasets and benchmarks for drug discovery. It's useful for health and biology research.

What it does

PyTDC is a tool that helps scientists find and use data for drug discovery research. It allows you to discover datasets, load information, and evaluate test results.

When to use it

  • ✓When you need to find data about drug testing.
  • ✓When loading datasets for analysis.
  • ✓To evaluate the accuracy of drug prediction models.

Example of what to ask your AI

“What datasets are available for drug toxicity research?”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/pytdc/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/pytdc/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

PyTDC organizes and provides access to drug research data. It lets you choose which data to use and how to evaluate it, without needing to download everything at once.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add K-Dense-AI/scientific-agent-skills --skill pytdc

Or download just the file:

curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/pytdc/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

PyTDC (Therapeutics Data Commons)

Use the official PyTDC distribution (import tdc) to discover therapeutic ML tasks, load approved datasets, apply task-appropriate splits, evaluate predictions, and work with curated benchmark groups. Prefer package metadata over copied dataset lists, and plan network/storage effects before constructing any loader.

Verified snapshot

  • Research date: 2026-10-01
  • PyPI stable: PyTDC 1.1.15, released 2025-03-31
  • Package/source repository: mims-harvard/TDC
  • Code license: MIT
  • PyPI supplies only a source distribution and declares no Requires-Python
  • The dependency graph makes CPython 3.11 the reproducible target used here: cellxgene-census==1.15.0 excludes Python 3.12, and PyTDC's constrained RDKit release has no CPython 3.13 wheel
  • PyTDC imports deprecated pkg_resources at runtime. Setuptools 82 removed that module; pin the verified compatibility release setuptools 80.9.0.
  • tdc.readthedocs.io still identifies itself as TDC 0.4.1; use it as API cross-reference, not as release-version evidence
  • Upstream publishes no GitHub tags/releases or maintained changelog. Treat undocumented migration claims as uncertainty and verify against the installed 1.1.15 source/metadata.

See references/sources.md for dated evidence and known documentation conflicts.

Installation

Use an isolated CPython 3.11 environment and pin the reviewed snapshot:

uv venv --python 3.11 .venv-pytdc
uv pip install --dry-run --python .venv-pytdc/bin/python \
  "setuptools==80.9.0" "PyTDC==1.1.15"
uv pip install --python .venv-pytdc/bin/python \
  "setuptools==80.9.0" "PyTDC==1.1.15"

The current macOS ARM64 test resolution installed 128 packages, including large scientific/ML dependencies, so the environment itself can transfer and occupy hundreds of megabytes before any dataset is downloaded. Review the dry run and available disk first. The direct pins identify the reviewed API snapshot; generate a platform-specific uv.lock in the user's project when every transitive version must also be frozen.

For an ephemeral command:

uv run --no-project --isolated --python 3.11 \
  --with "setuptools==80.9.0" --with "PyTDC==1.1.15" \
  python scripts/discover_metadata.py --kind tasks

To check for a newer release, inspect the PyPI release history at https://pypi.org/project/pytdc/. Before changing the pin, compare its source distribution, dependencies, official repository, task registries, and smoke tests; do not silently substitute the separate pytdc-nextml package.

Non-negotiable data and network policy

  1. Discover first. Reading tdc.metadata or using scripts/discover_metadata.py does not instantiate a loader or download data.
  2. Plan second. Record the exact task/dataset, official task page, license, expected size, cache directory, split, metric, and reproducibility seed.
  3. Confirm the authorized scope before downloading. Loader constructors fetch missing data. Some datasets and benchmark-group archives are large; model-backed oracles can fetch checkpoints; remote/docking oracles can transmit molecular structures.
  4. Execute within that scope. In bundled CLIs, --execute acknowledges execution and --download is additionally required for MolGen corpora or supported oracle checkpoints.
  5. Keep outputs bounded. Emit counts, schema, and small previews rather than full datasets, sequences, prediction arrays, or molecule corpora.

Cache and cost behavior

  • Ordinary loaders default to path="./data" and save files beneath that path. The bundled scripts instead default to explicit .pytdc-* directories.
  • Core downloads use Harvard Dataverse file endpoints when a local filename is absent. Newer resource classes may use other upstream services.
  • admet_group(path=...) and other benchmark-group constructors download and extract the group archive when <path>/<group> is absent.
  • Download-backed Oracle(...) construction uses ./oracle internally. The bundled oracle CLI changes into a safe runtime directory before approved calls.
  • PyTDC 1.1.15 does not provide a universal cache quota, eviction policy, or dataset-wide checksum manifest. Use scripts/cache_audit.py and manage disk retention explicitly.
  • Network transfer, local storage, decompression, parsing, feature generation,

…

FAQ

What are 'Therapeutics Data Commons'?

These are organized collections of data to aid in the research and development of new medicines.

Do I need to download all the data to start?

No, you can first discover what data exists and then choose what you need to download.

Is this tool free to use?

The PyTDC code is MIT licensed, but the data and tasks may have different licenses. It's important to check the terms for each dataset.

Details

Original description by the author

Provides Therapeutics Data Commons workflows through PyTDC for registry discovery, dataset access, task-aware splits, evaluator metrics, benchmark groups, and bounded molecular-oracle scoring. Use when working with TDC therapeutic ML datasets or benchmarks.

repo: K-Dense-AI/scientific-agent-skills

Popularity

GitHub stars
51k
Ranking position
#1955
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills