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 core get_properties() function has been significantly refactored to support four distinct calling modes for maximum flexibility:
    1. Default Mode: Calling get_properties(identifiers) without specifying properties now returns a comprehensive default set of 22 "CORE" properties.
    2. Custom Mode: Users can now retrieve any combination of the 40+ available attributes by passing a list or string to the properties parameter (e.g., get_properties(identifiers, properties=['molecular_weight', 'xlogp'])).
    3. 3D Data Mode: A new boolean flag, include_3d=True, makes it simple to retrieve CORE properties plus all 14 available 3D properties with get_properties(identifiers, include_3d=True).
    4. All Data Mode: The all_properties=True flag provides an easy way to fetch every available property from PubChem via get_properties(identifiers, all_properties=True).

📝 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