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

Upgrade Pylint to allow use with Python 3.11 #234

Closed
GraemeWatt opened this issue Oct 14, 2023 · 0 comments · Fixed by #260
Closed

Upgrade Pylint to allow use with Python 3.11 #234

GraemeWatt opened this issue Oct 14, 2023 · 0 comments · Fixed by #260
Labels
bug Something isn't working

Comments

@GraemeWatt
Copy link
Member

Currently, Pylint is pinned at v2.9.6, which installs wrapt v1.12.1. Trying to use Pylint v2.9.6 with Python 3.11 gives an error message ImportError: cannot import name 'formatargspec' from 'inspect'. Upgrading to Pylint v2.15 or later fixes the problem. However, running a later version of Pylint gives messages like unrecognized-option and useless-option-value. The pylintrc and tests/pylintrc files need to be revised, then Pylint can be upgraded and Python 3.11 can be added to the test matrix in the CI (tests.yml).

@GraemeWatt GraemeWatt added the bug Something isn't working label Oct 14, 2023
GraemeWatt added a commit that referenced this issue Oct 15, 2023
* The pylint step can be added back in after #234 is resolved.
clelange pushed a commit that referenced this issue Oct 20, 2023
* ci: add ROOT v6.28 and Python v3.11 to test matrix

* docs: add "Adding resource links or files" etc.

* Add hepdata_lib.c_file_reader and hepdata_lib.helpers modules.
* Pin Sphinx<7 since docs fail to be built with Sphinx v7.
* Replace m2r2 with sphinx-mdinclude to avoid Mistune conflict.
* Replace deprecated "python setup.py test" with "pytest tests".
* Add section to "Developer information" about building docs.
* Add sections to "Usage" on "Adding resource links or files".
* Mention that venv can be used instead of virtualenv/virtualenvwrapper.

* examples: use add_additional_resource in notebooks

* hepdata_lib: add "type" to add_additional_resource

* Allow for type="HistFactory" to be passed as an additional argument.
* Extend test_submission.py to test the additional "type" argument.
* Add newlines to docstring of round_value_and_uncertainty for Sphinx.

* .gitignore: add files output by example notebooks

* .readthedocs.yml: install hepdata_lib package

* Installation needed to build the module index.
* Add "fail_on_warning: true" to avoid building broken docs.

* README.md: fix links to Jupyter notebooks

* Links to Jupyter notebooks previously broken on "Read the Docs".
* Binder links need to be given on a separate line to work properly.
* Add link to "Read the Docs" so it appears on main GitHub repo page.

* setup.py: add extras_require w/ test requirements

* Needed to install test dependencies with:  pip install -e ".[test]"
* Remove deprecated "setup_requires" and "tests_require".
* Add Python v3.11 to "Classifiers".

* ci: remove Python v3.11 from test matrix

* Python v3.11 incompatible with pylint v2.9.6 (installs wrapt v1.12.1).
* Add upper pin python_requires='>=3.6,<3.11' in setup.py.
* Use Python v3.10 in "Read the Docs" configuration file.

* docs: add "Analysing the code" section on Pylint

* Change "type" to "file_type" in argument of add_additional_resource.
* Disable some messages from Pylint when run on my local installation.

* hepdata_lib: add type of new "file_type" argument

* README.mb: fix Zenodo badge & give Python versions

* setup.py: remove upper bound on python_requires

* docs: reinstate SSH URL for "git clone"

* Also link to the GitHub docs for both HTTPS URLs and SSH URLs.

* ci: add Python 3.11 for tests but skip pylint step

* The pylint step can be added back in after #234 is resolved.

* Revert "ci: add Python 3.11 for tests but skip pylint step"

This reverts commit 77cc768.
The "Run pytest" step of the CI also fails with Python 3.11.

* ci/docs: rename master to main and improve docs

* Renamed 'master' branch to 'main' as with other HEPData repositories.
* Upgrade actions in GitHub Actions workflows to close Dependabot PRs.
* Revert to an SSH URL for main "git clone" with HTTPS URL in text.
* Remove recommendation to use virtualenv/virtualenvwrapper not 'venv'.

* pylint: remove 'disable-msg' and fix imports

* Remove 'disable-msg' comments introduced in commit dfa0a89.
* Add empty "__init__.py" file to tests/ directory.
* Add 'math' and 'array' modules to extension-pkg-whitelist in pylintrc.
* test_utilities.py needs to be a relative import after hepdata_lib.
* With these changes, pylint now gives 10.00/10 on my local setup.

* docs: tweak "Further examples" etc.

* Tweak "Further examples" so Binder on same line as text on GitHub.
* Remove pin on docutils==0.19, as not needed in recent Sphinx versions.
* Fix a copy-and-paste typo in setup.rst.

* docs: correct link to Python venv module
GraemeWatt added a commit that referenced this issue Mar 28, 2024
* pylintrc and tests/pylintrc generated with Pylint 3.1.0 by running
  "pylint --generate-rcfile" in a Python 3.12 virtual environment.
* Tweaked code and "pylintrc" files so that Pylint checks all pass.
* Add Python 3.11 and Python 3.12 to matrix in tests.yml.
* Publish using Python 3.12 in publish.yml.
* Closes #234.
GraemeWatt added a commit that referenced this issue Mar 28, 2024
* pylintrc and tests/pylintrc generated with Pylint 3.1.0 by running
  "pylint --generate-rcfile" in a Python 3.11 virtual environment.
* Tweaked code and "pylintrc" files so that Pylint checks all pass.
* Add Python 3.11 and ROOT 6.30 to matrix in tests.yml.
* ROOT binary built with Python 3.12 not yet supported by Micromamba.
* Closes #234.
GraemeWatt added a commit that referenced this issue Mar 28, 2024
* pylintrc and tests/pylintrc generated with Pylint 3.1.0 by running
  "pylint --generate-rcfile" in a Python 3.11 virtual environment.
* Tweaked code and "pylintrc" files so that Pylint checks all pass.
* Add Python 3.11 and ROOT 6.30 to matrix in tests.yml.
* Skip Pylint step in CI for Python 3.6 and Python 3.7.
* ROOT binary built with Python 3.12 not yet supported by Micromamba.
* Closes #234.
GraemeWatt added a commit that referenced this issue Mar 28, 2024
* pylintrc and tests/pylintrc generated with Pylint 3.1.0 by running
  "pylint --generate-rcfile" in a Python 3.11 virtual environment.
* Tweaked code and "pylintrc" files so that Pylint checks all pass.
* Add Python 3.11 and ROOT 6.30 to matrix in tests.yml.
* Skip Pylint step in CI for Python 3.6 and Python 3.7.
* ROOT binary built with Python 3.12 not yet supported by Micromamba.
* Closes #234.
clelange pushed a commit that referenced this issue Apr 8, 2024
* Remove pin on Pylint to support Python 3.11

* pylintrc and tests/pylintrc generated with Pylint 3.1.0 by running
  "pylint --generate-rcfile" in a Python 3.11 virtual environment.
* Tweaked code and "pylintrc" files so that Pylint checks all pass.
* Add Python 3.11 and ROOT 6.30 to matrix in tests.yml.
* Skip Pylint step in CI for Python 3.6 and Python 3.7.
* ROOT binary built with Python 3.12 not yet supported by Micromamba.
* Closes #234.

* Remove pylintrc and tests/pylintrc config files

* Just use default Pylint configuration making sure that checks pass.
* Tweak code for "consider-using-f-string" and "unspecified-encoding".
* Need to disable "no-name-in-module" and "no-member" checks for ROOT.

* Improve test coverage to avoid Codecov failure
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant