Feat/pydantic#6
Draft
romaingrx wants to merge 334 commits into
Draft
Conversation
- Create _NDArrayType and _RDKitMolType with __get_pydantic_core_schema__ - Simplify _serialize_value to be the single recursive serializer - Remove manual type detection functions (_is_ndarray_annotation, etc.) - Use field metadata for type conversion during deserialization - Remove unused RefMarker import and _is_ref_field/_has_ref_fields This centralizes type handling: each custom type provides its own validator and serializer via Pydantic's schema system.
- Remove RefMarker, WrapSerializer and _serialize_ref - Ref/RefList/OptionalRef/OptionalRefList are now simple type aliases - Serialization is already handled by _serialize_value in pydantic.py - Remove unused imports (dataclass, SerializationInfo)
- Remove Ref[T] wrapper class (utils/ref.py) - Simplify Bond to use plain atom1/atom2 fields - Remove Ref handling from pydantic.py serialization - Update tests to reflect simpler Bond structure - Delete test_ref.py (no longer needed) Bond now uses direct Atom references like all other classes.
- Add GitHub Actions workflow for linting and testing - Configure uv with caching via reusable setup action - Add concurrency control to cancel redundant CI runs - Organize dependency groups (test, dev) in pyproject.toml - Add pre-commit to dev dependencies - Store test fixtures in Git LFS to avoid repo bloat - Update test fixture path to tests/fixtures/
- Removed redundant code and comments to improve readability -Commented out unnecessary file saving operations in `process_refcell` and `process_unitcell` functions
- add read_cif.py for handling cif file and export reported information - add write_results.py for handling cell2mol output and error logging
… cif bond info When config.USE_BOND_INFO is True, coordination groups are derived from reported bond information, so validate_coordinated_atoms is no longer called.
…h removed atoms from coordination
…e reporting of removed atoms
…or priority atoms and add haptic type reporting
…atoms in validation for boron
…ultiple metal connections
update has_different_metal_coordination to record missing atoms (found in other ref molecule)
…al-donor interactions
…d bonds (bond order=1)
…c metal-donor interactions
…e calculation for candidate charges
…atom removal logic and debug logging
… and improve block separation logic
…sites calls in _handle_haptic_group
…from adjacency matrix
…ation in generate_charge_state
…plitting to detect extra or missing bonds
…nd enhance valence problem handling
…support and improve logging details
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.