panda-pytest-assertions 0.3.1__tar.gz → 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.config/.editorconfig +1 -1
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.config/.flake8 +1 -1
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.config/mypy.ini +11 -9
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.config/ruff.toml +94 -28
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.github/workflows/pr-checker.yml +3 -3
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.github/workflows/release.yml +4 -4
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/CHANGELOG.md +16 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/PKG-INFO +14 -3
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/README-DEV.MD +1 -1
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/pyproject.toml +17 -1
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_objects_asserters/ordered_elements_asserter.py +1 -1
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/union_generator.py +1 -1
- panda_pytest_assertions-1.0.0/uv.lock +1318 -0
- panda_pytest_assertions-1.0.0/version.txt +1 -0
- panda_pytest_assertions-0.3.1/uv.lock +0 -1203
- panda_pytest_assertions-0.3.1/version.txt +0 -1
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.config/.coveragerc +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.config/pytest.ini +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.coveragerc +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.editorconfig +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.flake8 +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.gitattributes +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.gitignore +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/LICENSE +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/NOTICE +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/README.md +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/docs/assert_context/index.md +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/docs/assert_object/10.asserting.md +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/docs/assert_object/20.expectations.md +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/docs/assert_object/30.using_yaml.md +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/docs/assert_object/40.asserters.md +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/docs/assert_object/generating_expectation/10.definition.md +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/docs/assert_object/generating_expectation/20.generators.md +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/docs/assert_object/generating_expectation/index.md +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/docs/assert_object/index.md +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/docs/index.md +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/mkdocs.yml +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/mypy.ini +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/pytest.ini +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/ruff.toml +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_context/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_context/_assert_context.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_assert_object.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_asserter_factories/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_asserter_factories/asserter_factory.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_asserter_factories/built_in_asserter_factory.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_converters/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_converters/expectation_from_yaml.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_converters/expectation_to_yaml.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_expectation_modificators/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_expectation_modificators/identity.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_expectation_modificators/is_type.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_expectation_modificators/mapping_subset.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_expectation_modificators/object_attibutes.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_expectation_modificators/stringified.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_expectation_modificators/unordered.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_expectation_modificators/with_type.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_objects_asserters/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_objects_asserters/asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_objects_asserters/equality_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_objects_asserters/identity_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_objects_asserters/is_type_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_objects_asserters/mapping_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_objects_asserters/mapping_subset_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_objects_asserters/object_attributes_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_objects_asserters/stringified_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_objects_asserters/unordered_elements_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_objects_asserters/with_type_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/_protocols.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/equality.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/is_type.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/mapping.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/mapping_subset.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/object_attributes.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/of_type.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/stringified.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/uniform_mapping.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/uniform_mapping_subset.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/uniform_ordered.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/uniform_unordered.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/union.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/with_type.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generate_expectation.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generator_factories/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generator_factories/built_in_generator_factory.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generator_factories/generator_factory.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/equality_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/equality_key_mapping_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/exceptions.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/is_type_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/mapping_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/mapping_subset_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/object_attributes_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/of_type_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/ordered_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/stringified_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/uniform_mapping_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/uniform_mapping_subset_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/uniform_ordered_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/unordered_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/assert_object/generators/_generators/with_type_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/src/panda_pytest_assertions/py.typed +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_context/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_context/test_assert_context.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_asserter_factories/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_asserter_factories/test_asserter_factory.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_asserter_factories/test_built_in_asserter_factory.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_converters/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_converters/conftest.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_converters/test_expectation_from_yaml.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_converters/test_expectation_to_yaml.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_is.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_is_type.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_mapping_subset.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_object_attibutes.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_stringified.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_unordered.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_with_type.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_equality.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_is_type.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_mapping.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_mapping_subset.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_object_attributes.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_of_type.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_stringified.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_uniform_mapping.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_uniform_mapping_subset.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_uniform_ordered.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_uniform_unordered.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_union.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_with_type.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generator_factories/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generator_factories/test_built_in_generator_factory.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generator_factories/test_generator_factory.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/conftest.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_equality_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_equality_key_mapping_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_is_type_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_mapping_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_mapping_subset_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_object_attributes_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_of_type_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_ordered_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_stringified_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_uniform_mapping_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_uniform_mapping_subset_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_uniform_ordered_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_union_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_unordered_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_with_type_generator.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/test_complex.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_generators/test_generate_expectation.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_objects_asserters/__init__.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_objects_asserters/conftest.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_equality_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_identity_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_is_type_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_mapping_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_mapping_subset_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_object_attributes_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_ordered_elements_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_stringified_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_unordered_elements_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_with_type_asserter.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/test_assert_object.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/test_complex.py +0 -0
- {panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/tests/panda_pytest_assertions/assert_object/test_error_messages.py +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
### Configuration created for mypy==2.
|
|
1
|
+
### Configuration created for mypy==2.4.0
|
|
2
2
|
|
|
3
3
|
[mypy]
|
|
4
4
|
|
|
@@ -376,10 +376,11 @@ skip_cache_mtime_checks = False
|
|
|
376
376
|
|
|
377
377
|
|
|
378
378
|
### Parallel type-checking configuration
|
|
379
|
-
# Use specific number of parallel worker processes for type-checking
|
|
380
|
-
#
|
|
381
|
-
#
|
|
382
|
-
# variable
|
|
379
|
+
# Use a specific number of parallel worker processes for type-checking or
|
|
380
|
+
# the value auto to select the number based on the CPUs available to mypy.
|
|
381
|
+
# See parallel type-checking for more details.
|
|
382
|
+
# The MYPY_NUM_WORKERS environment variable accepts the same values and
|
|
383
|
+
# overrides this setting.
|
|
383
384
|
num_workers = 0
|
|
384
385
|
|
|
385
386
|
|
|
@@ -413,9 +414,11 @@ raise_exceptions = False
|
|
|
413
414
|
# in combination with disallow_untyped_defs or disallow_incomplete_defs.
|
|
414
415
|
warn_incomplete_stub = True
|
|
415
416
|
|
|
416
|
-
#
|
|
417
|
-
#
|
|
418
|
-
|
|
417
|
+
# Use the fast Rust-based native parser that parses directly to mypy AST.
|
|
418
|
+
# Set this to False to use the legacy parser based on the stdlib
|
|
419
|
+
# ast module instead. See --no-native-parser
|
|
420
|
+
# for more details.
|
|
421
|
+
native_parser = True
|
|
419
422
|
|
|
420
423
|
|
|
421
424
|
### Report generation
|
|
@@ -478,7 +481,6 @@ scripts_are_modules = False
|
|
|
478
481
|
|
|
479
482
|
# Warns about per-module sections in the config file that do not
|
|
480
483
|
# match any files processed when invoking mypy.
|
|
481
|
-
# (This requires turning off incremental mode using incremental = False.)
|
|
482
484
|
warn_unused_configs = True
|
|
483
485
|
|
|
484
486
|
# Controls how much debug output will be generated. Higher numbers are more verbose.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
### Configuration created for ruff==0.
|
|
1
|
+
### Configuration created for ruff==0.17.2
|
|
2
2
|
|
|
3
3
|
# A list of builtins to treat as defined references, in addition to the
|
|
4
4
|
# system builtins.
|
|
@@ -145,6 +145,19 @@ namespace-packages = []
|
|
|
145
145
|
# Actions annotations), "gitlab" (GitLab CI code quality report),
|
|
146
146
|
# "pylint" (Pylint text format) or "azure" (Azure Pipeline logging commands).
|
|
147
147
|
output-format = "concise"
|
|
148
|
+
# Whether to prefer rule codes over human-readable rule names in diagnostic output, even
|
|
149
|
+
# when preview mode is enabled.
|
|
150
|
+
# Diagnostics without rule codes, such as syntax errors and formatting diagnostics, will
|
|
151
|
+
# continue to use the human-readable name, but those corresponding to lint rules will use the
|
|
152
|
+
# rule's code. For example, the concise diagnostic for an unused import will use the code
|
|
153
|
+
# F401 instead of the name unused-import:
|
|
154
|
+
# ---
|
|
155
|
+
# $ ruff check --preview --config 'output-prefer-rule-codes = true' --output-format=concise example.py
|
|
156
|
+
# example.py:1:8: F401 [*] `math` imported but unused
|
|
157
|
+
# $ ruff check --preview --config 'output-prefer-rule-codes = false' --output-format=concise example.py
|
|
158
|
+
# example.py:1:8: unused-import: [*] `math` imported but unused
|
|
159
|
+
# ---
|
|
160
|
+
output-prefer-rule-codes = false
|
|
148
161
|
# A list of mappings from glob-style file pattern to Python version to use when checking the
|
|
149
162
|
# corresponding file(s).
|
|
150
163
|
# This may be useful for overriding the global Python version settings in target-version or
|
|
@@ -203,8 +216,8 @@ src = [
|
|
|
203
216
|
# The minimum Python version to target, e.g., when considering automatic
|
|
204
217
|
# code upgrades, like rewriting type annotations. Ruff will not propose
|
|
205
218
|
# changes using features that are not available in the given version.
|
|
206
|
-
# For example, to represent supporting Python >=3.
|
|
207
|
-
# specify target-version = "
|
|
219
|
+
# For example, to represent supporting Python >=3.12 or ==3.12
|
|
220
|
+
# specify target-version = "py312".
|
|
208
221
|
# If you're already using a pyproject.toml file, we recommend
|
|
209
222
|
# project.requires-python instead, as it's based on Python packaging
|
|
210
223
|
# standards, and will be respected by other tools. For example, Ruff
|
|
@@ -226,7 +239,7 @@ src = [
|
|
|
226
239
|
# 3.10+. As such, Ruff will often recommend newer features in a stub
|
|
227
240
|
# file than it would for an equivalent runtime file with the same target
|
|
228
241
|
# version.
|
|
229
|
-
target-version = "
|
|
242
|
+
target-version = "py311"
|
|
230
243
|
# Enable application of unsafe fixes.
|
|
231
244
|
# If excluded, a hint will be displayed when unsafe fixes are available.
|
|
232
245
|
# If set to false, the hint will be hidden.
|
|
@@ -472,8 +485,9 @@ skip-magic-trailing-comma = false
|
|
|
472
485
|
allowed-confusables = []
|
|
473
486
|
# A regular expression used to identify "dummy" variables, or those which
|
|
474
487
|
# should be ignored when enforcing (e.g.) unused-variable rules. The
|
|
475
|
-
# default expression matches _, __,
|
|
476
|
-
|
|
488
|
+
# default expression matches _, __, _var, and _次, but not _var_
|
|
489
|
+
# or _次_.
|
|
490
|
+
dummy-variable-rgx = "^(_+|(_+[\\p{XID_Continue}]*[\\p{XID_Continue}--_]+?))$"
|
|
477
491
|
# A list of file patterns to exclude from linting in addition to the files excluded globally (see exclude, and extend-exclude).
|
|
478
492
|
# Exclusions are based on globs, and can be either:
|
|
479
493
|
# - Single-path patterns, like .mypy_cache (to exclude any directory
|
|
@@ -533,14 +547,16 @@ fixable = [
|
|
|
533
547
|
# if __future__ annotations are enabled.
|
|
534
548
|
future-annotations = false
|
|
535
549
|
# A list of rule codes or prefixes to ignore. Prefixes can specify exact
|
|
536
|
-
# rules (like F841), entire
|
|
550
|
+
# rules (like F841), entire groups (like F), or anything in
|
|
537
551
|
# between.
|
|
538
552
|
# When breaking ties between enabled and disabled rules (via select and
|
|
539
553
|
# ignore, respectively), more specific prefixes override less
|
|
540
554
|
# specific prefixes. ignore takes precedence over select if the same
|
|
541
555
|
# prefix appears in both.
|
|
556
|
+
# In preview, categories like correctness and suspicious can be used
|
|
557
|
+
# in addition to rule codes and linter group prefixes.
|
|
542
558
|
ignore = [
|
|
543
|
-
"B005", # Using
|
|
559
|
+
"B005", # Using `.{strip}()` with multi-character strings is misleading
|
|
544
560
|
"D100", # Missing docstring in public module
|
|
545
561
|
"D104", # Missing docstring in public package
|
|
546
562
|
"D105", # Missing docstring in magic method
|
|
@@ -548,12 +564,12 @@ ignore = [
|
|
|
548
564
|
"D200", # One-line docstring should fit on one line
|
|
549
565
|
"D203", # 1 blank line required before class docstring
|
|
550
566
|
"D212", # Multi-line docstring summary should start at the first line
|
|
551
|
-
"RUF012", # Mutable
|
|
567
|
+
"RUF012", # Mutable default value for class attribute
|
|
552
568
|
"S101", # Use of `assert` detected
|
|
553
|
-
"TC001", # Move application import into a type-checking block
|
|
554
|
-
"TC002", # Move third-party import into a type-checking block
|
|
555
|
-
"TC003", # Move standard library import into a type-checking block
|
|
556
|
-
"PYI041", # Use `
|
|
569
|
+
"TC001", # Move application import `{}` into a type-checking block
|
|
570
|
+
"TC002", # Move third-party import `{}` into a type-checking block
|
|
571
|
+
"TC003", # Move standard library import `{}` into a type-checking block
|
|
572
|
+
"PYI041", # Use `{supertype}` instead of `{subtype} | {supertype}`
|
|
557
573
|
"CPY001", # Missing copyright notice at top of file
|
|
558
574
|
]
|
|
559
575
|
# A list of objects that should be treated equivalently to a
|
|
@@ -574,12 +590,14 @@ logger-objects = []
|
|
|
574
590
|
# use unstable rules and fixes.
|
|
575
591
|
preview = false
|
|
576
592
|
# A list of rule codes or prefixes to enable. Prefixes can specify exact
|
|
577
|
-
# rules (like F841), entire
|
|
593
|
+
# rules (like F841), entire groups (like F), or anything in
|
|
578
594
|
# between.
|
|
579
595
|
# When breaking ties between enabled and disabled rules (via select and
|
|
580
596
|
# ignore, respectively), more specific prefixes override less
|
|
581
597
|
# specific prefixes. ignore takes precedence over select if the
|
|
582
598
|
# same prefix appears in both.
|
|
599
|
+
# In preview, categories like correctness and suspicious can be used
|
|
600
|
+
# in addition to rule codes and linter group prefixes.
|
|
583
601
|
select = [
|
|
584
602
|
"ALL",
|
|
585
603
|
]
|
|
@@ -612,14 +630,16 @@ unfixable = []
|
|
|
612
630
|
# A list of mappings from file pattern to rule codes or prefixes to
|
|
613
631
|
# exclude, when considering any matching files. An initial '!' negates
|
|
614
632
|
# the file pattern.
|
|
633
|
+
# For more information on the glob syntax, refer to the globset documentation.
|
|
615
634
|
[lint.per-file-ignores]
|
|
616
635
|
"!tests/*" = [
|
|
617
636
|
"PT", # flake8-pytest-style
|
|
618
637
|
]
|
|
619
638
|
"tests/*" = [
|
|
620
|
-
"SLF001", # Private member accessed
|
|
639
|
+
"SLF001", # Private member accessed: `{access}`
|
|
621
640
|
"FBT001", # Boolean-typed positional argument in function definition
|
|
622
|
-
"PLR0913", # Too many arguments
|
|
641
|
+
"PLR0913", # Too many arguments in function definition ({c_args} > {max_args})
|
|
642
|
+
"PLR0917", # Too many positional arguments ({c_pos} > {max_pos})
|
|
623
643
|
"RUF018", # Avoid assignment expressions in `assert` statements
|
|
624
644
|
]
|
|
625
645
|
"tests/**/test_*" = [
|
|
@@ -627,8 +647,8 @@ unfixable = []
|
|
|
627
647
|
"D101", # Missing docstring in public class
|
|
628
648
|
"D102", # Missing docstring in public method
|
|
629
649
|
"D103", # Missing docstring in public function
|
|
630
|
-
"B011", #
|
|
631
|
-
"PLR2004", # Magic value used in comparison
|
|
650
|
+
"B011", # Do not `assert False` (`python -O` removes these calls), raise `AssertionError()`
|
|
651
|
+
"PLR2004", # Magic value used in comparison, consider replacing `{value}` with a constant variable
|
|
632
652
|
]
|
|
633
653
|
|
|
634
654
|
[lint.flake8-annotations]
|
|
@@ -777,15 +797,18 @@ banned-from = [
|
|
|
777
797
|
"tomllib",
|
|
778
798
|
]
|
|
779
799
|
# A mapping from module to conventional import alias. These aliases will
|
|
780
|
-
# be added to the aliases mapping
|
|
800
|
+
# be added to the aliases mapping
|
|
801
|
+
# and will override any existing aliases if the two settings overlap.
|
|
781
802
|
extend-aliases = {}
|
|
782
803
|
|
|
783
804
|
# The conventional aliases for imports. These aliases can be extended by
|
|
784
805
|
# the extend-aliases option.
|
|
785
806
|
[lint.flake8-import-conventions.aliases]
|
|
786
807
|
"altair" = "alt"
|
|
808
|
+
"datetime" = "dt"
|
|
787
809
|
"matplotlib" = "mpl"
|
|
788
810
|
"matplotlib.pyplot" = "plt"
|
|
811
|
+
"networkx" = "nx"
|
|
789
812
|
"numpy" = "np"
|
|
790
813
|
"numpy.typing" = "npt"
|
|
791
814
|
"pandas" = "pd"
|
|
@@ -921,6 +944,8 @@ ban-lazy = []
|
|
|
921
944
|
# that extend into the parent module or beyond ("parents").
|
|
922
945
|
ban-relative-imports = "parents"
|
|
923
946
|
# Specific modules or module members that may not be imported or accessed.
|
|
947
|
+
# These can be extended by the
|
|
948
|
+
# extend-banned-api option.
|
|
924
949
|
# Note that this rule is only meant to flag accidental uses,
|
|
925
950
|
# and can be circumvented via eval or importlib.
|
|
926
951
|
banned-api = {}
|
|
@@ -929,6 +954,11 @@ banned-api = {}
|
|
|
929
954
|
# block, or some other nested context). This also affects the rule import-outside-top-level
|
|
930
955
|
# if banned-module-level-imports is enabled.
|
|
931
956
|
banned-module-level-imports = []
|
|
957
|
+
# Additional modules or module members that may not be imported or accessed.
|
|
958
|
+
# These entries will be added to the
|
|
959
|
+
# banned-api mapping and will override
|
|
960
|
+
# any existing entries if the two settings overlap.
|
|
961
|
+
extend-banned-api = {}
|
|
932
962
|
# Specific modules that must be imported lazily in contexts where lazy import is legal, or
|
|
933
963
|
# "all" to require every lazily-convertible import to use the lazy keyword. Ruff ignores
|
|
934
964
|
# contexts where lazy import is invalid, such as functions, classes, try/except
|
|
@@ -979,14 +1009,34 @@ exempt-modules = [
|
|
|
979
1009
|
quote-annotations = false
|
|
980
1010
|
# Exempt classes that list any of the enumerated classes as a base class
|
|
981
1011
|
# from needing to be moved into type-checking blocks.
|
|
982
|
-
#
|
|
983
|
-
#
|
|
984
|
-
#
|
|
985
|
-
#
|
|
986
|
-
#
|
|
987
|
-
#
|
|
1012
|
+
# This can either be configured as a list, if all entries share the same
|
|
1013
|
+
# runtime semantics of being runtime required. Or a table where each entry
|
|
1014
|
+
# is assigned to its desired runtime semantics.
|
|
1015
|
+
# A common example for "runtime" required semantics is Pydantic's pydantic.BaseModel
|
|
1016
|
+
# but can also support user-defined classes that inherit from those base classes.
|
|
1017
|
+
# For example, if you define a common BaseModel subclass that's used throughout
|
|
1018
|
+
# your project (e.g., class Base(BaseModel) ... in base.py), you can add it to
|
|
1019
|
+
# this list/table (runtime-evaluated-base-classes = ["base.Base"]) to exempt
|
|
988
1020
|
# models from being moved into type-checking blocks.
|
|
989
|
-
|
|
1021
|
+
# ---
|
|
1022
|
+
# [tool.ruff.lint.flake8-type-checking]
|
|
1023
|
+
# runtime-evaluated-base-classes = ["pydantic.BaseModel"]
|
|
1024
|
+
# ---
|
|
1025
|
+
# Or
|
|
1026
|
+
# ---
|
|
1027
|
+
# [tool.ruff.lint.flake8-type-checking.runtime-evaluated-base-classes]
|
|
1028
|
+
# "pydantic.BaseModel" = "required"
|
|
1029
|
+
# ---
|
|
1030
|
+
# For some use-cases like SQLAlchemy's sqlalchemy.orm.DeclarativeBase it makes more
|
|
1031
|
+
# sense to mark the class as runtime "ambiguous", since references to other models do
|
|
1032
|
+
# not need to resolve at runtime. With these semantics ruff will assume the annotations
|
|
1033
|
+
# already contain all of the correct forward references, and will not attempt to move
|
|
1034
|
+
# related imports and/or quote annotations.
|
|
1035
|
+
# ---
|
|
1036
|
+
# [tool.ruff.lint.flake8-type-checking.runtime-evaluated-base-classes]
|
|
1037
|
+
# "sqlalchemy.orm.DeclarativeBase" = "ambiguous"
|
|
1038
|
+
# ---
|
|
1039
|
+
runtime-evaluated-base-classes = {}
|
|
990
1040
|
# Exempt classes and functions decorated with any of the enumerated
|
|
991
1041
|
# decorators from being moved into type-checking blocks.
|
|
992
1042
|
# Common examples include Pydantic's @pydantic.validate_call decorator
|
|
@@ -1001,7 +1051,9 @@ runtime-evaluated-base-classes = []
|
|
|
1001
1051
|
# @app.get("/home")
|
|
1002
1052
|
# def home() -> str: ...
|
|
1003
1053
|
# Here app.get will correctly be identified as fastapi.FastAPI.get.
|
|
1004
|
-
runtime-evaluated-
|
|
1054
|
+
# Just like with runtime-evaluated-base-classes it's possible to mark
|
|
1055
|
+
# decorators as runtime "ambiguous".
|
|
1056
|
+
runtime-evaluated-decorators = {}
|
|
1005
1057
|
# Enforce TC001, TC002, and TC003 rules even when valid runtime imports
|
|
1006
1058
|
# are present for the same module.
|
|
1007
1059
|
# See flake8-type-checking's strict option.
|
|
@@ -1394,6 +1446,20 @@ allow-magic-value-types = [
|
|
|
1394
1446
|
"str",
|
|
1395
1447
|
"bytes",
|
|
1396
1448
|
]
|
|
1449
|
+
# Specific literal values to ignore when used as "magic values" (see PLR2004).
|
|
1450
|
+
allow-magic-values = [
|
|
1451
|
+
0,
|
|
1452
|
+
1,
|
|
1453
|
+
-1,
|
|
1454
|
+
0.0,
|
|
1455
|
+
1.0,
|
|
1456
|
+
-1.0,
|
|
1457
|
+
"",
|
|
1458
|
+
"__main__",
|
|
1459
|
+
]
|
|
1460
|
+
# Literal values to ignore when used as "magic values" (see PLR2004),
|
|
1461
|
+
# in addition to those included in allow-magic-values.
|
|
1462
|
+
extend-allow-magic-values = []
|
|
1397
1463
|
# Maximum number of arguments allowed for a function or method definition
|
|
1398
1464
|
# (see PLR0913).
|
|
1399
1465
|
max-args = 5
|
|
@@ -1454,5 +1520,5 @@ keep-runtime-typing = false
|
|
|
1454
1520
|
# parentheses around the tuple (see RUF031).
|
|
1455
1521
|
parenthesize-tuple-in-subscript = false
|
|
1456
1522
|
# Whether to require __init__.py files to contain no code at all, including imports and
|
|
1457
|
-
#
|
|
1523
|
+
# __all__ assignments (see RUF067). Module and attribute docstrings are still allowed.
|
|
1458
1524
|
strictly-empty-init-modules = false
|
{panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.github/workflows/pr-checker.yml
RENAMED
|
@@ -8,8 +8,8 @@ jobs:
|
|
|
8
8
|
strategy:
|
|
9
9
|
fail-fast: false
|
|
10
10
|
matrix:
|
|
11
|
-
python-version: ["3.
|
|
12
|
-
uv-version: ["0.
|
|
11
|
+
python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"]
|
|
12
|
+
uv-version: [">=0.13.0,<0.14.0"]
|
|
13
13
|
os: ["ubuntu-latest"]
|
|
14
14
|
runs-on: ${{ matrix.os }}
|
|
15
15
|
steps:
|
|
@@ -18,7 +18,7 @@ jobs:
|
|
|
18
18
|
uses: actions/checkout@v7
|
|
19
19
|
|
|
20
20
|
- name: Install uv
|
|
21
|
-
uses: astral-sh/setup-uv@
|
|
21
|
+
uses: astral-sh/setup-uv@v10.3.2
|
|
22
22
|
with:
|
|
23
23
|
version: ${{ matrix.uv-version }}
|
|
24
24
|
|
{panda_pytest_assertions-0.3.1 → panda_pytest_assertions-1.0.0}/.github/workflows/release.yml
RENAMED
|
@@ -10,15 +10,15 @@ jobs:
|
|
|
10
10
|
strategy:
|
|
11
11
|
fail-fast: false
|
|
12
12
|
matrix:
|
|
13
|
-
python-version: ["3.
|
|
14
|
-
uv-version: ["0.
|
|
13
|
+
python-version: ["3.15"]
|
|
14
|
+
uv-version: [">=0.13.0,<0.14.0"]
|
|
15
15
|
os: ["ubuntu-latest"]
|
|
16
16
|
runs-on: ${{ matrix.os }}
|
|
17
17
|
steps:
|
|
18
18
|
- name: Checkout repo
|
|
19
19
|
uses: actions/checkout@v7
|
|
20
20
|
- name: Install uv
|
|
21
|
-
uses: astral-sh/setup-uv@
|
|
21
|
+
uses: astral-sh/setup-uv@v10.3.2
|
|
22
22
|
with:
|
|
23
23
|
version: ${{ matrix.uv-version }}
|
|
24
24
|
- name: Set up Python ${{ matrix.python-version }}
|
|
@@ -40,7 +40,7 @@ jobs:
|
|
|
40
40
|
strategy:
|
|
41
41
|
fail-fast: false
|
|
42
42
|
matrix:
|
|
43
|
-
python-version: ["3.
|
|
43
|
+
python-version: ["3.15"]
|
|
44
44
|
os: ["ubuntu-latest"]
|
|
45
45
|
runs-on: ${{ matrix.os }}
|
|
46
46
|
environment:
|
|
@@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.0.0] - 2026-10-24
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
* Trove classifiers
|
|
13
|
+
|
|
14
|
+
## [0.4.0] - 2026-10-10
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
* Testing on Python 3.15
|
|
19
|
+
|
|
20
|
+
### Removed
|
|
21
|
+
|
|
22
|
+
* Support for Python 3.10
|
|
23
|
+
|
|
8
24
|
## [0.3.1] - 2026-07-25
|
|
9
25
|
|
|
10
26
|
No user-facing changes, just internal maintenance.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: panda-pytest-assertions
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0
|
|
4
4
|
Summary: Complex assertions that can be used when writing test with pytest
|
|
5
5
|
Project-URL: homepage, https://github.com/KRunchPL/panda-pytest-assertions
|
|
6
6
|
Project-URL: repository, https://github.com/KRunchPL/panda-pytest-assertions
|
|
@@ -9,7 +9,18 @@ Author-email: Cyber Panda <krunchfrompoland@gmail.com>
|
|
|
9
9
|
License-Expression: Apache-2.0
|
|
10
10
|
License-File: LICENSE
|
|
11
11
|
License-File: NOTICE
|
|
12
|
-
|
|
12
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
22
|
+
Classifier: Typing :: Typed
|
|
23
|
+
Requires-Python: <4.0,>=3.11
|
|
13
24
|
Requires-Dist: pytest>4.6.0
|
|
14
25
|
Requires-Dist: pyyaml<7,>=6.0.1
|
|
15
26
|
Description-Content-Type: text/markdown
|
|
@@ -97,7 +97,7 @@ git config --unset core.symlinks
|
|
|
97
97
|
|
|
98
98
|
Python part of the code shall follow those base guidelines:
|
|
99
99
|
|
|
100
|
-
* is compatible with Python version >=3.
|
|
100
|
+
* is compatible with Python version >=3.11.0,
|
|
101
101
|
* all code shall pass configured static code checks,
|
|
102
102
|
* all defined test shall pass,
|
|
103
103
|
* all code shall be covered by unit tests.
|
|
@@ -5,11 +5,27 @@ description = "Complex assertions that can be used when writing test with pytest
|
|
|
5
5
|
authors = [{ name = "Cyber Panda", email = "krunchfrompoland@gmail.com" }]
|
|
6
6
|
license = "Apache-2.0"
|
|
7
7
|
readme = "README.md"
|
|
8
|
-
requires-python = ">=3.
|
|
8
|
+
requires-python = ">=3.11,<4.0"
|
|
9
9
|
dependencies = [
|
|
10
10
|
"pytest >4.6.0",
|
|
11
11
|
"pyyaml >=6.0.1,<7",
|
|
12
12
|
]
|
|
13
|
+
# https://pypi.org/classifiers/
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 5 - Production/Stable",
|
|
16
|
+
# "Development Status :: 6 - Mature",
|
|
17
|
+
# "Development Status :: 7 - Inactive",
|
|
18
|
+
"Operating System :: OS Independent",
|
|
19
|
+
"Typing :: Typed",
|
|
20
|
+
"Programming Language :: Python",
|
|
21
|
+
"Programming Language :: Python :: 3",
|
|
22
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
23
|
+
"Programming Language :: Python :: 3.11",
|
|
24
|
+
"Programming Language :: Python :: 3.12",
|
|
25
|
+
"Programming Language :: Python :: 3.13",
|
|
26
|
+
"Programming Language :: Python :: 3.14",
|
|
27
|
+
"Programming Language :: Python :: 3.15",
|
|
28
|
+
]
|
|
13
29
|
|
|
14
30
|
[dependency-groups]
|
|
15
31
|
dev = [
|
|
@@ -53,6 +53,6 @@ class OrderedElementsAsserter(Asserter):
|
|
|
53
53
|
for index, (element, asserter) in enumerate(zip(elements, self._elements_asserters, strict=True)):
|
|
54
54
|
try:
|
|
55
55
|
asserter.assert_object(element)
|
|
56
|
-
except AssertionError as exc:
|
|
56
|
+
except AssertionError as exc:
|
|
57
57
|
msg = f'Element with index [{index}] has invalid value. {exc!s}'
|
|
58
58
|
raise AssertionError(msg) from None
|
|
@@ -48,7 +48,7 @@ class UnionGenerator(Generator):
|
|
|
48
48
|
for generator in self.generators:
|
|
49
49
|
try:
|
|
50
50
|
return generator.generate_expectation(object_)
|
|
51
|
-
except ObjectNotMatchingDefinitionError as exc:
|
|
51
|
+
except ObjectNotMatchingDefinitionError as exc:
|
|
52
52
|
exceptions.append(exc)
|
|
53
53
|
msg = f'Object "{object_}" did not match any of the expectation definition. Errors: {exceptions!r}'
|
|
54
54
|
raise ObjectNotMatchingDefinitionError(msg)
|