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

Add codespell config, workflow and get it to fix some typos it finds #1610

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

yarikoptic
Copy link

@yarikoptic yarikoptic commented Nov 28, 2023

Description

codespell is great, and it can help to keep your code typos free.

Types of changes

  • Bugfix
  • New feature
  • Refactor / Code style update (no logical changes)
  • Build / CI changes
  • Documentation Update
  • Other (explain): typos fixed, primarily in the comments and strings but also in some test paths (see if tests got affected) etc.

Outside contributors checklist

  • Review the guidelines for contributing to this repository
  • Read and sign the CLA and add yourself to the authors list: I would need more instructions on how to sign and either worth adding to authors list
  • Make sure you are making a pull request against the develop branch (not main). Also you should start your branch off develop
  • Add tests that prove your fix is effective or that your feature works
  • Add necessary documentation (if appropriate)

Thank you for contributing to SLEAP!

❤️

Summary by CodeRabbit

  • Documentation

    • Corrected various spelling errors across multiple documentation files for improved clarity and readability.
    • Updated CLI documentation to fix typos and enhance command descriptions.
  • Bug Fixes

    • Fixed typographical errors in user interface text and error messages to ensure accurate communication.
  • Chores

    • Implemented a spell-check workflow using GitHub Actions to maintain codebase quality.
    • Configured codespell to ignore certain files and patterns, reducing false positives during spell checks.
  • Style

    • Standardized comments and docstrings throughout the codebase for consistency.
  • Tests

    • Adjusted comments in test files for accuracy and to reflect correct behavior.

Copy link

coderabbitai bot commented Nov 28, 2023

Walkthrough

The changes encompass a wide range of typographical error corrections across various documentation, comments, and error messages within the codebase. Additionally, a GitHub Actions workflow for spell checking using codespell has been introduced, ensuring future contributions are free from such mistakes. Minor clarifications in help texts and comments have been made to improve understanding and readability.

Changes

File Path Change Summary
.codespellrc,
.github/workflows/codespell.yml
Added codespell configuration and GitHub Actions workflow for spell checking.
docs/CONTRIBUTING.md,
docs/guides/cli.md,
docs/guides/gui.md,
docs/installation.md,
docs/notebooks/...,
pypi_requirements.txt,
sleap/gui/app.py,
sleap/gui/commands.py,
sleap/gui/learning/dialog.py,
sleap/gui/learning/runners.py,
sleap/gui/overlays/tracks.py,
sleap/gui/widgets/video.py,
sleap/gui/widgets/views.py,
sleap/instance.py,
sleap/io/convert.py,
sleap/io/dataset.py,
sleap/io/format/ndx_pose.py,
sleap/io/video.py,
sleap/nn/architectures/resnet.py,
sleap/nn/config/optimization.py,
sleap/nn/data/resizing.py,
sleap/nn/inference.py,
sleap/nn/paf_grouping.py,
sleap/nn/peak_finding.py,
sleap/nn/tracking.py,
sleap/nn/training.py,
sleap/rangelist.py,
sleap/skeleton.py,
tests/gui/learning/test_dialog.py,
tests/gui/test_commands.py,
tests/info/test_h5.py,
tests/nn/test_inference.py,
tests/test_message.py
Corrected typographical errors and clarified comments and documentation.

"In the burrow of the code, where the characters hop,
A spell was cast, and typos did stop.
🐇 With each keystroke, and every line,
The rabbit ensured the words would align."

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's AI:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit-tests for this file.
  • 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 tests 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 from git and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit tests.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid.
    • @coderabbitai read the files in the src/scheduler package and generate README in the markdown format.

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 a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

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

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • 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/coderabbit-overrides.v2.json

CodeRabbit Discord Community

Join our Discord Community to get help, request features, and share feedback.

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.

Review Status

Actionable comments generated: 1

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between cb82d36 and 903e1e2.
Files ignored due to filter (1)
  • sleap/config/training_editor_form.yaml
