Submitting Author: Zhiang He (@HzaCode)
All current maintainers: Zhiang He (@HzaCode)
Package Name: ChemInformant
One-Line Description of Package: A robust, high-throughput Python client for retrieving chemical information from the PubChem API; it returns analysis-ready Pandas/SQL outputs, handles caching, rate-limiting and retries, and includes convenient CLI tools.
Repository Link: https://github.com/HzaCode/ChemInformant
Version submitted: 2.4.0 (released 2025-07-30)
EiC: @eliotwrobson
Editor: @eliotwrobson
Reviewer 1:
Reviewer 2:
Archive: 10.5281/zenodo.16623785
JOSS DOI: https://doi.org/10.21105/joss.08341
Version accepted: TBD
Date accepted (month/day/year): TBD
Code of Conduct & Commitment to Maintain Package
Description
ChemInformant is a workflow-centric Python client for the PubChem REST API.
It transforms raw API responses into clean Pandas DataFrames or direct SQL tables, supports mixed identifiers (CIDs, names, SMILES), provides persistent on-disk caching, automatic rate-limiting and retries, and exposes both an object-oriented API and terminal-ready CLI tools (chemfetch, chemdraw).
The library leverages Pydantic v2 for runtime data validation and integrates seamlessly into machine-learning or QSAR pipelines that require large-scale descriptor retrieval.
Scope
Domain Specific
Community Partnerships
If your package is associated with an existing community please check below:
Scope Explanation
- Target audience & applications: Computational chemists, cheminformatics researchers, drug-discovery scientists and data-science practitioners who require reliable, programmatic access to PubChem for large-scale descriptor retrieval and downstream ML/QSAR workflows.
- Comparison to similar packages: Existing clients such as PubChemPy or ChemSpiPy lack built-in caching, mixed-identifier handling and robust fault-tolerance; in benchmarks, ChemInformant achieves up to a 48× speed-up versus PubChemPy through batched queries and cache reuse.
- Pre-submission enquiry: None.
Technical checks
This package:
Publication Options
JOSS Checks (leave blank since box above is unchecked)
Are you OK with Reviewers Submitting Issues and/or pull requests to your Repo Directly?
Confirm each of the following by checking the box.
Please fill out our survey
P.S. Have feedback/comments about our review process? Leave a comment here
Editor and Review Templates
The editor template can be found here.
The review template can be found here.
Submitting Author: Zhiang He (@HzaCode)
All current maintainers: Zhiang He (@HzaCode)
Package Name: ChemInformant
One-Line Description of Package: A robust, high-throughput Python client for retrieving chemical information from the PubChem API; it returns analysis-ready Pandas/SQL outputs, handles caching, rate-limiting and retries, and includes convenient CLI tools.
Repository Link: https://github.com/HzaCode/ChemInformant
Version submitted: 2.4.0 (released 2025-07-30)
EiC: @eliotwrobson
Editor: @eliotwrobson
Reviewer 1:
Reviewer 2:
Archive: 10.5281/zenodo.16623785
JOSS DOI: https://doi.org/10.21105/joss.08341
Version accepted: TBD
Date accepted (month/day/year): TBD
Code of Conduct & Commitment to Maintain Package
Description
ChemInformant is a workflow-centric Python client for the PubChem REST API.
It transforms raw API responses into clean Pandas DataFrames or direct SQL tables, supports mixed identifiers (CIDs, names, SMILES), provides persistent on-disk caching, automatic rate-limiting and retries, and exposes both an object-oriented API and terminal-ready CLI tools (
chemfetch,chemdraw).The library leverages Pydantic v2 for runtime data validation and integrates seamlessly into machine-learning or QSAR pipelines that require large-scale descriptor retrieval.
Scope
Domain Specific
Community Partnerships
If your package is associated with an existing community please check below:
Scope Explanation
Technical checks
This package:
pytest) located intests/.Publication Options
Do you wish to automatically submit to the [Journal of Open Source Software][JournalOfOpenSourceSoftware]?
ChemInformant has been accepted by JOSS
([REVIEW]: ChemInformant: A Modern, Lightweight Python Client for PubChem with Robust Caching and Validation openjournals/joss-reviews#8341).
I would be grateful if pyOpenSci could adopt the JOSS → pyOpenSci fast-track pathway so that a second full technical review is not required.
Please let me know if any additional information or metadata would be helpful—thank you very much for your time and consideration.
JOSS Checks (leave blank since box above is unchecked)
Are you OK with Reviewers Submitting Issues and/or pull requests to your Repo Directly?
Confirm each of the following by checking the box.
Please fill out our survey
P.S. Have feedback/comments about our review process? Leave a comment here
Editor and Review Templates
The editor template can be found here.
The review template can be found here.