Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overhaul pre-commit #166

Merged
merged 8 commits into from
Aug 19, 2024
Merged

Overhaul pre-commit #166

merged 8 commits into from
Aug 19, 2024

Conversation

AntObi
Copy link
Collaborator

@AntObi AntObi commented Aug 19, 2024

Linting and formatting overhaul

Description

  • Use ruff
  • Codespell

Closes #165

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?

Test Configuration:

  • Python version: 3.10
  • Operating System: macOS

Reviewers

N/A

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules
  • I have checked my code and corrected any misspellings

Summary by CodeRabbit

  • New Features

    • New test cases added to verify the behavior of the CompositionalEmbedding class, improving test coverage.
    • Enhanced the readability of JSON data files through multi-line formatting.
    • Introduced updated type hinting for various functions and classes, improving code clarity and maintainability.
    • Added new hooks and configurations to improve pre-commit checks for code quality.
  • Bug Fixes

    • Corrected minor typographical errors in documentation and test cases.
  • Documentation

    • Improved formatting and organization of markdown documentation files for better readability.
    • Updated README and other documentation files for consistent structure and clarity.
  • Refactor

    • Streamlined existing code by adopting modern Python practices, including the use of union types and improved error handling.
  • Chores

    • Minor formatting adjustments across various configuration files for consistency.

Copy link

coderabbitai bot commented Aug 19, 2024

Walkthrough

The recent changes enhance the project by adopting ruff for linting and formatting, improving type annotations across various files, and streamlining the documentation and code structure. The modifications focus on modernizing practices, enhancing readability, and ensuring consistency throughout the codebase. Additionally, various minor formatting adjustments have been made to improve overall clarity without affecting functionality.

Changes

Files Change Summary
.flake8, .pre-commit-config.yaml, .github/... Updated configuration files for linting and formatting, integrating ruff, and improving readability.
README.md, CHANGELOG.md, docs/..., etc. Minor formatting adjustments for clarity and consistency across documentation files.
src/elementembeddings/..., src/elementembeddings/tests/... Enhanced type annotations, switched to modern union types, and improved exception handling in tests.
src/elementembeddings/data/... Reformatted JSON files for better readability without changing underlying data.

Assessment against linked issues

Objective Addressed Explanation
Adopt ruff as a linter and formatter for the codebase (165)

🐇 In code we trust, with ruff now in play,
Formatting and linting, brighten our day!
Types are clearer, structure refined,
A cleaner project, with joy intertwined.
Hops of delight, in each file we see,
A vibrant new world, for you and for me! 🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

codecov bot commented Aug 19, 2024

Codecov Report

Attention: Patch coverage is 83.33333% with 20 lines in your changes missing coverage. Please review.

Project coverage is 90.85%. Comparing base (2578dbf) to head (ae3fa47).
Report is 17 commits behind head on main.

Files Patch % Lines
src/elementembeddings/composition.py 62.50% 12 Missing ⚠️
src/elementembeddings/_base.py 70.00% 6 Missing ⚠️
src/elementembeddings/core.py 94.73% 1 Missing ⚠️
src/elementembeddings/plotter.py 75.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #166      +/-   ##
==========================================
+ Coverage   90.75%   90.85%   +0.10%     
==========================================
  Files          12       12              
  Lines        1266     1291      +25     
==========================================
+ Hits         1149     1173      +24     
- Misses        117      118       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Outside diff range, codebase verification and nitpick comments (7)
dev_docs/design_docs/Restructuring.md (1)

13-13: Grammar improvement suggestion.

Consider revising "Other file I/O methods" to "The other file I/O methods" for grammatical consistency.

-  - [**WIP**]Other file I/O methods to allow users to create `Embedding` instances from their own files
+  - [**WIP**]The other file I/O methods to allow users to create `Embedding` instances from their own files
Tools
LanguageTool