Files selected for processing (38)
  • .codespellrc (1 hunks)
  • .github/workflows/codespell.yml (1 hunks)
  • docs/CONTRIBUTING.md (1 hunks)
  • docs/guides/cli.md (2 hunks)
  • docs/guides/gui.md (1 hunks)
  • docs/installation.md (2 hunks)
  • docs/notebooks/Interactive_and_realtime_inference.ipynb (1 hunks)
  • docs/notebooks/Interactive_and_resumable_training.ipynb (2 hunks)
  • docs/notebooks/Training_and_inference_on_an_example_dataset.ipynb (3 hunks)
  • docs/notebooks/Training_and_inference_using_Google_Drive.ipynb (1 hunks)
  • pypi_requirements.txt (1 hunks)
  • sleap/gui/app.py (3 hunks)
  • sleap/gui/commands.py (4 hunks)
  • sleap/gui/learning/dialog.py (1 hunks)
  • sleap/gui/learning/runners.py (1 hunks)
  • sleap/gui/overlays/tracks.py (1 hunks)
  • sleap/gui/widgets/video.py (1 hunks)
  • sleap/gui/widgets/views.py (1 hunks)
  • sleap/instance.py (5 hunks)
  • sleap/io/convert.py (1 hunks)
  • sleap/io/dataset.py (3 hunks)
  • sleap/io/format/ndx_pose.py (1 hunks)
  • sleap/io/video.py (3 hunks)
  • sleap/nn/architectures/resnet.py (1 hunks)
  • sleap/nn/config/optimization.py (1 hunks)
  • sleap/nn/data/resizing.py (1 hunks)
  • sleap/nn/inference.py (1 hunks)
  • sleap/nn/paf_grouping.py (1 hunks)
  • sleap/nn/peak_finding.py (1 hunks)
  • sleap/nn/tracking.py (2 hunks)
  • sleap/nn/training.py (2 hunks)
  • sleap/rangelist.py (1 hunks)
  • sleap/skeleton.py (1 hunks)
  • tests/gui/learning/test_dialog.py (1 hunks)
  • tests/gui/test_commands.py (1 hunks)
  • tests/info/test_h5.py (1 hunks)
  • tests/nn/test_inference.py (1 hunks)
  • tests/test_message.py (1 hunks)
Files skipped from review due to trivial changes (36)
  • .codespellrc
  • .github/workflows/codespell.yml
  • docs/CONTRIBUTING.md
  • docs/guides/cli.md
  • docs/guides/gui.md
  • docs/installation.md
  • docs/notebooks/Interactive_and_realtime_inference.ipynb
  • docs/notebooks/Interactive_and_resumable_training.ipynb
  • docs/notebooks/Training_and_inference_on_an_example_dataset.ipynb
  • docs/notebooks/Training_and_inference_using_Google_Drive.ipynb
  • pypi_requirements.txt
  • sleap/gui/app.py
  • sleap/gui/learning/dialog.py
  • sleap/gui/learning/runners.py
  • sleap/gui/overlays/tracks.py
  • sleap/gui/widgets/video.py
  • sleap/gui/widgets/views.py
  • sleap/instance.py
  • sleap/io/convert.py
  • sleap/io/format/ndx_pose.py
  • sleap/io/video.py
  • sleap/nn/architectures/resnet.py
  • sleap/nn/config/optimization.py
  • sleap/nn/data/resizing.py
  • sleap/nn/inference.py
  • sleap/nn/paf_grouping.py
  • sleap/nn/peak_finding.py
  • sleap/nn/tracking.py
  • sleap/nn/training.py
  • sleap/rangelist.py
  • sleap/skeleton.py
  • tests/gui/learning/test_dialog.py
  • tests/gui/test_commands.py
  • tests/info/test_h5.py
  • tests/nn/test_inference.py
  • tests/test_message.py
Additional comments: 4
sleap/gui/commands.py (2)
  • 1075-1080: The typo correction in the error message improves the readability and professionalism of the error handling.

  • 2068-2074: The update to include detailed traceback information in the logging will be helpful for debugging purposes and understanding the context of errors.

sleap/io/dataset.py (2)
  • 1883-1889: > Note: This review was outside the patches, and no patch overlapping with it was found. Original lines [15-18]

The typo corrections in the to_dict method description are accurate and improve the readability of the documentation.

  • 1883-1889: > Note: This review was outside the patches, and no patch overlapping with it was found. Original lines [22-22]

The typo corrections in the export_nwb method description are accurate and improve the readability of the documentation.

Comment on lines 289 to 291
def important(self):
"""Imports AlphaTracker datasets."""
self.execute(ImportAlphaTracker)
Copy link

Choose a reason for hiding this comment

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

The method name important does not clearly indicate its functionality of importing datasets. Consider renaming it to something more descriptive, such as importAlphaTracker to maintain clarity and consistency.

- def important(self):
+ def importAlphaTracker(self):

Committable suggestion

IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
def important(self):
"""Imports AlphaTracker datasets."""
self.execute(ImportAlphaTracker)
def importAlphaTracker(self):
"""Imports AlphaTracker datasets."""
self.execute(ImportAlphaTracker)

Copy link
Collaborator

@roomrys roomrys left a comment

Choose a reason for hiding this comment

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

Potential to rename functions (although all to the same name and pretty unlikely) - otherwise impressive

def importAT(self):
def important(self):
Copy link
Collaborator

Choose a reason for hiding this comment

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

Everything looks pretty good except for renaming this function

Copy link
Author

Choose a reason for hiding this comment

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

sorry, slipped through my fingers. Adding importat to skips, and redoing the fixes... force pushed

sleap/gui/app.py Outdated
self.commands.importAT,
self.commands.important,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Everything looks pretty good except for renaming this function

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w -i 3 -C 2",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^
=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^
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.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between cb82d36 and a83e15d.
Files ignored due to filter (1)
  • sleap/config/training_editor_form.yaml
