Skip to content

Imprecise version range of protovalidate-python dependency [request for upgrade] #317

@skoval00

Description

@skoval00

Recently I noticed that higher bound of version range for protovalidate-python dependency was increased to <1.2.0.

However authzed-py tests fail with protovalidate-python-1.1.1 because this release was significantly changed due to its upgraded dependency on cel-python-0.5: protovalidate-1.1.1 is tightly coupled with cel-python-0.5.

As far as I see, authzed-py locks protovalidate-1.0.0 in pyproject.toml. So to reproduce failing tests we need to upgrade protovalidate to the latest release 1.1.1 (I had to do this due to other dependencies in my system).

With upgraded protovalidate the tests for authzed fail for me like this

pytest flags: -m pytest
============================= test session starts ==============================
platform linux -- Python 3.13.9, pytest-8.4.2, pluggy-1.6.0
rootdir: /build/source
configfile: pyproject.toml
plugins: asyncio-1.2.0, time-machine-2.19.0
asyncio: mode=Mode.AUTO, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
collected 0 items / 1 error

==================================== ERRORS ====================================
_____________________ ERROR collecting tests/misc_test.py ______________________
tests/misc_test.py:2: in <module>
    from protovalidate import ValidationError, validate
/nix/store/pkxl6xg85nqs7mfxqyjnfr0pjh6pa7na-python3.13-protovalidate-python-1.1.1/lib/python3.13/site-packages/protovalidate/__init__.py:15: in <module>
    from protovalidate import validator
/nix/store/pkxl6xg85nqs7mfxqyjnfr0pjh6pa7na-python3.13-protovalidate-python-1.1.1/lib/python3.13/site-packages/protovalidate/validator.py:18: in <module>
    from protovalidate.internal import extra_func
/nix/store/pkxl6xg85nqs7mfxqyjnfr0pjh6pa7na-python3.13-protovalidate-python-1.1.1/lib/python3.13/site-packages/protovalidate/internal/extra_func.py:23: in <module>
    from protovalidate.internal.rules import MessageType, field_to_cel
/nix/store/pkxl6xg85nqs7mfxqyjnfr0pjh6pa7na-python3.13-protovalidate-python-1.1.1/lib/python3.13/site-packages/protovalidate/internal/rules.py:513: in <module>
    class FieldRules(CelRules):
/nix/store/pkxl6xg85nqs7mfxqyjnfr0pjh6pa7na-python3.13-protovalidate-python-1.1.1/lib/python3.13/site-packages/protovalidate/internal/rules.py:538: in FieldRules
    validate_pb2.FieldRules.DESCRIPTOR.fields_by_number[validate_pb2.FieldRules.CEL_EXPRESSION_FIELD_NUMBER]
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E   AttributeError: CEL_EXPRESSION_FIELD_NUMBER
=========================== short test summary info ============================
ERROR tests/misc_test.py - AttributeError: CEL_EXPRESSION_FIELD_NUMBER
!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 0.37s ===============================

Could you please consider upgrading to protovalidate-1.1.1+ in one of your next releases?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions