Skip to content
Data
Skill

/pytdc

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.

From plugin
scientific-agent-skills
56k177 skills

Claude Code

$ npx -y skills add K-Dense-AI/scientific-agent-skills --skill pytdc --agent claude-code

SKILL.md

pytdc.SKILL.md
name: pytdc
description: 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.
license: MIT
allowed-tools: Read Write Edit Bash
compatibility: Requires uv, CPython 3.11, PyTDC 1.1.15, and setuptools 80.9.0 for its legacy pkg_resources runtime import. Network access and disk space are needed for dataset, benchmark, and checkpoint downloads; optional oracles require their service or docking dependencies.
metadata:
  version: "1.4"
  last-reviewed: "2026-10-01"
  skill-author: K-Dense Inc.

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](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,

docking, and external service calls can all incur time or monetary cost.

The PyTDC **code** is MIT. Dataset/task licenses are heterogeneous: official task pages include per-dataset terms ranging from Creative Commons licenses to non-commercial restrictions or โ€œNot Specified.โ€ Verify the exact dataset's page and original source terms before download, redistribution, publication, or commercial use. Cite both TDC and the original dataset.

Start with metadata-only discovery

From this skill directory:

uv run --no-project --isolated --python 3.11 --with "setuptools==80.9.0" --with "PyTDC==1.1.15" \
  python scripts/discover_metadata.py --kind datasets --task ADME --limit 50

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

uv run -
Read more
@k-dense-ai
Ships withscientific-agent-skills

๐Ÿ”” Claude Scientific Skills is now Scientific Agent Skills. Same skills, broader compatibility โ€” now works with any AI agent that supports the open Agent Skills standard, not just Claude.

Stars on GitHub

Momentum

stars in total
55.6k
Star history of K-Dense-AI/scientific-agent-skills on GitHub, a chart by star-history.com

Other skills on scientific-agent-skills.

aeon

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting,โ€ฆ

More skills from other plugins.

paddleocr-doc-parsing

paddleocr-doc-parsing

Use this skill to extract structured Markdown/JSON from PDFs and document imagesโ€”tables with cell-level precision, formulas asโ€ฆ

@paddlepaddle@paddlepaddleInstall Skill
context-loader
Auto-invoked

context-loader

Search memories from earlier Pi sessions in this repository. Use it when earlier work may already explain the code, error,โ€ฆ

mem04d69k
@mem0ai@mem0aiInstall Skill
analyzing-ai-citations

analyzing-ai-citations

Answer AI citation and answer engine optimization (AEO) questions in PostHog: whether AI answer engines (ChatGPT, Claude, and anโ€ฆ

posthog10d41k
@posthog@posthogInstall Skill
qmd

qmd

Search local markdown knowledge bases, notes, docs, and wikis with QMD. Use when users ask to find notes, retrieve documents,โ€ฆ

qmd3w31k
@tobi@tobiInstall Skill

Questions about pytdc.

Which coding agents can use pytdc?
pytdc installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.