-
Notifications
You must be signed in to change notification settings - Fork 5
Added Support for Python 3.13 #358
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
Conversation
🦙 MegaLinter status: ✅ SUCCESS
See detailed report in MegaLinter reports |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #358 +/- ##
=======================================
Coverage 96.27% 96.28%
=======================================
Files 28 28
Lines 1584 1588 +4
=======================================
+ Hits 1525 1529 +4
Misses 59 59
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
| # Pylint | ||
| - repo: local | ||
| hooks: | ||
| - id: pylint |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will this block commits that aren't perfectly linted? I'm not sure I want this. Sometimes it takes a while to resolve and I need to commit something I know isn't right. I know you can disable checks, but I prefer not to have commits be blocked. Obviously if it can fix it itself, then that's fine, but if it's everything, then that could get annoying.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jmafoster1 - no, pre-commit doesn't completely block anything from being committed, it fixes it instead. The workflow is like this: 1) your script(s) contain unlinted, unformatted code 2) you commit files naively or run manually run pre-commit before committing 3) pre-commit identifies and initially "blocks" commits due to the rules defined in the pre-commit config 4) pre-commit formats and lints it for you 5) you commit as normal.
To avoid it "blocking" your commit from the get-go, just run pre-commit run --all-files before committing.
jmafoster1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @f-allian, this mostly looks good. Just a couple few suggestions...
Co-authored-by: Michael Foster <13611658+jmafoster1@users.noreply.github.com>
Co-authored-by: Michael Foster <13611658+jmafoster1@users.noreply.github.com>
…into f-allian/forward-compatibility
|
@jmafoster1 - thanks for the review - please see the revised changes |
This pull request introduces several improvements to developer experience, code quality enforcement, and compatibility for the Causal Testing Framework. The most significant changes include the addition of pre-commit hooks for automated code checks, updates to documentation for contributing and code style, expanded Python version support, and enhancements to linter configuration for better flexibility and compatibility.
Developer tooling and automation:
.pre-commit-config.yamlto enable automated code quality checks (trailing whitespace, end-of-file fixes, YAML/TOML validation, black formatting, isort sorting, pylint analysis) via pre-commit hooks.CONTRIBUTING.mdwith detailed instructions for contributing, using pre-commit hooks, manual code quality checks, and compatibility testing with tox.Python compatibility:
.github/workflows/ci-tests.yaml) and documentation build (.readthedocs.yaml). [1] [2]README.mdto reflect support for Python 3.10, 3.11, 3.12, and 3.13, and clarified OS recommendations. [1] [2]Code style and linting:
.pylintrcconfiguration: increased limits on arguments, attributes, locals, statements, and public methods; added more "good" variable names; improved handling for dynamically generated members and ignored classes; set Python version to 3.10; disabled deprecated options; and tailored checks for specific modules. [1] [2] [3] [4] [5] [6] [7] [8] [9]Documentation updates:
CONTRIBUTING.md), and removed the old.github/CONTRIBUTING.mdfile for clarity and consistency. [1] [2]README.mdfor clearer project description, requirements, and citation details.