Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-jsonschema-specifications for openSUSE:Factory checked in at 2023-12-28 22:54:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-jsonschema-specifications (Old) and /work/SRC/openSUSE:Factory/.python-jsonschema-specifications.new.28375 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jsonschema-specifications" Thu Dec 28 22:54:47 2023 rev:9 rq:1135282 version:2023.12.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-jsonschema-specifications/python-jsonschema-specifications.changes 2023-12-01 21:25:17.321702676 +0100 +++ /work/SRC/openSUSE:Factory/.python-jsonschema-specifications.new.28375/python-jsonschema-specifications.changes 2023-12-28 22:54:53.812044209 +0100 @@ -1,0 +2,6 @@ +Wed Dec 27 10:54:04 UTC 2023 - Dirk Müller <dmuel...@suse.com> + +- update to 2023.12.1: + * Ignore dotfiles when collectimg schemas + +------------------------------------------------------------------- Old: ---- jsonschema_specifications-2023.11.2.tar.gz New: ---- jsonschema_specifications-2023.12.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-jsonschema-specifications.spec ++++++ --- /var/tmp/diff_new_pack.Xq50Nl/_old 2023-12-28 22:54:54.388065237 +0100 +++ /var/tmp/diff_new_pack.Xq50Nl/_new 2023-12-28 22:54:54.388065237 +0100 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-jsonschema-specifications -Version: 2023.11.2 +Version: 2023.12.1 Release: 0 Summary: The JSON Schema meta-schemas and vocabularies, exposed as a Registry License: MIT ++++++ jsonschema_specifications-2023.11.2.tar.gz -> jsonschema_specifications-2023.12.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonschema_specifications-2023.11.2/.github/workflows/ci.yml new/jsonschema_specifications-2023.12.1/.github/workflows/ci.yml --- old/jsonschema_specifications-2023.11.2/.github/workflows/ci.yml 2020-02-02 01:00:00.000000000 +0100 +++ new/jsonschema_specifications-2023.12.1/.github/workflows/ci.yml 2020-02-02 01:00:00.000000000 +0100 @@ -18,7 +18,7 @@ runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.x" - uses: pre-commit/action@v3.0.0 @@ -55,7 +55,7 @@ run: brew install enchant if: runner.os == 'macOS' && startsWith(matrix.noxenv, 'docs') - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: | 3.8 @@ -83,7 +83,7 @@ steps: - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.x" - name: Install dependencies diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonschema_specifications-2023.11.2/.pre-commit-config.yaml new/jsonschema_specifications-2023.12.1/.pre-commit-config.yaml --- old/jsonschema_specifications-2023.11.2/.pre-commit-config.yaml 2020-02-02 01:00:00.000000000 +0100 +++ new/jsonschema_specifications-2023.12.1/.pre-commit-config.yaml 2020-02-02 01:00:00.000000000 +0100 @@ -15,20 +15,20 @@ args: [--fix, lf] - id: trailing-whitespace - repo: https://github.com/astral-sh/ruff-pre-commit - rev: "v0.1.6" + rev: "v0.1.9" hooks: - id: ruff - repo: https://github.com/PyCQA/isort - rev: 5.12.0 + rev: 5.13.2 hooks: - id: isort - repo: https://github.com/psf/black - rev: 23.11.0 + rev: 23.12.1 hooks: - name: black id: black args: ["--line-length", "79"] - repo: https://github.com/pre-commit/mirrors-prettier - rev: "v3.1.0" + rev: "v4.0.0-alpha.8" hooks: - id: prettier diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonschema_specifications-2023.11.2/PKG-INFO new/jsonschema_specifications-2023.12.1/PKG-INFO --- old/jsonschema_specifications-2023.11.2/PKG-INFO 2020-02-02 01:00:00.000000000 +0100 +++ new/jsonschema_specifications-2023.12.1/PKG-INFO 2020-02-02 01:00:00.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: jsonschema-specifications -Version: 2023.11.2 +Version: 2023.12.1 Summary: The JSON Schema meta-schemas and vocabularies, exposed as a Registry Project-URL: Documentation, https://jsonschema-specifications.readthedocs.io/ Project-URL: Homepage, https://github.com/python-jsonschema/jsonschema-specifications diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonschema_specifications-2023.11.2/jsonschema_specifications/_core.py new/jsonschema_specifications-2023.12.1/jsonschema_specifications/_core.py --- old/jsonschema_specifications-2023.11.2/jsonschema_specifications/_core.py 2020-02-02 01:00:00.000000000 +0100 +++ new/jsonschema_specifications-2023.12.1/jsonschema_specifications/_core.py 2020-02-02 01:00:00.000000000 +0100 @@ -7,7 +7,9 @@ try: from importlib.resources import files except ImportError: - from importlib_resources import files # type: ignore + from importlib_resources import ( # type: ignore[import-not-found, no-redef] + files, + ) from referencing import Resource @@ -25,8 +27,12 @@ # (only 2 levels of nesting, no directories within the second level). for version in files(__package__).joinpath("schemas").iterdir(): + if version.name.startswith("."): + continue for child in version.iterdir(): children = [child] if child.is_file() else child.iterdir() for path in children: + if path.name.startswith("."): + continue contents = json.loads(path.read_text(encoding="utf-8")) yield Resource.from_contents(contents) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonschema_specifications-2023.11.2/jsonschema_specifications/tests/test_jsonschema_specifications.py new/jsonschema_specifications-2023.12.1/jsonschema_specifications/tests/test_jsonschema_specifications.py --- old/jsonschema_specifications-2023.11.2/jsonschema_specifications/tests/test_jsonschema_specifications.py 2020-02-02 01:00:00.000000000 +0100 +++ new/jsonschema_specifications-2023.12.1/jsonschema_specifications/tests/test_jsonschema_specifications.py 2020-02-02 01:00:00.000000000 +0100 @@ -1,4 +1,7 @@ from collections.abc import Mapping +from pathlib import Path + +import pytest from jsonschema_specifications import REGISTRY @@ -12,3 +15,27 @@ def test_it_is_crawled(): assert REGISTRY.crawl() == REGISTRY + + +@pytest.mark.parametrize( + "ignored_relative_path", + ["schemas/.DS_Store", "schemas/draft7/.DS_Store"], +) +def test_it_copes_with_dotfiles(ignored_relative_path): + """ + Ignore files like .DS_Store if someone has actually caused one to exist. + + We test here through the private interface as of course the global has + already loaded our schemas. + """ + + import jsonschema_specifications + + package = Path(jsonschema_specifications.__file__).parent + + ignored = package / ignored_relative_path + ignored.touch() + try: + list(jsonschema_specifications._schemas()) + finally: + ignored.unlink() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonschema_specifications-2023.11.2/noxfile.py new/jsonschema_specifications-2023.12.1/noxfile.py --- old/jsonschema_specifications-2023.11.2/noxfile.py 2020-02-02 01:00:00.000000000 +0100 +++ new/jsonschema_specifications-2023.12.1/noxfile.py 2020-02-02 01:00:00.000000000 +0100 @@ -66,7 +66,7 @@ """ Check static typing. """ - session.install("mypy", ROOT) + session.install("mypy", "pytest", ROOT) session.run("python", "-m", "mypy", PACKAGE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonschema_specifications-2023.11.2/pyproject.toml new/jsonschema_specifications-2023.12.1/pyproject.toml --- old/jsonschema_specifications-2023.11.2/pyproject.toml 2020-02-02 01:00:00.000000000 +0100 +++ new/jsonschema_specifications-2023.12.1/pyproject.toml 2020-02-02 01:00:00.000000000 +0100 @@ -71,6 +71,7 @@ [tool.doc8] ignore = [ + "D000", # see PyCQA/doc8#125 "D001", # one sentence per line, so max length doesn't make sense ] @@ -83,48 +84,60 @@ [tool.ruff] line-length = 79 -select = ["ANN", "B", "D", "D204", "E", "F", "Q", "RUF", "SIM", "UP", "W"] +select = ["ALL"] ignore = [ - # Wat, type annotations for self and cls, why is this a thing? - "ANN101", - "ANN102", - # Private annotations are fine to leave out. - "ANN202", - # I don't know how to more properly annotate "pass along all arguments". - "ANN401", - # It's totally OK to call functions for default arguments. - "B008", - # raise SomeException(...) is fine. - "B904", - # There's no need for explicit strict, this is simply zip's default behavior. - "B905", - # It's fine to not have docstrings for magic methods. - "D105", - # __init__ especially doesn't need a docstring - "D107", - # This rule makes diffs uglier when expanding docstrings (and it's uglier) - "D200", - # No blank lines before docstrings. - "D203", - # Start docstrings on the second line. - "D212", - # This rule misses sassy docstrings ending with ! or ?. - "D400", - # Section headers should end with a colon not a newline - "D406", - # Underlines aren't needed - "D407", - # Plz spaces after section headers - "D412", - # We support 3.8 + 3.9 - "UP007", + "A001", # It's fine to shadow builtins + "A002", + "A003", + "ARG", # This is all wrong whenever an interface is involved + "ANN", # Just let the type checker do this + "B006", # Mutable arguments require care but are OK if you don't abuse them + "B008", # It's totally OK to call functions for default arguments. + "B904", # raise SomeException(...) is fine. + "B905", # No need for explicit strict, this is simply zip's default behavior + "C408", # Calling dict is fine when it saves quoting the keys + "C901", # Not really something to focus on + "D105", # It's fine to not have docstrings for magic methods. + "D107", # __init__ especially doesn't need a docstring + "D200", # This rule makes diffs uglier when expanding docstrings + "D203", # No blank lines before docstrings. + "D212", # Start docstrings on the second line. + "D400", # This rule misses sassy docstrings ending with ! or ? + "D401", # This rule is too flaky. + "D406", # Section headers should end with a colon not a newline + "D407", # Underlines aren't needed + "D412", # Plz spaces after section headers + "EM101", # These don't bother me. + "EM102", + "FBT", # It's worth avoiding boolean args but I don't care to enforce it + "FIX", # Yes thanks, if I could it wouldn't be there + "N", # These naming rules are silly + "PLR0912", # These metrics are fine to be aware of but not to enforce + "PLR0913", + "PLR0915", + "PLW2901", # Shadowing for loop variables is occasionally fine. + "PT006", # pytest parametrize takes strings as well + "RET503", # Returning None implicitly is fine + "RET505", # These push you to use `if` instead of `elif`, but for no reason + "RET506", + "RSE102", # Ha, what, who even knew you could leave the parens off. But no. + "SIM300", # Not sure what heuristic this uses, but it's easily incorrect + "SLF001", # Private usage within this package itself is fine + "TD", # These TODO style rules are also silly + "TRY003", # Some exception classes are essentially intended for free-form ] -extend-exclude = ["suite"] + +[tool.ruff.lint.flake8-pytest-style] +mark-parentheses = false [tool.ruff.flake8-quotes] docstring-quotes = "double" +[tool.ruff.lint.isort] +combine-as-imports = true +from-first = true + [tool.ruff.per-file-ignores] -"noxfile.py" = ["ANN", "D100"] -"docs/*" = ["ANN", "D"] -"jsonschema_specifications/tests/*" = ["ANN", "D", "RUF012"] +"noxfile.py" = ["ANN", "D100", "S101", "T201"] +"docs/*" = ["ANN", "D", "INP001"] +"jsonschema_specifications/tests/*" = ["ANN", "D", "RUF012", "S"]