Recent Releases of ChemInformant
ChemInformant -
This release introduces a major enhancement to the API, focusing on flexibility and expanding the number of retrievable chemical properties. The changes were driven by valuable community feedback and aim to make the package more powerful for both simple and complex queries.
✨ New Features
- Expanded Convenience Functions: The number of standalone convenience functions has been increased from 8 to 22. This provides more direct, single-purpose functions for retrieving common properties like InChI/InChIKey, stereochemistry counts, and mass spectrometry data.
🚀 Enhancements
- Revised
get_properties()Function: The coreget_properties()function has been significantly refactored to support four distinct calling modes for maximum flexibility:- Default Mode: Calling
get_properties(identifiers)without specifying properties now returns a comprehensive default set of 22 "CORE" properties. - Custom Mode: Users can now retrieve any combination of the 40+ available attributes by passing a list or string to the
propertiesparameter (e.g.,get_properties(identifiers, properties=['molecular_weight', 'xlogp'])). - 3D Data Mode: A new boolean flag,
include_3d=True, makes it simple to retrieve CORE properties plus all 14 available 3D properties withget_properties(identifiers, include_3d=True). - All Data Mode: The
all_properties=Trueflag provides an easy way to fetch every available property from PubChem viaget_properties(identifiers, all_properties=True).
- Default Mode: Calling
📝 Documentation
- The documentation and accompanying tests have been thoroughly updated to reflect all new features and changes.
Scientific Software - Peer-reviewed
- Python
Published by HzaCode 5 months ago
ChemInformant - ChemInformant v2.3.0: JOSS Archival Release
Summary
ChemInformant is a Python client engineered for programmatic access to PubChem, specifically targeting high-throughput and automated data retrieval tasks. Its architecture streamlines the entire workflow from data acquisition to analysis by directly converting large, mixed-type lists of chemical identifiers into analysis-ready Pandas DataFrames [@Pandas]. To ensure operational resilience, the package natively integrates a suite of robustness features, including persistent HTTP caching, automatic rate-limiting with exponential backoff retries, and runtime data validation using Pydantic [@Pydantic]. By systematically addressing critical limitations in existing tools—such as network instability and inefficient batch processing—and offering up to a 48-fold performance increase, ChemInformant delivers a significantly more reliable and efficient component for the modern Python cheminformatics ecosystem.
JOSS Review & Archiving
This release (v2.3.0) has been created to fulfill the archival requirements of the JOSS (Journal of Open Source Software) review process.
Scientific Software - Peer-reviewed
- Python
Published by HzaCode 5 months ago