Skip to content
AI & Agents
Skill

/pytdc

Use Therapeutics Data Commons through the PyTDC Python package for registry discovery, approved dataset access, task-aware splits, evaluator metrics, benchmark groups, and bounded molecular-oracle workflows.

From plugin
k-dense-ai-scientific-agent-skills
45k166 skills
Install
$ npx -y skills add k-dense-ai/claude-scientific-skills --skill pytdc --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/pytdc

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use Therapeutics Data Commons through the PyTDC Python package for registry discovery, approved dataset access, task-aware splits, evaluator metrics, benchmark groups, and bounded molecular-oracle workflows.

SKILL.md

pytdc.SKILL.md
name: pytdc
description: Use Therapeutics Data Commons through the PyTDC Python package for registry discovery, approved dataset access, task-aware splits, evaluator metrics, benchmark groups, and bounded molecular-oracle workflows.
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. Dataset, benchmark, checkpoint, and remote-oracle operations require network/storage review and explicit user approval.
metadata:
  version: "1.2"
  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-07-23**
  • 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 tested macOS ARM64 resolution installed 123 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 --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. **Ask the user 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 only after approval.** 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 --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 --python 3.11 --with "setuptools==80.9.0" --with "PyTDC==1.1.15" \
  python scripts/discover_metadata.py --kind benchmarks --limit 50

uv run --python 3.11 --with "setuptools==80.9.0" --with "PyTDC==1.1.15" \
  python scripts/discover_metadata.py --kind evaluators --limit 100

The package API is also metadata-only:

from tdc.utils imp
Read more
Ships withk-dense-ai-scientific-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.

Get the whole plugin
Stats
44,280
Stars
4,019
Forks
Active
Maintenance
Python
Language
MIT
License
9d ago
Last commit
11mo ago
Created
15d ago
Added

Repo: k-dense-ai/claude-scientific-skills