← All tasks
pythonp1c2u/jsonschema-path #91Not a task: already works

The jsonschema-path limit with referencing conflicts with latest jsonschema-specifications

envgap__p1c2u__jsonschema-path-91

01 / FAILURE SIGNATURE

As reported upstream

And it causes this error:
Not a benchmark task.
  • The project already builds and runs before the fix, so there is nothing to repair.

02 / ENVIRONMENT RECIPE

Base commit
fd5b4165b5a5e0de7834671b3e4f914a224d412e
Manifest
pyproject.toml
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

p1c2u/jsonschema-path #91 · read the original issue
## Problem



The jsonschema-specifications 2023.11.1 has `referencing>=0.31` dependency where jsonschema-path has `referencing<0.31.0` which makes the two incompatible.



This causes weird issues, as currently when we try to get `pip` to find best combination of dependencies for Apache Airflow it installs the latest jsonschema-specification and downgrades versions of openapi-schema-validator and opanapi-spec-validator to some old versions that cause import errors - because those old versions do not require "jsonschema-path". 



Both `referencing 0.31.0` and `jsonschema-specification 2023.11.1` have been released 3 hours ago and the problem was detected by Airflow's `canary build` - for example here: 



https://github.com/apache/airflow/actions/runs/6869294174/job/18682462347#step:6:13103





Here is the result of it:



<img width="942" alt="Screenshot 2023-11-15 at 00 02 45" src="https://github.com/p1c2u/jsonschema-path/assets/595491/be046f52-7205-4d23-bee8-75acb785b31f">



And it causes this error:



```

During handling of the above exception, another exception occurred:

/usr/local/lib/python3.8/importlib/__init__.py:127: in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

tests/providers/amazon/aws/sensors/test_cloud_formation.py:38: in <module>

    class TestCloudFormationCreateStackSensor:

tests/providers/amazon/aws/sensors/test_cloud_formation.py:40: in TestCloudFormationCreateStackSensor

    def setup_method(self, method):

/usr/local/lib/python3.8/site-packages/moto/__init__.py:18: in f

    module = importlib.import_module(module_name, "moto")

/usr/local/lib/python3.8/importlib/__init__.py:127: in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

/usr/local/lib/python3.8/site-packages/moto/cloudformation/__init__.py:1: in <module>

    from .models import cloudformation_backends

/usr/local/lib/python3.8/site-packages/moto/cloudformation/models.py:21: in <module>

    from .parsing import ResourceMap, Output, OutputMap, Export

/usr/local/lib/python3.8/site-packages/moto/cloudformation/parsing.py:31: in <module>

    from moto.apigateway import models as apigw_models  # noqa  # pylint: disable=all

/usr/local/lib/python3.8/site-packages/moto/apigateway/__init__.py:1: in <module>

    from .models import apigateway_backends

/usr/local/lib/python3.8/site-packages/moto/apigateway/models.py:18: in <module>

    from openapi_spec_validator import validate_spec as validate  # type: ignore

/usr/local/lib/python3.8/site-packages/openapi_spec_validator/__init__.py:2: in <module>

    from openapi_spec_validator.shortcuts import validate_spec

/usr/local/lib/python3.8/site-packages/openapi_spec_validator/shortcuts.py:8: in <module>

    from openapi_spec_validator.validation import openapi_spec_validator_proxy

/usr/local/lib/python3.8/site-packages/openapi_spec_validator/validation/__init__.py:7: in <module>

    from openapi_schema_validator import oas30_format_checker

/usr/local/lib/python3.8/site-packages/openapi_schema_validator/__init__.py:3: in <module>

    from openapi_schema_validator.shortcuts import validate

/usr/local/lib/python3.8/site-packages/openapi_schema_validator/shortcuts.py:9: in <module>

    from openapi_schema_validator.validators import OAS31Validator

/usr/local/lib/python3.8/site-packages/openapi_schema_validator/validators.py:5: in <module>

    from jsonschema import _legacy_validators

E   ImportError: cannot import name '_legacy_validators' from 'jsonschema' (/usr/local/lib/python3.8/site-packages/jsonschema/__init__.py)

----- generated xml file: /files/test_result-providers_amazon-postgres.xml -----

```



## Expected behaviour



It would be great if you relase jsonschama-path with bumped limit for referencing



We will workaround it temporarily but relaxing the limit  for referencing on jsonschema-path should fix the problem. 



Side coment: Also I think it would make sense to remove the limit altogether - usually libraries do not have strong "upper-binding" limits on other dependencies, unless there are some known breaking changes coming (which I think is unlikely in this case).
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]