[grammar] ~13-~13: Use the plural noun, or add a word such as ‘the’ or ‘some’ in front of ‘other’.
Context: ...stributed with the package - [WIP]Other file I/O methods to allow users to create `E...

(OTHER_NN)

docs/embeddings/element.md (1)

181-181: Grammar correction suggestion.

Consider revising the sentence for verb agreement: "Representation of materials by kernel mean embedding" might need a verb adjustment for proper agreement.

- [Representation of materials by kernel mean embedding](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.108.134107)
+ [Representations of materials by kernel mean embedding](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.108.134107)
Tools
LanguageTool

[uncategorized] ~181-~181: This verb does not appear to agree with the subject. Consider using a different form.
Context: ... [Representation of materials by kernel mean embedding](https://journals.aps.org/prb...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)

src/elementembeddings/plotter.py (1)

57-58: Add test coverage for ValueError in heatmap_plotter.

The heatmap_plotter function raises a ValueError for unrecognized metrics, but this path is not currently covered by tests in test_plotter.py. Please add a test case to ensure this error handling is verified.

  • Add a test in src/elementembeddings/tests/test_plotter.py that calls heatmap_plotter with an invalid metric to ensure the ValueError is raised.
Analysis chain

Add test coverage for the new control flow.

The else clause in heatmap_plotter raises a ValueError for unrecognized metrics. Ensure this path is covered by tests to verify error handling.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that the new `ValueError` in `heatmap_plotter` is covered by tests.

# Test: Search for test cases that raise `ValueError` in `heatmap_plotter`.
rg --type python --word-regexp --fixed-strings 'raise ValueError("Unrecognised metric.")' -A 5

Length of output: 127


Script:

#!/bin/bash
# Description: Verify that the new `ValueError` in `heatmap_plotter` is covered by tests.

# Test: Search for test cases that raise `ValueError` in `heatmap_plotter`.
rg --type py --word-regexp --fixed-strings 'raise ValueError("Unrecognised metric.")' -A 5

Length of output: 464


Script:

#!/bin/bash
# Description: Find test files that might contain tests for `heatmap_plotter`.

# Locate test files that import or test `heatmap_plotter`.
rg --type py 'heatmap_plotter' --files-with-matches

Length of output: 128


Script:

#!/bin/bash
# Description: Check if `test_plotter.py` contains tests for `ValueError` in `heatmap_plotter`.

# Search for test cases expecting a `ValueError` in `test_plotter.py`.
rg --type py 'ValueError' src/elementembeddings/tests/test_plotter.py -A 5

Length of output: 472

Tools
GitHub Check: codecov/patch

[warning] 58-58: src/elementembeddings/plotter.py#L58
Added line #L58 was not covered by tests

src/elementembeddings/composition.py (4)

290-293: Add explicit test coverage for __repr__ and __str__ methods.

The __repr__ and __str__ methods in CompositionalEmbedding do not appear to be directly tested. Consider adding test cases that explicitly verify the output of these methods to ensure they produce the expected string representations.

  • Ensure tests in src/elementembeddings/tests/test_composition.py or similar files cover __repr__ and __str__.
Analysis chain

Ensure test coverage for __repr__ and __str__.

The __repr__ and __str__ methods should be covered by tests to ensure they return the expected string representations.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that the `__repr__` and `__str__` methods are covered by tests.

# Test: Search for test cases that call `__repr__` or `__str__` on `CompositionalEmbedding`.
rg --type python --word-regexp --fixed-strings 'CompositionalEmbedding(' -A 5

Length of output: 110


Script:

#!/bin/bash
# Description: Verify that the `__repr__` and `__str__` methods are covered by tests.

# Test: Search for test cases that call `__repr__` or `__str__` on `CompositionalEmbedding`.
rg --glob '*.py' --word-regexp --fixed-strings 'CompositionalEmbedding(' -A 5

Length of output: 895


Script:

#!/bin/bash
# Description: Check for explicit test coverage of `__repr__` and `__str__` methods in test files.

# Test: Search for calls to `__repr__` and `__str__` on `CompositionalEmbedding` in test files.
rg --glob 'src/elementembeddings/tests/*.py' --word-regexp --fixed-strings '__repr__'
rg --glob 'src/elementembeddings/tests/*.py' --word-regexp --fixed-strings '__str__'

Length of output: 170

Tools
GitHub Check: codecov/patch

[warning] 290-290: src/elementembeddings/composition.py#L290
Added line #L290 was not covered by tests


[warning] 293-293: src/elementembeddings/composition.py#L293
Added line #L293 was not covered by tests


625-628: Add test coverage for __repr__ and __str__ methods.

The __repr__ and __str__ methods of the SpeciesCompositionalEmbedding class do not appear to be covered by existing tests. Consider adding test cases to ensure these methods return the expected string representations.

Analysis chain

Ensure test coverage for __repr__ and __str__.

The __repr__ and __str__ methods should be covered by tests to ensure they return the expected string representations.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that the `__repr__` and `__str__` methods are covered by tests.

# Test: Search for test cases that call `__repr__` or `__str__` on `SpeciesCompositionalEmbedding`.
rg --type python --word-regexp --fixed-strings 'SpeciesCompositionalEmbedding(' -A 5

Length of output: 117


Script:

#!/bin/bash
# Description: Verify that the `__repr__` and `__str__` methods are covered by tests.

# Test: Search for test cases that call `__repr__` or `__str__` on `SpeciesCompositionalEmbedding`.
rg --type py --word-regexp --fixed-strings 'SpeciesCompositionalEmbedding(' -A 5

Length of output: 82


Script:

#!/bin/bash
# Description: Search for test cases that might indirectly test `__repr__` or `__str__` by looking for assertions with expected string outputs.

# Search for assertions in test files that involve expected string outputs related to `SpeciesCompositionalEmbedding`.
rg --type py 'assert ' -A 3

Length of output: 41932

Tools
GitHub Check: codecov/patch

[warning] 625-625: src/elementembeddings/composition.py#L625
Added line #L625 was not covered by tests


[warning] 628-628: src/elementembeddings/composition.py#L628
Added line #L628 was not covered by tests


381-381: Add test coverage for missing formula column in composition_featuriser.

The current test suite does not appear to include a test case that verifies the behavior of composition_featuriser when the formula column is missing. Consider adding a test to ensure that a ValueError is raised in this scenario.

  • File: src/elementembeddings/tests/test_composition.py
Analysis chain

Add test coverage for missing formula column.

Ensure that the validation logic for the presence of the formula column in composition_featuriser is covered by tests.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that the validation logic for the presence of the formula column in `composition_featuriser` is covered by tests.

# Test: Search for test cases that raise `ValueError` for missing formula column in `composition_featuriser`.
rg --type python --word-regexp --fixed-strings 'raise ValueError' -A 5

Length of output: 103


Script:

#!/bin/bash
# Description: Verify that the validation logic for the presence of the formula column in `composition_featuriser` is covered by tests.

# Test: Search for test cases that raise `ValueError` for missing formula column in `composition_featuriser`.
rg --type py --word-regexp --fixed-strings 'raise ValueError' -A 5

Length of output: 6409


Script:

#!/bin/bash
# Description: Search for test cases related to `composition_featuriser` handling missing formula column.

# Find test files or functions that might be testing `composition_featuriser`.
rg --type py 'composition_featuriser' -A 5

# Additionally, search for test functions that mention 'formula_column' or similar.
rg --type py 'formula_column' -A 5

Length of output: 5872

Tools
GitHub Check: codecov/patch

[warning] 381-381: src/elementembeddings/composition.py#L381
Added line #L381 was not covered by tests


273-278: Add test coverage for type errors in distance.

The type validation logic in the distance method is not currently covered by tests. Please add tests to ensure that incorrect types for comp_other are handled properly.

Analysis chain

Add test coverage for type errors in distance.

Ensure that the type validation logic in distance is covered by tests to handle incorrect types for comp_other.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that the type validation logic in `distance` is covered by tests.

# Test: Search for test cases that raise `TypeError` for incorrect types in `distance`.
rg --type python --word-regexp --fixed-strings 'raise TypeError' -A 5

Length of output: 102


Script:

#!/bin/bash
# Description: Search for test cases that raise `TypeError` for incorrect types in the `distance` method.

# Find Python test files and search for `TypeError` related to the `distance` method.
rg --type py 'def test_' --files | xargs rg 'TypeError' -A 5

Length of output: 2107


Script:

#!/bin/bash
# Description: Search for test cases that raise `TypeError` for incorrect types in the `distance` method.

# Find Python files in likely test directories and search for `TypeError` related to the `distance` method.
fd --type f --extension py --search-path tests | xargs rg 'TypeError' -A 5

Length of output: 2164


Script:

#!/bin/bash
# Description: Search for test cases that raise `TypeError` for incorrect types in the `distance` method.

# Find all Python files and search for `TypeError` related to the `distance` method.
fd --type f --extension py | xargs rg 'TypeError' -A 5

Length of output: 2051

Tools
GitHub Check: codecov/patch

[warning] 273-273: src/elementembeddings/composition.py#L273
Added line #L273 was not covered by tests


[warning] 278-278: src/elementembeddings/composition.py#L278
Added line #L278 was not covered by tests

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between ab02a1f and 7366279.

Files ignored due to path filters (2)
  • src/elementembeddings/tests/files/test_embedding.csv is excluded by !**/*.csv
  • src/elementembeddings/tests/files/test_species_embedding.csv is excluded by !**/*.csv
Files selected for processing (66)
  • .flake8 (1 hunks)
  • .github/pull_request_template.md (1 hunks)
  • .github/release.yml (1 hunks)
  • .github/workflows/ci.yml (2 hunks)
  • .github/workflows/combine-prs.yml (4 hunks)
  • .github/workflows/latest_docs.yml (2 hunks)
  • .github/workflows/python-publish.yml (1 hunks)
  • .pre-commit-config.yaml (1 hunks)
  • CHANGELOG.md (4 hunks)
  • CITATION.cff (2 hunks)
  • Publication/element_similarity/README.md (1 hunks)
  • Publication/element_similarity/SI/element_similairty_SI.ipynb (1 hunks)
  • Publication/element_similarity/SI/preprocessing.ipynb (1 hunks)
  • Publication/element_similarity/csp/cosine_embeddings.ipynb (2 hunks)
  • Publication/element_similarity/csp/data_radius_ratio_rules.ipynb (3 hunks)
  • Publication/element_similarity/csp/smact_sp.ipynb (1 hunks)
  • Publication/element_similarity/requirements_publication.txt (1 hunks)
  • Publication/element_similarity/similarity_periodic_trends/similarity_measures.ipynb (1 hunks)
  • README.md (5 hunks)
  • contributing.md (1 hunks)
  • dev_docs/design_docs/Restructuring.md (1 hunks)
  • dev_docs/dev_notebooks/composition_statistics.ipynb (1 hunks)
  • docs/.overrides/main.html (1 hunks)
  • docs/about.md (3 hunks)
  • docs/contribution.md (3 hunks)
  • docs/embeddings/element.md (4 hunks)
  • docs/embeddings/embeddings.md (1 hunks)
  • docs/embeddings/species.md (1 hunks)
  • docs/index.md (1 hunks)
  • docs/installation.md (1 hunks)
  • docs/python_api/composition.md (1 hunks)
  • docs/python_api/python_api.md (1 hunks)
  • docs/python_api/utils/io.md (1 hunks)
  • docs/python_api/utils/math.md (1 hunks)
  • docs/python_api/utils/species.md (1 hunks)
  • docs/tutorial/composition.ipynb (11 hunks)
  • docs/tutorial/usage.ipynb (1 hunks)
  • docs/tutorials.md (3 hunks)
  • examples/composition.ipynb (10 hunks)
  • examples/usage.ipynb (1 hunks)
  • mkdocs.yml (3 hunks)
  • pyproject.toml (1 hunks)
  • requirements-dev.txt (1 hunks)
  • setup.py (1 hunks)
  • src/elementembeddings/_base.py (13 hunks)
  • src/elementembeddings/composition.py (30 hunks)
  • src/elementembeddings/core.py (18 hunks)
  • src/elementembeddings/data/element_data/element_group.json (1 hunks)
  • src/elementembeddings/data/element_data/element_symbols.json (1 hunks)
  • src/elementembeddings/data/element_data/ordered_periodic.txt (1 hunks)
  • src/elementembeddings/data/element_representations/README.md (4 hunks)
  • src/elementembeddings/data/element_representations/atomic.json (1 hunks)
  • src/elementembeddings/data/element_representations/magpie_sc.json (1 hunks)
  • src/elementembeddings/data/element_representations/megnet16.json (1 hunks)
  • src/elementembeddings/data/element_representations/mod_petti.json (1 hunks)
  • src/elementembeddings/plotter.py (6 hunks)
  • src/elementembeddings/tests/files/test_embedding.json (1 hunks)
  • src/elementembeddings/tests/mpl371_ft261.json (1 hunks)
  • src/elementembeddings/tests/test_composition.py (5 hunks)
  • src/elementembeddings/tests/test_core.py (10 hunks)
  • src/elementembeddings/tests/test_plotter.py (5 hunks)
  • src/elementembeddings/tests/test_utils.py (2 hunks)
  • src/elementembeddings/utils/config.py (1 hunks)
  • src/elementembeddings/utils/io.py (1 hunks)
  • src/elementembeddings/utils/math.py (1 hunks)
  • src/elementembeddings/utils/species.py (2 hunks)
Files skipped from review due to trivial changes (55)
  • .flake8
  • .github/pull_request_template.md
  • .github/release.yml
  • .github/workflows/ci.yml
  • .github/workflows/combine-prs.yml
  • .github/workflows/latest_docs.yml
  • .github/workflows/python-publish.yml
  • CHANGELOG.md
  • CITATION.cff
  • Publication/element_similarity/README.md
  • Publication/element_similarity/SI/element_similairty_SI.ipynb
  • Publication/element_similarity/SI/preprocessing.ipynb
  • Publication/element_similarity/csp/cosine_embeddings.ipynb
  • Publication/element_similarity/csp/data_radius_ratio_rules.ipynb
  • Publication/element_similarity/csp/smact_sp.ipynb
  • Publication/element_similarity/requirements_publication.txt
  • Publication/element_similarity/similarity_periodic_trends/similarity_measures.ipynb
  • README.md
  • contributing.md
  • dev_docs/dev_notebooks/composition_statistics.ipynb
  • docs/.overrides/main.html
  • docs/about.md
  • docs/contribution.md
  • docs/embeddings/embeddings.md
  • docs/embeddings/species.md
  • docs/index.md
  • docs/installation.md
  • docs/python_api/composition.md
  • docs/python_api/python_api.md
  • docs/python_api/utils/io.md
  • docs/python_api/utils/math.md
  • docs/python_api/utils/species.md
  • docs/tutorial/composition.ipynb
  • docs/tutorial/usage.ipynb
  • docs/tutorials.md
  • examples/composition.ipynb
  • examples/usage.ipynb
  • mkdocs.yml
  • requirements-dev.txt
  • setup.py
  • src/elementembeddings/data/element_data/element_group.json
  • src/elementembeddings/data/element_data/element_symbols.json
  • src/elementembeddings/data/element_data/ordered_periodic.txt
  • src/elementembeddings/data/element_representations/README.md
  • src/elementembeddings/data/element_representations/atomic.json
  • src/elementembeddings/data/element_representations/megnet16.json
  • src/elementembeddings/data/element_representations/mod_petti.json
  • src/elementembeddings/tests/files/test_embedding.json
  • src/elementembeddings/tests/mpl371_ft261.json
  • src/elementembeddings/tests/test_composition.py
  • src/elementembeddings/tests/test_core.py
  • src/elementembeddings/utils/config.py
  • src/elementembeddings/utils/io.py
  • src/elementembeddings/utils/math.py
  • src/elementembeddings/utils/species.py
Additional context used
LanguageTool
dev_docs/design_docs/Restructuring.md

[grammar] ~13-~13: Use the plural noun, or add a word such as ‘the’ or ‘some’ in front of ‘other’.
Context: ...stributed with the package - [WIP]Other file I/O methods to allow users to create `E...

