Changelog¶
All notable changes to CHAMANP will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.20.1 - 2026-05-28¶
Added¶
- Added support for running the CLI with
python -m chamanp. - Added CHAMANP logo branding to the MkDocs documentation site.
Changed¶
- Improved header logo contrast, documentation color identity, and visual styling.
- Moved usage-oriented documentation out of the Home page and into a new Usage page.
Documentation¶
- Evaluated migration from MkDocs Material to Zensical and deferred it to a later development cycle because the current documentation depends on
mkdocstrings[python]and the existing MkDocs Material build remains stable.
0.20.0 - 2026-05-21¶
Added¶
- Added GitHub Pages documentation built with MkDocs, Material for MkDocs, and mkdocstrings.
Docs¶
- Added a user-facing input-process-output workflow contract to the README and MkDocs Home page, including how the COCONUT-like example CSV should be interpreted.
- Clarified CHAMANP's taxonomy-backed collection filtering concept, the role of
source_data/coconut_taxonomy.json, and the project-name analogy to "shaman". - Added a beginner-facing example execution walkthrough with the TOML profile, CLI commands, expected output, and generated artifacts.
- Grouped documented outputs into essential user-facing artifacts and audit artifacts to reduce confusion about the number of generated files.
- Clarified that TOML profiles are manually written configuration files based on the user's CSV paths, columns, target collections, and output settings.
- Reorganized the MkDocs Home page so installation and the CLI example appear before conceptual sections, removed fragile API anchors, and made citation guidance rely on
CITATION.cff. - Polished the MkDocs Home hero, workflow card placement, heading capitalization, and API link style for the final v0.20.0 documentation pass.
Changed¶
- Started the documentation aesthetics cycle for the MkDocs site while preserving chemistry behavior and the public API boundary.
- Clarified TOML profile examples so PyPI users are directed to create their own runtime profile instead of relying on a repository-specific example file.
- Collection filtering now accepts both semicolon (
;) and pipe (|) separators in thecollectionsfield, matching COCONUT-style example data while preserving existing semicolon support.
Improved¶
- Improved CI coverage with a Python 3.11/3.12 matrix, public API assertions, wheel smoke installation, source distribution smoke installation, and strict documentation builds.
Removed¶
- Removed the repository-specific
examples/chamanp.tomlfile from the source tree and source distribution to avoid ambiguity for PyPI users. - Removed the local PowerShell wheel smoke script and the obsolete
MANIFEST.in; CI now owns wheel and source distribution smoke validation. - Removed the internal
DESIGN.mdplanning document from the public source tree to keep the PyPI-facing project surface focused on user documentation, API docs, tests, and release notes. - Removed the internal
INSTALL.mdrelease checklist; PyPI-facing installation guidance now lives in README and the MkDocs Home page.
0.19.0 - 2026-05-16¶
Docs¶
- Made CHAMANP's public API understandable through truthful, English, NumPy-style docstrings while preserving the current API boundary and avoiding unrelated infrastructure or behavior changes.
- Updated the README development-status section to reflect the completed 0.18.0 PyPI publication milestone and the current 0.19.0 public API documentation cycle.
0.18.0 - 2026-05-16¶
Added¶
- Added a manual PyPI Trusted Publishing workflow for the first official pre-stable PyPI publication.
Changed¶
- Started the 0.18.0 first official PyPI publication preparation cycle using Trusted Publishing as the intended publication path.
- Kept CHAMANP pre-stable while preparing official PyPI publication without declaring the package stable.
Docs¶
- Documented Trusted Publishing setup, GitHub environment configuration, PyPI pending publisher required values, and the first official publication order in
INSTALL.md.
0.17.0 - 2026-05-16¶
Changed¶
- Started the 0.17.0 official publication rehearsal and stable-release governance cycle.
- Recorded that the historical
v1.0.0anomaly was remediated before public stable publication: the GitHub Release was removed manually, the local and remote tags were deleted, and no DOI, Zenodo record, or external release assets were associated with it.
Docs¶
- Added stable publication checklist and repository workflow vs. package API boundary documentation to
INSTALL.md.
0.16.0 - 2026-05-16¶
Added¶
- Added a versioned GitHub Actions workflow for tests, distribution builds,
twine check, and wheel smoke-install validation without running the real pipeline. - Added
.pytest_cache/to.gitignore.
Changed¶
- Started the 0.16.0 stable-release gate cycle.
- Changed development version metadata to use the PEP 440-compliant
.dev0format instead of the previous-devstyle. - Updated citation wording so CHAMANP is described as an independent package that may be consumed by LigandHub or other downstream systems.
Docs¶
- Aligned DESIGN, README, and INSTALL documentation around release governance before any stable publication.
- Documented the current pre-stable public API contract and clarified that
Pipeline,chamanp._core, andchamanp._utilsremain private implementation details. - Clarified that TestPyPI is only a publication-validation index, while official PyPI readiness remains a separate stable-publication requirement.
- Clarified that
artifacts/contains local generated outputs ignored by Git.
Removed¶
- Removed the tracked legacy generated report artifact.
- Removed local
core/__pycache__andutils/__pycache__residue left over from the pre-migration source layout. - Removed stale
scipyentries from auxiliary environment files because CHAMANP does not currently use SciPy as a runtime dependency.
0.15.0 - 2026-05-15¶
Changed¶
- Started PyPI/TestPyPI publication readiness and stable-release contract hardening work after the 0.14.0 pre-release validation cycle.
- Focused the development cycle on distribution publication checks, external install validation, and documenting the stable public contract without changing chemistry behavior, output artifacts, reports, or the public API.
Tests¶
- Validated local builds with
twine check, uploaded0.15.0.dev0to TestPyPI for publication validation (https://test.pypi.org/project/chamanp/0.15.0.dev0/), and confirmed external clean-environment installation with real runtime dependency resolution.
0.14.0 - 2026-05-15¶
Added¶
- Added documentation and local smoke-test support for editable installs, wheel installs, source distributions, and the distinction between package runtime dependencies and reproducible local environments.
Changed¶
- Started pre-release installation validation work, focused on building CHAMANP distributions and smoke-testing wheel installation outside the repository checkout before v1.0.0.
0.13.0 - 2026-05-15¶
Changed¶
- Started dependency and installation hardening development, focused on pip/PyPI readiness, packaging portability, and documentation alignment after 0.12.0.
- Treated pip installability as a minimum requirement for broad external reuse; LigandHub-API may be an early downstream consumer, but it is not the design target for CHAMANP.
Docs¶
- Clarified installation documentation for editable installs, local wheel/sdist installs, runtime dependency minimums, RDKit installation sensitivity, and CHAMANP's independent package direction.
- Refreshed README development status to align with the current public API, dependency policy, and pip/PyPI readiness focus.
0.12.0 - 2026-05-15¶
Changed¶
- Started packaging readiness development, focused on distribution metadata, package build validation, and clean-install smoke checks without changing runtime behavior.
Docs¶
- Updated documentation so CLI and TOML support are no longer described as future work.
0.11.0 - 2026-05-15¶
Added¶
- Added a minimal
chamanpCLI with--version,check-config, andruncommands backed by the existing public Python API.
Changed¶
- Started CLI development, focused on a minimal public terminal interface for loading TOML profiles, validating configuration, and running CHAMANP through the existing public API.
- Designed the CLI to present clean user-facing errors without Python tracebacks by default.
Fixed¶
- CLI command failures now print clean
Error: <message>output without Python tracebacks by default.
0.10.0 - 2026-05-14¶
Added¶
- Added
ChamanpConfig.from_toml(path)using Python 3.11tomllibfor external TOML configuration profiles.
Changed¶
- Started TOML configuration profile development, focused on loading reproducible external configuration files through
ChamanpConfig.from_toml(path)without changing pipeline behavior. - TOML loading accepts lower_snake_case keys, maps them to existing CHAMANP configuration fields, rejects unknown keys, and leaves semantic validation to
validate_config(config).
0.9.0 - 2026-05-14¶
Added¶
- Added public
ChamanpResultas a frozen dataclass containing execution status, version, artifact paths, fingerprint settings, and summary counts.
Changed¶
- Started structured execution result development, focused on returning a public
ChamanpResultfromrun(config)without changing chemistry behavior, artifact names, output formats, or report contents. - Updated public
run(config)to returnChamanpResultwhile preserving existing artifact-writing behavior. - Kept
Pipelineprivate and avoided loading fingerprint matrices, datasets, or reports into the result object.
Docs¶
- Documented that
ChamanpResultreports completed executions and failures remain exception-based.
0.8.0 - 2026-05-14¶
Added¶
- Added the public execution API doorway, exposing
validate_configandrunfrom the mainchamanpnamespace while keepingPipelineprivate. - Added public
validate_config(config)andrun(config)exports from the mainchamanpnamespace.
Changed¶
run(config)preserves current disk-output behavior and returnsNonein 0.8.0; structured in-memory results are deferred to a future development version.- Kept
Pipelineprivate and out ofchamanp.__all__.
Docs¶
- Documented that
run(config)returnsNonein 0.8.0 and writes configured artifacts to disk.
Internal¶
- No chemistry, fingerprint, artifact, output, or report behavior changes were intended.
0.7.0 - 2026-05-14¶
Added¶
- Added private internal namespaces under
chamanp/_coreandchamanp/_utils.
Changed¶
- Completed the internal package migration for private
chamanp/_coreandchamanp/_utilsnamespaces, import-safety hardening, and a clean migration away from root-levelcore/andutilswithout changing chemistry behavior, outputs, artifacts, or reports. - Kept the current public API as
from chamanp import __version__, ChamanpConfig;Pipelineremains internal and is not publicly exported. - Moved internal utility modules into
chamanp/_utils. - Moved internal core pipeline modules into
chamanp/_core. - Deferred pipeline logging setup until execution so importing pipeline internals no longer creates
artifacts/orartifacts/pipeline.log.
Removed¶
- Removed the root-level
core/version.pycompatibility bridge after package metadata moved fully tochamanp.version.
Internal¶
- No chemistry, output, artifact, or report behavior changes were intended in this migration.
0.6.0 - 2026-05-14¶
Added¶
- Added
DESIGN.mdas an internal strategic design reference for CHAMANP identity, public API direction, COCONUT-as-reference-dataset scope, and roadmap.
Changed¶
- Started the external-facing documentation cycle, focused on CHAMANP's public usability contract without changing chemical processing behavior.
Docs¶
- Rewrote README from an external user perspective, clarifying CHAMANP's purpose, current usable modes, COCONUT-as-reference-dataset scope, and current public API boundaries.
0.5.0 - 2026-05-14¶
Added¶
- Added
ChamanpConfigas the first public runtime configuration object, with no chemical processing behavior changes.
Changed¶
- Started the configuration API development cycle, focused on introducing a public runtime configuration object for CHAMANP without changing chemical processing behavior.
0.4.0 - 2026-05-13¶
Added¶
- Added minimal package metadata in
pyproject.toml. - Added a minimal
chamanppackage namespace exposing__version__. - Added package import smoke tests that do not run the pipeline or require source data.
Changed¶
- Changed project license metadata from MIT to
LGPL-3.0-or-laterby project-owner decision.
Docs¶
- Documented the package transition direction and draft future public API.
Internal¶
- No chemical curation, SMILES validation, collection filtering, fingerprint generation, reporting, or artifact naming changes were intended in this development pass.
0.3.0 - 2026-05-13¶
Added¶
- Added configuration preflight validation before pipeline execution.
- Added
ConfigurationErrorfor clear early failures when required config values are missing or invalid. - Added focused tests for preflight validation and entrypoint ordering.
Changed¶
- Validated configured database and collection taxonomy paths before entering curation or fingerprint generation.
- Validated target collections, collection logic, safe collection tags, and Morgan fingerprint parameters.
- Hardened
TARGET_COLLECTIONSvalidation to require a non-empty collection of non-empty strings.
Removed¶
- Removed unused
OUTPUT_PATHfromconfig.py.
Internal¶
- No chemical curation, SMILES validation, collection filtering, or fingerprint generation logic changes were intended in this development pass.
0.2.0 - 2026-05-13¶
Added¶
- Added centralized project metadata in
core/version.py. - Added future report execution metadata for input CSV path, collection tag, fingerprint radius, fingerprint bit length, and valid fingerprinted molecule count.
- Added tests to ensure report headers include centralized metadata and do not contain the legacy
v1.0version string.
Changed¶
- Updated future report headers to use centralized CHAMANP version/status metadata.
Removed¶
- Removed the legacy hardcoded
v1.0 - May, 2025. Oviedoreport header for future reports.
Internal¶
- No chemical curation, collection filtering, or fingerprint generation logic changes were intended in this development pass.
0.1.0 - 2026-05-13¶
Added¶
- Added invalid SMILES traceability during fingerprint generation.
- Added
invalid_smiles_{tag}.csvoutput throughPathManagerandPipeline. - Added tests for substring non-match, semicolon-separated labels, whitespace handling, and missing/NaN values.
- Added reporter tests and fingerprint count assertions.
Changed¶
- Preserved existing valid fingerprint and valid metadata outputs.
- Replaced substring-based collection filtering with exact label matching.
- Parsed collections as semicolon-separated labels with surrounding whitespace stripped.
- Kept missing/NaN collection values from matching.
- Updated tests; current validation was 29 tests passing.
Docs¶
- Reports now include invalid SMILES count/path when provided by the pipeline.
Internal¶
FingerprintGeneratorexposesinvalid_smiles_countfor report traceability.ReportWriterremains backward-compatible when invalid fields are omitted.
1.0.1-dev - 2026-05-12¶
Changed¶
- Kept CHAMANP as a pre-stable development prototype.
- Prepared the project toward a corrected
0.1.0-style baseline by documenting the runtime environment, clarifying source-data expectations, and softening earlier stable-version language. - Kept the baseline free of intended pipeline behavior changes.
Tests¶
- Added baseline tests for isolated non-RDKit components:
path_manager,collection_utils, andfilter. - Added baseline tests for isolated RDKit-related components:
curatorandfingerprints. - Current validation was 21 tests passing.