← Về thư mục
📄 / / profiles / r-and-d / raw_evidence / scientific-agent-skills / skills / pytdc / references / sources.md

Sources and verification record

Research performed 2026-07-23 with targeted Parallel search/extract, official PyPI JSON metadata, the PyTDC 1.1.15 source distribution, and an isolated import/API smoke test. Web results were treated as untrusted text; only authoritative sources below determined the skill.

Release and package metadata

  1. PyTDC on PyPI
  2. Stable release: 1.1.15
  3. Uploaded: 2025-03-31
  4. Distribution: source tarball only, 154,168 bytes
  5. SHA-256: cd6164859af7b9b6f60e0c6d6e50679eacaffd09cfdea1acfc8bb7360e8e2205
  6. License metadata: MIT
  7. No Requires-Python or Python classifiers
  8. PyPI JSON for 1.1.15
  9. Used to verify exact Requires-Dist, artifact metadata, and absence of Requires-Python.
  10. Official setup.py
  11. Package name pytdc; version loaded from tdc/version.py; dependencies loaded from requirements.txt; no python_requires.
  12. Official requirements.txt
  13. 1.1.15 pins/constrains a large dependency graph, including cellxgene-census==1.15.0, NumPy <2, RDKit <2024.3.1, Hugging Face packages, and TileDB-SOMA.
  14. cellxgene-census 1.15.0 JSON
  15. Declares Requires-Python: >=3.8,<3.12.
  16. RDKit 2023.9.6 JSON
  17. Provides CPython 3.8–3.12 wheels for common platforms, including macOS ARM64, but no CPython 3.13 wheel.
  18. Setuptools release history
  19. pkg_resources was deprecated long before this snapshot and removed in setuptools 82.0.0 (2026-02-08).
  20. PyTDC 1.1.15 still imports it at runtime. The isolated smoke test therefore pins the verified compatibility release setuptools==80.9.0.

The pinned smoke environment uses CPython 3.11. PyTDC itself does not publish a supported Python range, so this skill describes Python 3.11 plus setuptools 80.9.0 as the verified target rather than claiming broader upstream support. On the tested macOS ARM64 resolver, the environment contained 123 packages and included large Torch, RDKit, TileDB, Arrow, and scientific-Python artifacts.

Official source used for API verification

  1. Package metadata registry
  2. Task/dataset names, evaluator names, oracle categories, benchmark names, benchmark metrics, and split metadata.
  3. Top-level public imports
  4. Evaluator, Oracle, and deprecated generic BenchmarkGroup.
  5. Single-prediction imports
  6. Multi-prediction imports
  7. Generation imports
  8. Base loader
  9. Single-prediction loader
  10. Pair-prediction loader
  11. General multi-prediction loader
  12. Generation loader
  13. Split implementations
  14. Evaluator implementation
  15. Oracle implementation
  16. Download/load implementation
  17. Metadata retrieval helpers
  18. Specialized BenchmarkGroup base
  19. Deprecated generic BenchmarkGroup

The stable PyPI source distribution was inspected directly rather than assuming that main or old generated documentation exactly matched 1.1.15.

Official user documentation

  1. TDC quick start
  2. Problem/task/dataset hierarchy and constructor/get-data/get-split workflow.
  3. Dataset splits
  4. Random defaults, documented scaffold scope, cold_split plus column_name, and combination split.
  5. Model evaluation
  6. Exact evaluator examples, input types, thresholds, and metric definitions.
  7. Benchmark/leaderboard guide
  8. get, get_train_valid_split, evaluate, evaluate_many, fixed test set, and at least five independent runs.
  9. ADMET benchmark group
  10. Dataset-specific benchmark metrics and scaffold protocol.
  11. Oracle documentation
  12. Local, checkpoint, synthesis-service, and docking examples/requirements.
  13. Molecule generation task
  14. Stable MolGen names and random split examples.
  15. ADME task
  16. Dataset-specific descriptions, splits, citations, and heterogeneous license labels.
  17. DTI task
  18. DTI datasets, cold-drug/protein intent, and per-dataset licenses.
  19. Trial outcome task
    • Evidence that some TDC datasets carry non-commercial terms.
  20. TDC 0.4.1 ReadTheDocs
    • Generated API signatures and source links used only as a cross-check. Its displayed release is behind PyPI 1.1.15.
  21. Harvard Dataverse TDC collection
    • Persistent collection identifier linked by the official README. The landing page was unavailable to the extraction service during this research, so file sizes/collection-level terms were not inferred from it.

Primary TDC papers

  1. Huang, K., Fu, T., Gao, W. et al. (2021). Therapeutics Data Commons: Machine Learning Datasets and Tasks for Drug Discovery and Development. NeurIPS Datasets and Benchmarks 2021. Published 2021-12-06.
  2. Defines the original TDC task/dataset/benchmark/data-function scope.
  3. Huang, K., Fu, T., Gao, W. et al. (2022). Artificial intelligence foundation for therapeutic science. Nature Chemical Biology 18, 1033–1036. Published 2022-09-21.
  4. Describes the Commons as infrastructure for AI-ready tasks, datasets, and benchmarks across therapeutic science.

Papers support the Commons design and citation guidance; current Python signatures come from package source and official API documentation.

Confirmed migrations and removed stale guidance

Unresolved upstream uncertainty

  1. No changelog, tags, or GitHub Releases. PyPI release history establishes version/date, but upstream does not document a complete 0.4.x → 1.1.x migration.
  2. Python support is undeclared. Requires-Python is absent, while transitive pins constrain viable interpreters/platforms. Re-run resolver/import smoke tests before changing Python or platform.
  3. Legacy runtime dependency. PyTDC still imports deprecated pkg_resources; environments with setuptools 82+ fail unless upstream migrates or setuptools is pinned to a compatible release.
  4. Unmarked backport dependency. PyTDC requires the dataclasses backport on modern Python without an environment marker even though Python 3.11 includes dataclasses in the standard library. Strict resolvers may handle that stale metadata differently.
  5. ReadTheDocs lags PyPI. It identifies as 0.4.1 while PyPI is 1.1.15.
  6. Website/source drift exists. Some website snippets use old names or output comments; stable source controls exact executable behavior.
  7. Ambiguous dataset license labels. Some pages render “Not Specified” next to a Creative Commons link. Resolve terms from the original provider rather than inferring a license.
  8. Evaluator metadata inconsistency. smina appears in the evaluator registry, but 1.1.15 does not bind it in Evaluator.assign_evaluator.
  9. Oracle metadata understates side effects. logp and sa are grouped with trivial oracles, but their stable implementations call calculateScore, which downloads the fpscores artifact when it is absent.
  10. Separate fork/package. pytdc-nextml is a distinct package/repository and was not treated as an upgrade or replacement for official PyPI PyTDC.