diff --git a/CHANGELOG.md b/CHANGELOG.md index 4119a775..6e793362 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,9 @@ All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project follows an extension of -[Semantic Versioning](http://semver.org/spec/v2.0.0.html), where a bump in a +[Semantic Versioning](https://semver.org/spec/v2.0.0.html), where a bump in a fourth number represents an administrative maintenance release with no code changes. @@ -21,6 +21,12 @@ changes. #### Tests + * Add 3.13t and 3.14t to `tox` test matrix ([#333]). + * Also add report of the current GIL status to the `tox` env output. + + * Filter newly emerged `ResourceWarning` emitted from implicit cleanup of + `tempfile` resources ([#333]). + * Add tests exercising the new `sphobjinv-textconv` CLI entrypoint ([#331]). * Required generalizing the `run_cmdline_test` fixture so that tests can choose between the core and textconv entrypoints. @@ -99,6 +105,8 @@ changes. #### Administrative + * Convert several `http://` to `https://` across the project ([#333]). + * Add formal support for Python 3.14 ([#325]). * Drop support for Python 3.9 (EOL) ([#325]). @@ -780,3 +788,4 @@ changes. [#325]: https://github.com/bskinn/sphobjinv/pull/325 [#327]: https://github.com/bskinn/sphobjinv/pull/327 [#331]: https://github.com/bskinn/sphobjinv/pull/331 +[#333]: https://github.com/bskinn/sphobjinv/pull/333 diff --git a/CONTENT_LICENSE.txt b/CONTENT_LICENSE.txt index d187275f..b04b0ea0 100644 --- a/CONTENT_LICENSE.txt +++ b/CONTENT_LICENSE.txt @@ -1,4 +1,4 @@ The sphobjinv documentation (including docstrings and README) is licensed under a Creative Commons Attribution 4.0 International License (CC-BY). -See http://creativecommons.org/licenses/by/4.0/. +See https://creativecommons.org/licenses/by/4.0/. diff --git a/README.md b/README.md index f89e1025..8aef5f0b 100644 --- a/README.md +++ b/README.md @@ -187,8 +187,8 @@ under a [Creative Commons Attribution 4.0 International License][cc-by 4.0] [black badge]: https://img.shields.io/badge/code%20style-black-000000.svg [black link target]: https://github.com/psf/black -[cc-by 4.0]: http://creativecommons.org/licenses/by/4.0/ -[soi docs inv export]: http://sphobjinv.readthedocs.io/en/latest/api_usage.html#exporting-an-inventory +[cc-by 4.0]: https:/creativecommons.org/licenses/by/4.0/ +[soi docs inv export]: https://sphobjinv.readthedocs.io/en/latest/api_usage.html#exporting-an-inventory [github issue tracker]: https://github.com/bskinn/sphobjinv/issues [github repo]: https://github.com/bskinn/sphobjinv [gitter badge]: https://badges.gitter.im/sphobjinv/community.svg @@ -203,6 +203,6 @@ under a [Creative Commons Attribution 4.0 International License][cc-by 4.0] [pypi link target]: https://pypi.org/project/sphobjinv [python versions badge]: https://img.shields.io/pypi/pyversions/sphobjinv.svg?logo=python [readthedocs badge]: https://img.shields.io/readthedocs/sphobjinv/latest.svg -[readthedocs link target]: http://sphobjinv.readthedocs.io/en/latest/ +[readthedocs link target]: https://sphobjinv.readthedocs.io/en/latest/ [workflow badge]: https://img.shields.io/github/actions/workflow/status/bskinn/sphobjinv/all_core_tests.yml?logo=github&branch=main [workflow link target]: https://github.com/bskinn/sphobjinv/actions diff --git a/doc/make.bat b/doc/make.bat index b9c03e59..5669cb67 100644 --- a/doc/make.bat +++ b/doc/make.bat @@ -21,7 +21,7 @@ if errorlevel 9009 ( echo.may add the Sphinx directory to PATH. echo. echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ + echo.https://sphinx-doc.org/ exit /b 1 ) diff --git a/doc/source/_templates/footer.html b/doc/source/_templates/footer.html index e519d56f..b231f147 100644 --- a/doc/source/_templates/footer.html +++ b/doc/source/_templates/footer.html @@ -13,9 +13,9 @@

{% endblock %} diff --git a/tests/conftest.py b/tests/conftest.py index 091df5cd..19db6815 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -13,7 +13,7 @@ \(c) Brian Skinn 2016-2025 **Source Repository** - http://www.github.com/bskinn/sphobjinv + https://github.com/bskinn/sphobjinv **Documentation** https://sphobjinv.readthedocs.io/en/stable diff --git a/tests/enum.py b/tests/enum.py index b3469584..685d2406 100644 --- a/tests/enum.py +++ b/tests/enum.py @@ -13,7 +13,7 @@ \(c) Brian Skinn 2016-2025 **Source Repository** - http://www.github.com/bskinn/sphobjinv + https://github.com/bskinn/sphobjinv **Documentation** https://sphobjinv.readthedocs.io/en/stable diff --git a/tests/fixtures_http.py b/tests/fixtures_http.py index bf3eee46..27abe554 100644 --- a/tests/fixtures_http.py +++ b/tests/fixtures_http.py @@ -13,7 +13,7 @@ \(c) Brian Skinn 2016-2025 **Source Repository** - http://www.github.com/bskinn/sphobjinv + https://github.com/bskinn/sphobjinv **Documentation** https://sphobjinv.readthedocs.io/en/stable diff --git a/tests/test_api_fail.py b/tests/test_api_fail.py index 7e65ce65..d77088f4 100644 --- a/tests/test_api_fail.py +++ b/tests/test_api_fail.py @@ -13,7 +13,7 @@ \(c) Brian Skinn 2016-2025 **Source Repository** - http://www.github.com/bskinn/sphobjinv + https://github.com/bskinn/sphobjinv **Documentation** https://sphobjinv.readthedocs.io/en/stable diff --git a/tests/test_api_good.py b/tests/test_api_good.py index a0433dec..8193306b 100644 --- a/tests/test_api_good.py +++ b/tests/test_api_good.py @@ -13,7 +13,7 @@ \(c) Brian Skinn 2016-2025 **Source Repository** - http://www.github.com/bskinn/sphobjinv + https://github.com/bskinn/sphobjinv **Documentation** https://sphobjinv.readthedocs.io/en/stable diff --git a/tests/test_api_good_nonlocal.py b/tests/test_api_good_nonlocal.py index 2ba01490..eec40738 100644 --- a/tests/test_api_good_nonlocal.py +++ b/tests/test_api_good_nonlocal.py @@ -13,7 +13,7 @@ \(c) Brian Skinn 2016-2025 **Source Repository** - http://www.github.com/bskinn/sphobjinv + https://github.com/bskinn/sphobjinv **Documentation** https://sphobjinv.readthedocs.io/en/stable diff --git a/tests/test_cli.py b/tests/test_cli.py index c83ac650..8dd367e7 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -13,7 +13,7 @@ \(c) Brian Skinn 2016-2025 **Source Repository** - http://www.github.com/bskinn/sphobjinv + https://github.com/bskinn/sphobjinv **Documentation** https://sphobjinv.readthedocs.io/en/stable diff --git a/tests/test_cli_nonlocal.py b/tests/test_cli_nonlocal.py index 4e2fad06..f074e86b 100644 --- a/tests/test_cli_nonlocal.py +++ b/tests/test_cli_nonlocal.py @@ -13,7 +13,7 @@ \(c) Brian Skinn 2016-2025 **Source Repository** - http://www.github.com/bskinn/sphobjinv + https://github.com/bskinn/sphobjinv **Documentation** https://sphobjinv.readthedocs.io/en/stable @@ -133,6 +133,7 @@ def test_cli_url_in_json( assert "objects" in d.get("metadata", {}).get("url", {}) @pytest.mark.timeout(CLI_TEST_TIMEOUT * 4) + @pytest.mark.filterwarnings("ignore:implicitly cleaning up.*404") def test_clifail_bad_url( self, run_cmdline_test, misc_info, http_inv_url_template, scratch_path ): @@ -152,7 +153,7 @@ def test_clifail_bad_url( @pytest.mark.timeout(CLI_TEST_TIMEOUT * 4) def test_clifail_url_no_leading_http(self, run_cmdline_test, scratch_path): - """Confirm proper error behavior when a URL w/o leading 'http://' is passed.""" + """Confirm proper error behavior when a URL w/o leading scheme is passed.""" with stdio_mgr() as (in_, out_, err_): run_cmdline_test( [ @@ -216,15 +217,16 @@ def test_cli_suggest_from_url( @pytest.mark.parametrize( "url", [ - "http://sphobjinv.readthedocs.io/en/v2.0/modules/", - "http://sphobjinv.readthedocs.io/en/v2.0/modules/cmdline.html", + "https://sphobjinv.readthedocs.io/en/v2.0/modules/", + "https://sphobjinv.readthedocs.io/en/v2.0/modules/cmdline.html", ( - "http://sphobjinv.readthedocs.io/en/v2.0/modules/" + "https://sphobjinv.readthedocs.io/en/v2.0/modules/" "cmdline.html#sphobjinv.cmdline.do_convert" ), ], ) @pytest.mark.timeout(CLI_TEST_TIMEOUT * 4) + @pytest.mark.filterwarnings("ignore:implicitly cleaning up.*404") def test_cli_suggest_from_docset_urls(self, url, run_cmdline_test, check): """Confirm reST-only suggest output works from URLs within a docset.""" with stdio_mgr() as (in_, out_, err_): @@ -233,18 +235,18 @@ def test_cli_suggest_from_docset_urls(self, url, run_cmdline_test, check): check.is_true(p_inventory.search(out_.getvalue())) check.is_in("LIKELY", err_.getvalue()) check.is_in( - "(http://sphobjinv.readthedocs.io/en/v2.0/, None)", err_.getvalue() + "(https://sphobjinv.readthedocs.io/en/v2.0/, None)", err_.getvalue() ) @pytest.mark.timeout(CLI_TEST_TIMEOUT * 4) def test_cli_suggest_from_typical_objinv_url(self, run_cmdline_test, check): """Confirm reST-only suggest works for direct objects.inv URL.""" - url = "http://sphobjinv.readthedocs.io/en/v2.0/objects.inv" + url = "https://sphobjinv.readthedocs.io/en/v2.0/objects.inv" with stdio_mgr() as (in_, out_, err_): run_cmdline_test(["suggest", "-u", url, "inventory", "-at", "50"]) check.is_true(p_inventory.search(out_.getvalue())) check.is_in("PROBABLY", err_.getvalue()) check.is_in( - "(http://sphobjinv.readthedocs.io/en/v2.0/, None)", err_.getvalue() + "(https://sphobjinv.readthedocs.io/en/v2.0/, None)", err_.getvalue() ) diff --git a/tests/test_cli_textconv.py b/tests/test_cli_textconv.py index 45156851..3ad39cc8 100644 --- a/tests/test_cli_textconv.py +++ b/tests/test_cli_textconv.py @@ -13,7 +13,7 @@ \(c) Brian Skinn 2016-2025 **Source Repository** - http://www.github.com/bskinn/sphobjinv + https://github.com/bskinn/sphobjinv **Documentation** https://sphobjinv.readthedocs.io/en/stable diff --git a/tests/test_fixture.py b/tests/test_fixture.py index 03531aee..a48cb98d 100644 --- a/tests/test_fixture.py +++ b/tests/test_fixture.py @@ -13,7 +13,7 @@ \(c) Brian Skinn 2016-2025 **Source Repository** - http://www.github.com/bskinn/sphobjinv + https://github.com/bskinn/sphobjinv **Documentation** https://sphobjinv.readthedocs.io/en/stable diff --git a/tests/test_flake8_ext.py b/tests/test_flake8_ext.py index c851fd7a..8604d12c 100644 --- a/tests/test_flake8_ext.py +++ b/tests/test_flake8_ext.py @@ -13,7 +13,7 @@ \(c) Brian Skinn 2016-2025 **Source Repository** - http://www.github.com/bskinn/sphobjinv + https://github.com/bskinn/sphobjinv **Documentation** https://sphobjinv.readthedocs.io/en/stable diff --git a/tests/test_intersphinx.py b/tests/test_intersphinx.py index b2ff2de3..4096c0c4 100644 --- a/tests/test_intersphinx.py +++ b/tests/test_intersphinx.py @@ -13,7 +13,7 @@ \(c) Brian Skinn 2016-2025 **Source Repository** - http://www.github.com/bskinn/sphobjinv + https://github.com/bskinn/sphobjinv **Documentation** https://sphobjinv.readthedocs.io/en/stable diff --git a/tests/test_valid_objects.py b/tests/test_valid_objects.py index 130a9e48..6367dde8 100644 --- a/tests/test_valid_objects.py +++ b/tests/test_valid_objects.py @@ -13,7 +13,7 @@ \(c) Brian Skinn 2016-2025 **Source Repository** - http://www.github.com/bskinn/sphobjinv + https://github.com/bskinn/sphobjinv **Documentation** https://sphobjinv.readthedocs.io/en/stable diff --git a/tox.ini b/tox.ini index c9207995..b0366da9 100644 --- a/tox.ini +++ b/tox.ini @@ -3,13 +3,11 @@ minversion=2.0 isolated_build=True envlist= # Test all Python versions on latest lib versions - py3{10,11,12,13,14}-sphx_latest-attrs_latest-jsch_latest + py3{10,11,12,13t,14,14t}-sphx_latest-attrs_latest-jsch_latest # Test leading Python version on current in-repo dev lib versions py313-sphx_dev-attrs_dev-jsch_dev - # Scan across Sphinx versions + # Scan across Sphinx versions (skip 3_x due to a typing import error) py313-sphx_{1_6_x,1_x,2_x,4_x,5_x,6_x,7_x,8_x,dev}-attrs_latest-jsch_latest - # sphx_3_x is incompatible with py310 due to a typing import. Test on py311 instead. - py311-sphx_3_x-attrs_latest-jsch_latest # Scan attrs versions py313-sphx_latest-attrs_{19_2,19_3,20_3,21_3,22_2,23_2,24_3,dev}-jsch_latest # Scan jsonschema versions @@ -30,6 +28,7 @@ envlist= [testenv] commands= python --version + python -c 'import sys; print("GIL: ", end=""); print(getattr(sys, "_is_gil_enabled", lambda : True)())' pip list # Want the tox *matrix* to ignore warnings since it's primarily # a compatibility check. The defaults for bare pytest enable -Werror @@ -88,7 +87,9 @@ deps= platform=linux basepython= py314: python3.14 + py314t: python3.14t py313: python3.13 + py313t: python3.13t py312: python3.12 py311: python3.11 py310: python3.10