Contributing to ChemParse

Thank you for your interest in contributing to ChemParse! Please follow these guidelines to ensure that your contribution is effective and maintains the quality of the project.

Adding New Blocks

  1. Check Block Existence: Before adding a new block, verify whether it already exists. If the block isn’t recognized, ensure the issue isn’t caused by your software version.

  2. Modify or Add Pattern: - If the block exists but isn’t detected, modify the existing pattern or add a new one to account for your software version.

  3. Check General Patterns: - If your block isn’t recognized by existing patterns, check whether it is detected by a general pattern, such as BlockOrcaUnrecognizedWithSingleLineHeader. - If so, locate the appropriate blueprint (e.g., BlueprintBlockWithSingleLineHeader) and add your block according to the established guidelines.

  4. Create a New Regex: If no existing pattern or general block applies, create a new regex specifically for detecting this block.

Testing Your Changes

  • When adding a new block for ORCA, GPAW, or VASP files, add a corresponding test file: - ORCA: Place test files in tests/orca_test_outputs - GPAW: Place test files in tests/gpaw_test_outputs - VASP: Place test files in tests/vasp_test_outputs

  • Each new block must have an associated test output file demonstrating the extracted data, along with a CSV file showcasing the extracted data.

Requesting Additions

If you encounter difficulties when adding a block, please submit the following: - The output file containing the block. - The block you want to extract, including the data fields that need extraction.

Commit Structure

  • Ensure each commit related to a new block includes a corresponding test output file that demonstrates the change.

Thank you for helping improve ChemParse!