Files selected for processing (38)
  • .codespellrc (1 hunks)
  • .github/workflows/codespell.yml (1 hunks)
  • docs/CONTRIBUTING.md (1 hunks)
  • docs/guides/cli.md (2 hunks)
  • docs/guides/gui.md (1 hunks)
  • docs/installation.md (2 hunks)
  • docs/notebooks/Interactive_and_realtime_inference.ipynb (1 hunks)
  • docs/notebooks/Interactive_and_resumable_training.ipynb (2 hunks)
  • docs/notebooks/Training_and_inference_on_an_example_dataset.ipynb (3 hunks)
  • docs/notebooks/Training_and_inference_using_Google_Drive.ipynb (1 hunks)
  • pypi_requirements.txt (1 hunks)
  • sleap/gui/app.py (2 hunks)
  • sleap/gui/commands.py (3 hunks)
  • sleap/gui/learning/dialog.py (1 hunks)
  • sleap/gui/learning/runners.py (1 hunks)
  • sleap/gui/overlays/tracks.py (1 hunks)
  • sleap/gui/widgets/video.py (1 hunks)
  • sleap/gui/widgets/views.py (1 hunks)
  • sleap/instance.py (5 hunks)
  • sleap/io/convert.py (1 hunks)
  • sleap/io/dataset.py (3 hunks)
  • sleap/io/format/ndx_pose.py (1 hunks)
  • sleap/io/video.py (3 hunks)
  • sleap/nn/architectures/resnet.py (1 hunks)
  • sleap/nn/config/optimization.py (1 hunks)
  • sleap/nn/data/resizing.py (1 hunks)
  • sleap/nn/inference.py (1 hunks)
  • sleap/nn/paf_grouping.py (1 hunks)
  • sleap/nn/peak_finding.py (1 hunks)
  • sleap/nn/tracking.py (2 hunks)
  • sleap/nn/training.py (2 hunks)
  • sleap/rangelist.py (1 hunks)
  • sleap/skeleton.py (1 hunks)
  • tests/gui/learning/test_dialog.py (1 hunks)
  • tests/gui/test_commands.py (1 hunks)
  • tests/info/test_h5.py (1 hunks)
  • tests/nn/test_inference.py (1 hunks)
  • tests/test_message.py (1 hunks)
Files skipped from review due to trivial changes (37)
  • .codespellrc
  • .github/workflows/codespell.yml
  • docs/CONTRIBUTING.md
  • docs/guides/cli.md
  • docs/guides/gui.md
  • docs/installation.md
  • docs/notebooks/Interactive_and_realtime_inference.ipynb
  • docs/notebooks/Interactive_and_resumable_training.ipynb
  • docs/notebooks/Training_and_inference_on_an_example_dataset.ipynb
  • docs/notebooks/Training_and_inference_using_Google_Drive.ipynb
  • pypi_requirements.txt
  • sleap/gui/app.py
  • sleap/gui/learning/dialog.py
  • sleap/gui/learning/runners.py
  • sleap/gui/overlays/tracks.py
  • sleap/gui/widgets/video.py
  • sleap/gui/widgets/views.py
  • sleap/instance.py
  • sleap/io/convert.py
  • sleap/io/dataset.py
  • sleap/io/format/ndx_pose.py
  • sleap/io/video.py
  • sleap/nn/architectures/resnet.py
  • sleap/nn/config/optimization.py
  • sleap/nn/data/resizing.py
  • sleap/nn/inference.py
  • sleap/nn/paf_grouping.py
  • sleap/nn/peak_finding.py
  • sleap/nn/tracking.py
  • sleap/nn/training.py
  • sleap/rangelist.py
  • sleap/skeleton.py
  • tests/gui/learning/test_dialog.py
  • tests/gui/test_commands.py
  • tests/info/test_h5.py
  • tests/nn/test_inference.py
  • tests/test_message.py
Additional comments: 3
sleap/gui/commands.py (3)
  • 1074-1080: The typo in the error message has been corrected.

  • 1240-1246: The logic for handling the export of analysis files appears to be correct.

  • 2068-2074: The typo in the log message has been corrected.

Copy link
Collaborator

@roomrys roomrys left a comment

Choose a reason for hiding this comment

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

Thanks!

Copy link

codecov bot commented Nov 28, 2023

Codecov Report

Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (14b5b78) 73.38% compared to head (fc06c95) 73.38%.

Files Patch % Lines
sleap/gui/app.py 0.00% 1 Missing ⚠️
sleap/nn/training.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1610      +/-   ##
===========================================
- Coverage    73.38%   73.38%   -0.01%     
===========================================
  Files          134      134              
  Lines        24064    24064              
===========================================
- Hits         17660    17659       -1     
- Misses        6404     6405       +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.

Review Status

Actionable comments generated: 0

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between a83e15d and c8ec64f.
Files selected for processing (2)
  • sleap/gui/learning/dialog.py (1 hunks)
  • sleap/io/video.py (3 hunks)
Files skipped from review due to trivial changes (2)
  • sleap/gui/learning/dialog.py
  • sleap/io/video.py

@roomrys roomrys self-assigned this Jan 5, 2024
@yarikoptic
Copy link
Author

if approved, should be merged?

FWIW - I have checked and it seems no new typos were added in develop since then.

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.

None yet

2 participants