(OTHER_NN)

docs/embeddings/element.md

[uncategorized] ~181-~181: This verb does not appear to agree with the subject. Consider using a different form.
Context: ... [Representation of materials by kernel mean embedding](https://journals.aps.org/prb...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)

GitHub Check: codecov/patch
src/elementembeddings/plotter.py

[warning] 58-58: src/elementembeddings/plotter.py#L58
Added line #L58 was not covered by tests

src/elementembeddings/_base.py

[warning] 288-288: src/elementembeddings/_base.py#L288
Added line #L288 was not covered by tests


[warning] 291-292: src/elementembeddings/_base.py#L291-L292
Added lines #L291 - L292 were not covered by tests


[warning] 340-340: src/elementembeddings/_base.py#L340
Added line #L340 was not covered by tests


[warning] 343-344: src/elementembeddings/_base.py#L343-L344
Added lines #L343 - L344 were not covered by tests

src/elementembeddings/core.py

[warning] 555-555: src/elementembeddings/core.py#L555
Added line #L555 was not covered by tests

src/elementembeddings/composition.py

[warning] 242-242: src/elementembeddings/composition.py#L242
Added line #L242 was not covered by tests


[warning] 273-273: src/elementembeddings/composition.py#L273
Added line #L273 was not covered by tests


[warning] 278-278: src/elementembeddings/composition.py#L278
Added line #L278 was not covered by tests


[warning] 290-290: src/elementembeddings/composition.py#L290
Added line #L290 was not covered by tests


[warning] 293-293: src/elementembeddings/composition.py#L293
Added line #L293 was not covered by tests


[warning] 297-297: src/elementembeddings/composition.py#L297
Added line #L297 was not covered by tests


[warning] 381-381: src/elementembeddings/composition.py#L381
Added line #L381 was not covered by tests


[warning] 399-400: src/elementembeddings/composition.py#L399-L400
Added lines #L399 - L400 were not covered by tests


[warning] 575-575: src/elementembeddings/composition.py#L575
Added line #L575 was not covered by tests


[warning] 607-607: src/elementembeddings/composition.py#L607
Added line #L607 was not covered by tests


[warning] 625-625: src/elementembeddings/composition.py#L625
Added line #L625 was not covered by tests


[warning] 628-628: src/elementembeddings/composition.py#L628
Added line #L628 was not covered by tests


[warning] 716-716: src/elementembeddings/composition.py#L716
Added line #L716 was not covered by tests


[warning] 720-720: src/elementembeddings/composition.py#L720
Added line #L720 was not covered by tests

Additional comments not posted (155)
.pre-commit-config.yaml (7)

8-14: Adopt ruff for linting and formatting.

The adoption of ruff as both a linter and formatter is a strategic move to streamline code quality processes. Ensure that all team members are aware of this change and have updated their local environments accordingly.


15-20: Add basic pre-commit hooks for YAML and whitespace checks.

The inclusion of check-yaml, end-of-file-fixer, and trailing-whitespace hooks enhances basic code quality checks. These are essential for maintaining a clean and consistent codebase.


21-30: Customize markdownlint rules.

The customization of markdownlint rules indicates a tailored approach to markdown validation. Ensure these rules align with the project's documentation standards.


31-35: Update nbstripout configuration.

Retaining nbstripout with updated arguments helps manage notebook outputs effectively. This is crucial for collaborative environments where Jupyter notebooks are used.


36-42: Integrate prettier for code formatting.

The use of prettier for formatting non-Python files ensures consistency across different file types. Verify that this aligns with the team's workflow and file types in use.


43-47: Enable pyright for type checking.

The addition of pyright with error-level checks is a proactive step towards improving type safety. Ensure that the codebase is compatible with these checks to avoid unnecessary errors.


48-55: Introduce codespell for spell checking.

Adding codespell enhances the robustness of pre-commit checks by catching common misspellings. Ensure that the pyproject.toml configuration aligns with the project's vocabulary.

dev_docs/design_docs/Restructuring.md (3)

10-14: Improve list formatting for clarity.

The restructuring of bullet points enhances readability and visual hierarchy. This change helps in quickly scanning through the required features of the package.

Tools
LanguageTool

[grammar] ~13-~13: Use the plural noun, or add a word such as ‘the’ or ‘some’ in front of ‘other’.
Context: ...stributed with the package - [WIP]Other file I/O methods to allow users to create `E...

(OTHER_NN)


19-22: Enhance consistency in module descriptions.

The consistent indentation and alignment of bullet points improve the document's structure, making it easier to understand the relationships between features and modules.


25-26: Clarify plotting utilities description.

The description of plotting utilities is now clearer, indicating potential implementations. This helps in planning future developments or extensions.

src/elementembeddings/tests/test_utils.py (2)

3-3: Use of __future__ import for annotations.

The use of from __future__ import annotations is a good practice for forward compatibility with Python's type hinting improvements.


17-19: Correct use of ClassVar for class-level variables.

The change to use ClassVar for a, b, and c clarifies their role as class-level variables. This aligns with type hinting best practices in Python.

pyproject.toml (5)

1-4: Set up build system requirements.

The build system configuration using setuptools is standard and should be compatible with most Python environments. Ensure that this aligns with the project's build requirements.


10-13: Configure ruff for linting and formatting.

The ruff configuration specifies the target Python version and line length, which are crucial for maintaining consistency. Ensure these settings align with the project's coding standards.


15-80: Comprehensive linting rules with ruff.

The extensive list of ignored rules in ruff indicates a tailored approach to linting. Regularly review these settings to ensure they meet the project's evolving needs.


92-95: Configure pyright for type checking.

The pyright settings are minimal but effective for basic type checking. Consider expanding these settings as the project grows in complexity.


97-198: Customize codespell for spell checking.

The codespell configuration is detailed, with specific files and words to skip. Ensure this list is maintained to keep up with any new terminology or file types introduced in the project.

docs/embeddings/element.md (3)

5-6: Standardize list formatting for external links.

The consistent formatting of external links improves the document's readability and professionalism.


53-69: Enhance readability of property lists.

The uniform formatting of the 22-dimensional embedding vector properties aids in clarity and quick reference.


107-151: Improve presentation of 44-dimensional features.

The structured presentation of the 44 features enhances the document's clarity and usability.

src/elementembeddings/plotter.py (3)

17-21: Modernize type hints in heatmap_plotter.

The type hints for the embedding and ax parameters have been updated to use the new union syntax, which improves readability and aligns with Python 3.10+ standards.


96-103: Modernize type hints in dimension_plotter.

The type hints for the embedding, reducer_params, scatter_params, and include_species parameters have been updated to use the new union syntax, which improves readability and aligns with Python 3.10+ standards.


Line range hint 135-140: Verify exception handling in tests.

The use of pytest.raises for exception handling in tests is a modern approach. Ensure that all edge cases for invalid parameters in dimension_plotter are covered.

Verification successful

Exception handling in dimension_plotter tests is verified. The tests in src/elementembeddings/tests/test_plotter.py appropriately use pytest.raises(ValueError) to handle invalid parameters, such as incorrect reducer names and component numbers. This indicates that the edge cases are adequately covered.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that all edge cases for invalid parameters in `dimension_plotter` are covered by tests.

# Test: Search for test cases using `pytest.raises` with `ValueError` in `dimension_plotter`.
rg --type python --word-regexp --fixed-strings 'pytest.raises(ValueError)' -A 5

Length of output: 112


Script:

#!/bin/bash
# Description: Verify that all edge cases for invalid parameters in `dimension_plotter` are covered by tests.

# Test: Search for test cases using `pytest.raises` with `ValueError` in `dimension_plotter`.
rg --glob '*.py' --word-regexp --fixed-strings 'pytest.raises(ValueError)' -A 5

Length of output: 3452

src/elementembeddings/tests/test_plotter.py (4)

3-3: Add annotations import for future compatibility.

The import of annotations from __future__ enhances type hinting capabilities and ensures compatibility with future Python versions.


51-51: Improve readability with single-line instantiation.

The instantiation of test_species using a single line improves readability and reduces visual clutter.


135-140: Use pytest.raises for exception handling.

Switching to pytest.raises for exception handling is a modern and consistent approach. Ensure all invalid parameter cases are tested.


154-160: Use pytest.raises for testing exceptions.

The use of pytest.raises enhances readability and consistency in testing exception cases for invalid dimensions.

src/elementembeddings/_base.py (4)

37-38: Modernize type hints in EmbeddingBase.__init__.

The type hints for embedding_name and feature_labels have been updated to use the new union syntax, enhancing readability and aligning with Python 3.10+ standards.


107-107: Modernize type hints in from_json.

The type hint for embedding_name has been updated to use the new union syntax, improving readability and aligning with Python 3.10+ standards.


340-344: Add test coverage for species validation.

The validation logic for checking if species are in the embedding should be covered by tests to ensure error handling is robust.

Verification successful

Test coverage for species validation exists.

The compute_distance_metric method is tested for scenarios that raise ValueError, indicating that the species validation logic is covered by the tests in src/elementembeddings/tests/test_core.py.

  • src/elementembeddings/tests/test_core.py: Contains tests using pytest.raises(ValueError) to cover error handling.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that the species validation logic in `compute_distance_metric` is covered by tests.

# Test: Search for test cases that raise `ValueError` for missing species in `compute_distance_metric`.
rg --type python --word-regexp --fixed-strings 'raise ValueError' -A 5

Length of output: 103


Script:

#!/bin/bash
# Description: Verify that the species validation logic in `compute_distance_metric` is covered by tests.

# Test: Search for test cases that raise `ValueError` for missing species in `compute_distance_metric`.
rg --type py --word-regexp --fixed-strings 'raise ValueError' -A 5 --glob '*test*.py'

Length of output: 87


Script:

#!/bin/bash
# Description: Search for test functions or methods that might be testing `compute_distance_metric`.

# Find occurrences of `compute_distance_metric` in test files to check for indirect test coverage.
rg 'compute_distance_metric' --glob '*test*.py' -A 5

Length of output: 2178

Tools
GitHub Check: codecov/patch

[warning] 340-340: src/elementembeddings/_base.py#L340
Added line #L340 was not covered by tests


[warning] 343-344: src/elementembeddings/_base.py#L343-L344
Added lines #L343 - L344 were not covered by tests


288-292: Add test coverage for element validation.

The validation logic for checking if elements are in the embedding should be covered by tests to ensure error handling is robust.

Tools
GitHub Check: codecov/patch

[warning] 288-288: src/elementembeddings/_base.py#L288
Added line #L288 was not covered by tests


[warning] 291-292: src/elementembeddings/_base.py#L291-L292
Added lines #L291 - L292 were not covered by tests

src/elementembeddings/core.py (7)

44-44: Modernize type hints in Embedding.load_data.

The type hint for embedding_name has been updated to use the new union syntax, enhancing readability and aligning with Python 3.10+ standards.


106-106: Modernize type hints in from_json.

The type hint for embedding_name has been updated to use the new union syntax, improving readability and aligning with Python 3.10+ standards.


120-120: Modernize type hints in from_csv.

The type hint for embedding_name has been updated to use the new union syntax, enhancing readability and aligning with Python 3.10+ standards.


172-172: Modernize type hints in to.

The type hint for filename has been updated to use the new union syntax, improving readability and aligning with Python 3.10+ standards.


215-215: Modernize type hints in remove_elements.

The type hint for elements has been updated to use the new union syntax, enhancing readability and aligning with Python 3.10+ standards.


269-269: Modernize type hints in element_groups_dict.

The return type hint has been updated to use the new dictionary syntax, improving readability and aligning with Python 3.10+ standards.


555-555: Ensure test coverage for to method.

The to method should be covered by tests to ensure that all file output paths are correctly handled.

Tools
GitHub Check: codecov/patch

[warning] 555-555: src/elementembeddings/core.py#L555
Added line #L555 was not covered by tests

src/elementembeddings/composition.py (20)

28-28: Modernize type hints in formula_parser.

The return type hint has been updated to use the new dictionary syntax, enhancing readability and aligning with Python 3.10+ standards.


63-63: Modernize type hints in _get_sym_dict.

The return type hint has been updated to use the new dictionary syntax, improving readability and aligning with Python 3.10+ standards.


82-82: Modernize type hints in _get_fractional_composition.

The return type hint has been updated to use the new dictionary syntax, enhancing readability and aligning with Python 3.10+ standards.


104-104: Modernize type hints in CompositionalEmbedding.__init__.

The type hint for embedding has been updated to use the new union syntax, improving readability and aligning with Python 3.10+ standards.


203-203: Use ClassVar for _stats_functions_dict.

The use of ClassVar indicates that _stats_functions_dict is a class-level variable, which clarifies its intended scope and improves code clarity.


214-214: Modernize type hints in feature_vector.

The type hint for stats has been updated to use the new union syntax, improving readability and aligning with Python 3.10+ standards.


255-255: Modernize type hints in distance.

The type hint for stats has been updated to use the new union syntax, improving readability and aligning with Python 3.10+ standards.


309-313: Modernize type hints in _composition_distance.

The type hints for comp1, comp2, embedding, and stats have been updated to use the new union syntax, improving readability and aligning with Python 3.10+ standards.


345-348: Modernize type hints in composition_featuriser.

The type hints for data, embedding, and stats have been updated to use the new union syntax, improving readability and aligning with Python 3.10+ standards.


416-416: Modernize type hints in SpeciesCompositionalEmbedding.__init__.

The type hint for embedding has been updated to use the new union syntax, improving readability and aligning with Python 3.10+ standards.


536-536: Use ClassVar for _stats_functions_dict.

The use of ClassVar indicates that _stats_functions_dict is a class-level variable, which clarifies its intended scope and improves code clarity.


547-547: Modernize type hints in feature_vector.

The type hint for stats has been updated to use the new union syntax, improving readability and aligning with Python 3.10+ standards.


588-588: Modernize type hints in distance.

The type hint for stats has been updated to use the new union syntax, improving readability and aligning with Python 3.10+ standards.


648-652: Modernize type hints in _species_composition_distance.

The type hints for comp1, comp2, embedding, and stats have been updated to use the new union syntax, improving readability and aligning with Python 3.10+ standards.


684-688: Modernize type hints in species_composition_featuriser.

The type hints for data, embedding, and stats have been updated to use the new union syntax, improving readability and aligning with Python 3.10+ standards.


716-720: Add test coverage for invalid data types.

Ensure that the type validation logic in species_composition_featuriser is covered by tests to handle incorrect data types.

Tools
GitHub Check: codecov/patch

[warning] 716-716: src/elementembeddings/composition.py#L716
Added line #L716 was not covered by tests


[warning] 720-720: src/elementembeddings/composition.py#L720
Added line #L720 was not covered by tests


242-242: Add test coverage for invalid stats.

Ensure that the validation logic for invalid statistics in feature_vector is covered by tests.

Tools
GitHub Check: codecov/patch

[warning] 242-242: src/elementembeddings/composition.py#L242
Added line #L242 was not covered by tests


575-575: Add test coverage for invalid stats.

Ensure that the validation logic for invalid statistics in feature_vector is covered by tests.

Tools
GitHub Check: codecov/patch

[warning] 575-575: src/elementembeddings/composition.py#L575
Added line #L575 was not covered by tests


399-400: Add test coverage for invalid data types.

Ensure that the type validation logic in composition_featuriser is covered by tests to handle incorrect data types.

Verification successful

Let's correct the command to search for TypeError exceptions in Python files and re-run the script.


Let's search for test files in the repository and check if there are any tests for invalid data types in composition_featuriser.


Let's inspect test_composition.py for test cases that involve composition_featuriser and handle invalid data types.


Add test coverage for invalid data types in composition_featuriser.

The current test suite in test_composition.py for composition_featuriser only covers valid input scenarios. Please add tests to handle invalid data types that would raise a TypeError.

  • Consider adding tests that pass invalid data types to composition_featuriser to ensure robust type validation.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that the type validation logic in `composition_featuriser` is covered by tests.

# Test: Search for test cases that raise `TypeError` for incorrect data types in `composition_featuriser`.
rg --type python --word-regexp --fixed-strings 'raise TypeError' -A 5

Length of output: 102


Script:

#!/bin/bash
# Description: Verify that the type validation logic in `composition_featuriser` is covered by tests.

# Test: Search for test cases that raise `TypeError` for incorrect data types in `composition_featuriser`.
rg --type py 'raise TypeError' -A 5

Length of output: 2034


Script:

#!/bin/bash
# Find all test files in the repository
fd --type f --extension py --exec grep -l 'composition_featuriser' {}

# Search for tests that might handle TypeError or invalid data types
rg 'TypeError' --type py -A 5

Length of output: 2187


Script:

#!/bin/bash
# Search for test cases involving composition_featuriser in test_composition.py
rg 'composition_featuriser' src/elementembeddings/tests/test_composition.py -A 5

Length of output: 1429

Tools
GitHub Check: codecov/patch

[warning] 399-400: src/elementembeddings/composition.py#L399-L400
Added lines #L399 - L400 were not covered by tests


607-607: Add test coverage for type errors in distance.

Ensure that the type validation logic in distance is covered by tests to handle incorrect types for comp_other.

Tools
GitHub Check: codecov/patch

[warning] 607-607: src/elementembeddings/composition.py#L607
Added line #L607 was not covered by tests

src/elementembeddings/data/element_representations/magpie_sc.json (97)

2-10: Data for "H" looks consistent.

The numerical array for element "H" appears to be well-structured and consistent.


11-20: Data for "He" looks consistent.

The numerical array for element "He" appears to be well-structured and consistent.


21-29: Data for "Li" looks consistent.

The numerical array for element "Li" appears to be well-structured and consistent.


30-39: Data for "Be" looks consistent.

The numerical array for element "Be" appears to be well-structured and consistent.


40-49: Data for "B" looks consistent.

The numerical array for element "B" appears to be well-structured and consistent.


50-59: Data for "C" looks consistent.

The numerical array for element "C" appears to be well-structured and consistent.


60-68: Data for "N" looks consistent.

The numerical array for element "N" appears to be well-structured and consistent.


69-77: Data for "O" looks consistent.

The numerical array for element "O" appears to be well-structured and consistent.


78-87: Data for "F" looks consistent.

The numerical array for element "F" appears to be well-structured and consistent.


88-97: Data for "Ne" looks consistent.

The numerical array for element "Ne" appears to be well-structured and consistent.


98-107: Data for "Na" looks consistent.

The numerical array for element "Na" appears to be well-structured and consistent.


108-117: Data for "Mg" looks consistent.

The numerical array for element "Mg" appears to be well-structured and consistent.


118-127: Data for "Al" looks consistent.

The numerical array for element "Al" appears to be well-structured and consistent.


128-136: Data for "Si" looks consistent.

The numerical array for element "Si" appears to be well-structured and consistent.


137-145: Data for "P" looks consistent.

The numerical array for element "P" appears to be well-structured and consistent.


146-155: Data for "S" looks consistent.

The numerical array for element "S" appears to be well-structured and consistent.


156-165: Data for "Cl" looks consistent.

The numerical array for element "Cl" appears to be well-structured and consistent.


166-175: Data for "Ar" looks consistent.

The numerical array for element "Ar" appears to be well-structured and consistent.


176-185: Data for "K" looks consistent.

The numerical array for element "K" appears to be well-structured and consistent.


186-195: Data for "Ca" looks consistent.

The numerical array for element "Ca" appears to be well-structured and consistent.


196-204: Data for "Sc" looks consistent.

The numerical array for element "Sc" appears to be well-structured and consistent.


205-214: Data for "Ti" looks consistent.

The numerical array for element "Ti" appears to be well-structured and consistent.


215-224: Data for "V" looks consistent.

The numerical array for element "V" appears to be well-structured and consistent.


225-233: Data for "Cr" looks consistent.

The numerical array for element "Cr" appears to be well-structured and consistent.


234-243: Data for "Mn" looks consistent.

The numerical array for element "Mn" appears to be well-structured and consistent.


244-253: Data for "Fe" looks consistent.

The numerical array for element "Fe" appears to be well-structured and consistent.


254-263: Data for "Co" looks consistent.

The numerical array for element "Co" appears to be well-structured and consistent.


264-272: Data for "Ni" looks consistent.

The numerical array for element "Ni" appears to be well-structured and consistent.


273-281: Data for "Cu" looks consistent.

The numerical array for element "Cu" appears to be well-structured and consistent.


282-291: Data for "Zn" looks consistent.

The numerical array for element "Zn" appears to be well-structured and consistent.


292-301: Data for "Ga" looks consistent.

The numerical array for element "Ga" appears to be well-structured and consistent.


302-311: Data for "Ge" looks consistent.

The numerical array for element "Ge" appears to be well-structured and consistent.


312-321: Data for "As" looks consistent.

The numerical array for element "As" appears to be well-structured and consistent.


322-331: Data for "Se" looks consistent.

The numerical array for element "Se" appears to be well-structured and consistent.


332-340: Data for "Br" looks consistent.

The numerical array for element "Br" appears to be well-structured and consistent.


341-350: Data for "Kr" looks consistent.

The numerical array for element "Kr" appears to be well-structured and consistent.


351-359: Data for "Rb" looks consistent.

The numerical array for element "Rb" appears to be well-structured and consistent.


360-369: Data for "Sr" looks consistent.

The numerical array for element "Sr" appears to be well-structured and consistent.


370-379: Data for "Y" looks consistent.

The numerical array for element "Y" appears to be well-structured and consistent.


380-389: Data for "Zr" looks consistent.

The numerical array for element "Zr" appears to be well-structured and consistent.


390-398: Data for "Nb" looks consistent.

The numerical array for element "Nb" appears to be well-structured and consistent.


399-407: Data for "Mo" looks consistent.

The numerical array for element "Mo" appears to be well-structured and consistent.


408-417: Data for "Tc" looks consistent.

The numerical array for element "Tc" appears to be well-structured and consistent.


418-426: Data for "Ru" looks consistent.

The numerical array for element "Ru" appears to be well-structured and consistent.


427-435: Data for "Rh" looks consistent.

The numerical array for element "Rh" appears to be well-structured and consistent.


436-445: Data for "Pd" looks consistent.

The numerical array for element "Pd" appears to be well-structured and consistent.


446-454: Data for "Ag" looks consistent.

The numerical array for element "Ag" appears to be well-structured and consistent.


455-464: Data for "Cd" looks consistent.

The numerical array for element "Cd" appears to be well-structured and consistent.


465-473: Data for "In" looks consistent.

The numerical array for element "In" appears to be well-structured and consistent.


474-483: Data for "Sn" looks consistent.

The numerical array for element "Sn" appears to be well-structured and consistent.


484-493: Data for "Sb" looks consistent.

The numerical array for element "Sb" appears to be well-structured and consistent.


494-503: Data for "Te" looks consistent.

The numerical array for element "Te" appears to be well-structured and consistent.


504-513: Data for "I" looks consistent.

The numerical array for element "I" appears to be well-structured and consistent.


514-523: Data for "Xe" looks consistent.

The numerical array for element "Xe" appears to be well-structured and consistent.


524-532: Data for "Cs" looks consistent.

The numerical array for element "Cs" appears to be well-structured and consistent.


533-541: Data for "Ba" looks consistent.

The numerical array for element "Ba" appears to be well-structured and consistent.


542-551: Data for "La" looks consistent.

The numerical array for element "La" appears to be well-structured and consistent.


552-561: Data for "Ce" looks consistent.

The numerical array for element "Ce" appears to be well-structured and consistent.


562-571: Data for "Pr" looks consistent.

The numerical array for element "Pr" appears to be well-structured and consistent.


572-581: Data for "Nd" looks consistent.

The numerical array for element "Nd" appears to be well-structured and consistent.


582-591: Data for "Pm" looks consistent.

The numerical array for element "Pm" appears to be well-structured and consistent.


592-601: Data for "Sm" looks consistent.

The numerical array for element "Sm" appears to be well-structured and consistent.


602-610: Data for "Eu" looks consistent.

The numerical array for element "Eu" appears to be well-structured and consistent.


611-620: Data for "Gd" looks consistent.

The numerical array for element "Gd" appears to be well-structured and consistent.


621-630: Data for "Tb" looks consistent.

The numerical array for element "Tb" appears to be well-structured and consistent.


631-640: Data for "Dy" looks consistent.

The numerical array for element "Dy" appears to be well-structured and consistent.


641-650: Data for "Ho" looks consistent.

The numerical array for element "Ho" appears to be well-structured and consistent.


651-660: Data for "Er" looks consistent.

The numerical array for element "Er" appears to be well-structured and consistent.


661-670: Data for "Tm" looks consistent.

The numerical array for element "Tm" appears to be well-structured and consistent.


671-679: Data for "Yb" looks consistent.

The numerical array for element "Yb" appears to be well-structured and consistent.


680-689: Data for "Lu" looks consistent.

The numerical array for element "Lu" appears to be well-structured and consistent.


690-699: Data for "Hf" looks consistent.

The numerical array for element "Hf" appears to be well-structured and consistent.


700-709: Data for "Ta" looks consistent.

The numerical array for element "Ta" appears to be well-structured and consistent.


710-719: Data for "W" looks consistent.

The numerical array for element "W" appears to be well-structured and consistent.


720-729: Data for "Re" looks consistent.

The numerical array for element "Re" appears to be well-structured and consistent.


730-739: Data for "Os" looks consistent.

The numerical array for element "Os" appears to be well-structured and consistent.


740-748: Data for "Ir" looks consistent.

The numerical array for element "Ir" appears to be well-structured and consistent.


749-757: Data for "Pt" looks consistent.

The numerical array for element "Pt" appears to be well-structured and consistent.


758-766: Data for "Au" looks consistent.

The numerical array for element "Au" appears to be well-structured and consistent.


767-776: Data for "Hg" looks consistent.

The numerical array for element "Hg" appears to be well-structured and consistent.


777-786: Data for "Tl" looks consistent.

The numerical array for element "Tl" appears to be well-structured and consistent.


787-796: Data for "Pb" looks consistent.

The numerical array for element "Pb" appears to be well-structured and consistent.


797-806: Data for "Bi" looks consistent.

The numerical array for element "Bi" appears to be well-structured and consistent.


807-815: Data for "Po" looks consistent.

The numerical array for element "Po" appears to be well-structured and consistent.


816-825: Data for "At" looks consistent.

The numerical array for element "At" appears to be well-structured and consistent.


826-835: Data for "Rn" looks consistent.

The numerical array for element "Rn" appears to be well-structured and consistent.


836-844: Data for "Fr" looks consistent.

The numerical array for element "Fr" appears to be well-structured and consistent.


845-854: Data for "Ra" looks consistent.

The numerical array for element "Ra" appears to be well-structured and consistent.


855-864: Data for "Ac" looks consistent.

The numerical array for element "Ac" appears to be well-structured and consistent.


865-874: Data for "Th" looks consistent.

The numerical array for element "Th" appears to be well-structured and consistent.


875-883: Data for "Pa" looks consistent.

The numerical array for element "Pa" appears to be well-structured and consistent.


884-893: Data for "U" looks consistent.

The numerical array for element "U" appears to be well-structured and consistent.


894-903: Data for "Np" looks consistent.

The numerical array for element "Np" appears to be well-structured and consistent.


904-913: Data for "Pu" looks consistent.

The numerical array for element "Pu" appears to be well-structured and consistent.


914-923: Data for "Am" looks consistent.

The numerical array for element "Am" appears to be well-structured and consistent.


924-933: Data for "Cm" looks consistent.

The numerical array for element "Cm" appears to be well-structured and consistent.


934-943: Data for "Bk" looks consistent.

The numerical array for element "Bk" appears to be well-structured and consistent.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 7366279 and ae3fa47.

Files selected for processing (1)
  • src/elementembeddings/tests/test_composition.py (8 hunks)
Files skipped from review as they are similar to previous changes (1)
  • src/elementembeddings/tests/test_composition.py

@AntObi AntObi merged commit caa28af into main Aug 19, 2024
14 of 15 checks passed
@AntObi AntObi deleted the ruff branch August 19, 2024 20:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Move to ruff for linting and formating
1 participant