panda-pytest-assertions 0.3.0__tar.gz → 0.3.1__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.0 → panda_pytest_assertions-0.3.1}/.config/.editorconfig +1 -1
- panda_pytest_assertions-0.3.1/.config/.flake8 +25 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/.config/mypy.ini +41 -22
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/.config/ruff.toml +123 -15
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/.github/workflows/pr-checker.yml +4 -4
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/.github/workflows/release.yml +7 -6
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/CHANGELOG.md +4 -0
- panda_pytest_assertions-0.3.1/NOTICE +1 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/PKG-INFO +1 -1
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/README-DEV.MD +3 -3
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/docs/assert_object/20.expectations.md +1 -1
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/pyproject.toml +20 -16
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_context/_assert_context.py +3 -3
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_expectation_modificators/identity.py +2 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_expectation_modificators/is_type.py +5 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_expectation_modificators/mapping_subset.py +2 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_expectation_modificators/object_attibutes.py +2 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_expectation_modificators/stringified.py +2 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_expectation_modificators/unordered.py +2 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_expectation_modificators/with_type.py +8 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_objects_asserters/asserter.py +4 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_objects_asserters/equality_asserter.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_objects_asserters/identity_asserter.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_objects_asserters/is_type_asserter.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_objects_asserters/mapping_asserter.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_objects_asserters/mapping_subset_asserter.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_objects_asserters/object_attributes_asserter.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_objects_asserters/ordered_elements_asserter.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_objects_asserters/stringified_asserter.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_objects_asserters/unordered_elements_asserter.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_objects_asserters/with_type_asserter.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_protocols.py +11 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/is_type.py +2 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/mapping.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/mapping_subset.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/object_attributes.py +2 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/of_type.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/uniform_mapping.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/uniform_mapping_subset.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/uniform_ordered.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/uniform_unordered.py +2 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/union.py +2 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/with_type.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/equality_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/equality_key_mapping_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/generator.py +5 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/is_type_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/mapping_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/mapping_subset_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/object_attributes_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/of_type_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/ordered_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/stringified_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/uniform_mapping_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/uniform_mapping_subset_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/uniform_ordered_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/union_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/unordered_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/with_type_generator.py +3 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/test_error_messages.py +8 -4
- panda_pytest_assertions-0.3.1/uv.lock +1203 -0
- panda_pytest_assertions-0.3.1/version.txt +1 -0
- panda_pytest_assertions-0.3.0/.config/.flake8 +0 -13
- panda_pytest_assertions-0.3.0/NOTICE +0 -1
- panda_pytest_assertions-0.3.0/uv.lock +0 -1075
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/.config/.coveragerc +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/.config/pytest.ini +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/.coveragerc +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/.editorconfig +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/.flake8 +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/.gitattributes +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/.gitignore +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/LICENSE +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/README.md +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/docs/assert_context/index.md +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/docs/assert_object/10.asserting.md +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/docs/assert_object/30.using_yaml.md +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/docs/assert_object/40.asserters.md +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/docs/assert_object/generating_expectation/10.definition.md +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/docs/assert_object/generating_expectation/20.generators.md +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/docs/assert_object/generating_expectation/index.md +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/docs/assert_object/index.md +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/docs/index.md +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/mkdocs.yml +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/mypy.ini +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/pytest.ini +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/ruff.toml +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_context/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_assert_object.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_asserter_factories/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_asserter_factories/asserter_factory.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_asserter_factories/built_in_asserter_factory.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_converters/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_converters/expectation_from_yaml.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_converters/expectation_to_yaml.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_expectation_modificators/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/_objects_asserters/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/equality.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_expectation_definitions/stringified.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generate_expectation.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generator_factories/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generator_factories/built_in_generator_factory.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generator_factories/generator_factory.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/assert_object/generators/_generators/exceptions.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/src/panda_pytest_assertions/py.typed +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_context/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_context/test_assert_context.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_asserter_factories/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_asserter_factories/test_asserter_factory.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_asserter_factories/test_built_in_asserter_factory.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_converters/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_converters/conftest.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_converters/test_expectation_from_yaml.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_converters/test_expectation_to_yaml.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_is.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_is_type.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_mapping_subset.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_object_attibutes.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_stringified.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_unordered.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_expectation_modificators/test_with_type.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_equality.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_is_type.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_mapping.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_mapping_subset.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_object_attributes.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_of_type.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_stringified.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_uniform_mapping.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_uniform_mapping_subset.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_uniform_ordered.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_uniform_unordered.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_union.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_expectation_definitions/test_with_type.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generator_factories/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generator_factories/test_built_in_generator_factory.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generator_factories/test_generator_factory.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/conftest.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_equality_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_equality_key_mapping_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_is_type_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_mapping_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_mapping_subset_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_object_attributes_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_of_type_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_ordered_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_stringified_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_uniform_mapping_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_uniform_mapping_subset_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_uniform_ordered_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_union_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_unordered_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/_generators/test_with_type_generator.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/test_complex.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_generators/test_generate_expectation.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_objects_asserters/__init__.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_objects_asserters/conftest.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_equality_asserter.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_identity_asserter.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_is_type_asserter.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_mapping_asserter.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_mapping_subset_asserter.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_object_attributes_asserter.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_ordered_elements_asserter.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_stringified_asserter.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_unordered_elements_asserter.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/_objects_asserters/test_with_type_asserter.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/test_assert_object.py +0 -0
- {panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/tests/panda_pytest_assertions/assert_object/test_complex.py +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
[flake8]
|
|
2
|
+
count = True
|
|
3
|
+
extend-exclude =
|
|
4
|
+
.*/
|
|
5
|
+
tests/
|
|
6
|
+
|
|
7
|
+
### Rules choice
|
|
8
|
+
# DOC: We use flake8 just to run pydoclint, ruff takes care about the rest
|
|
9
|
+
select=DOC
|
|
10
|
+
# DOC5xx: Violations about “raise” and “assert” statements
|
|
11
|
+
# DOC6xx: Violations about class attributes
|
|
12
|
+
# DOC203: Return type(s) in the docstring not consistent with the return annotation
|
|
13
|
+
# DOC404: The types in the docstring’s Yields section and the return annotation in the signature are not consistent
|
|
14
|
+
ignore=DOC5,DOC6,DOC203,DOC404
|
|
15
|
+
|
|
16
|
+
### pydoclint options
|
|
17
|
+
style = sphinx
|
|
18
|
+
arg-type-hints-in-docstring = False
|
|
19
|
+
skip-checking-short-docstrings = False
|
|
20
|
+
skip-checking-raises = True
|
|
21
|
+
check-return-types = False
|
|
22
|
+
check-yield-types = False
|
|
23
|
+
check-class-attributes = False
|
|
24
|
+
check-style-mismatch = True
|
|
25
|
+
omit-stars-when-documenting-varargs = True
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
### Configuration created for mypy==
|
|
1
|
+
### Configuration created for mypy==2.3.0
|
|
2
2
|
|
|
3
3
|
[mypy]
|
|
4
4
|
|
|
@@ -125,7 +125,7 @@ no_silence_site_packages = False
|
|
|
125
125
|
### Platform configuration
|
|
126
126
|
# Specifies the Python version used to parse and check the target
|
|
127
127
|
# program. The string should be in the format MAJOR.MINOR –
|
|
128
|
-
# for example 3.
|
|
128
|
+
# for example 3.10. The default is the version of the Python
|
|
129
129
|
# interpreter used to run mypy.
|
|
130
130
|
# This option may only be set in the global section ([mypy]).
|
|
131
131
|
#python_version =
|
|
@@ -255,26 +255,33 @@ ignore_errors = False
|
|
|
255
255
|
allow_untyped_globals = False
|
|
256
256
|
|
|
257
257
|
# By default, mypy won’t allow a variable to be redefined with an
|
|
258
|
-
# unrelated type. This
|
|
259
|
-
#
|
|
260
|
-
# local_partial_types
|
|
261
|
-
# Example:
|
|
258
|
+
# unrelated type. This flag enables the redefinition of unannotated
|
|
259
|
+
# variables with an arbitrary type. This also requires
|
|
260
|
+
# local_partial_types, which is enabled by default starting
|
|
261
|
+
# from mypy 2.0. Example:
|
|
262
262
|
# This also enables an unannotated variable to have different types in different
|
|
263
263
|
# code locations:
|
|
264
|
+
# Function arguments are special, changing their type within function body
|
|
265
|
+
# is allowed even if they are annotated, but that annotation is used to infer
|
|
266
|
+
# types of r.h.s. of all subsequent assignments. Such middle-ground semantics
|
|
267
|
+
# provides good balance for majority of common use cases. For example:
|
|
264
268
|
# Note: We are planning to turn this flag on by default in a future mypy
|
|
265
|
-
# release
|
|
269
|
+
# release.
|
|
270
|
+
allow_redefinition = False
|
|
271
|
+
|
|
272
|
+
# Deprecated alias for allow_redefinition.
|
|
266
273
|
allow_redefinition_new = False
|
|
267
274
|
|
|
268
275
|
# Allows variables to be redefined with an arbitrary type, as long as the redefinition
|
|
269
276
|
# is in the same block and nesting level as the original definition.
|
|
270
277
|
# Example where this can be useful:
|
|
271
278
|
# The variable must be used before it can be redefined:
|
|
272
|
-
|
|
279
|
+
allow_redefinition_old = False
|
|
273
280
|
|
|
274
|
-
#
|
|
275
|
-
#
|
|
276
|
-
# This
|
|
277
|
-
local_partial_types =
|
|
281
|
+
# This prevents inferring a variable type from an empty container (such as a list or
|
|
282
|
+
# a dictionary) created at module top level or class body and updated in
|
|
283
|
+
# a function. This must be enabled when using the mypy daemon.
|
|
284
|
+
local_partial_types = True
|
|
278
285
|
|
|
279
286
|
# Allows disabling one or multiple error codes globally.
|
|
280
287
|
#disable_error_code =
|
|
@@ -301,16 +308,16 @@ strict_equality = True
|
|
|
301
308
|
# to be activated).
|
|
302
309
|
strict_equality_for_none = False
|
|
303
310
|
|
|
304
|
-
#
|
|
305
|
-
# This
|
|
306
|
-
strict_bytes =
|
|
311
|
+
# If disabled, mypy treats bytearray and memoryview as subtypes of bytes.
|
|
312
|
+
# This has been enabled by default since mypy 2.0.
|
|
313
|
+
strict_bytes = True
|
|
307
314
|
|
|
308
315
|
# Enable all optional error checking flags. You can see the list of
|
|
309
316
|
# flags enabled by strict mode in the full mypy --help
|
|
310
317
|
# output.
|
|
311
318
|
# Note: the exact list of flags enabled by strict may
|
|
312
319
|
# change over time.
|
|
313
|
-
strict =
|
|
320
|
+
strict = False
|
|
314
321
|
|
|
315
322
|
|
|
316
323
|
### Configuring error messages
|
|
@@ -339,11 +346,6 @@ error_summary = True
|
|
|
339
346
|
# Show absolute paths to files.
|
|
340
347
|
show_absolute_path = False
|
|
341
348
|
|
|
342
|
-
# Always use Union[] and Optional[] for union types
|
|
343
|
-
# in error messages (instead of the | operator),
|
|
344
|
-
# even on Python 3.10+.
|
|
345
|
-
force_union_syntax = False
|
|
346
|
-
|
|
347
349
|
|
|
348
350
|
### Incremental mode
|
|
349
351
|
# Enables incremental mode.
|
|
@@ -359,7 +361,7 @@ incremental = True
|
|
|
359
361
|
cache_dir = .mypy_cache
|
|
360
362
|
|
|
361
363
|
# Use an SQLite database to store the cache.
|
|
362
|
-
sqlite_cache =
|
|
364
|
+
sqlite_cache = True
|
|
363
365
|
|
|
364
366
|
# Include fine-grained dependency information in the cache for the mypy daemon.
|
|
365
367
|
cache_fine_grained = False
|
|
@@ -373,6 +375,14 @@ skip_version_check = False
|
|
|
373
375
|
skip_cache_mtime_checks = False
|
|
374
376
|
|
|
375
377
|
|
|
378
|
+
### Parallel type-checking configuration
|
|
379
|
+
# Use specific number of parallel worker processes for type-checking, see
|
|
380
|
+
# parallel type-checking for more details.
|
|
381
|
+
# This setting will be overridden by the MYPY_NUM_WORKERS environment
|
|
382
|
+
# variable.
|
|
383
|
+
num_workers = 0
|
|
384
|
+
|
|
385
|
+
|
|
376
386
|
### Advanced options
|
|
377
387
|
# A comma-separated list of mypy plugins. See Extending mypy using plugins.
|
|
378
388
|
#plugins =
|
|
@@ -403,6 +413,10 @@ raise_exceptions = False
|
|
|
403
413
|
# in combination with disallow_untyped_defs or disallow_incomplete_defs.
|
|
404
414
|
warn_incomplete_stub = True
|
|
405
415
|
|
|
416
|
+
# This enables fast Rust-based parser that parses directly to mypy AST.
|
|
417
|
+
# It will become the default parser in one of the next mypy releases.
|
|
418
|
+
native_parser = False
|
|
419
|
+
|
|
406
420
|
|
|
407
421
|
### Report generation
|
|
408
422
|
# Causes mypy to generate a text file report documenting how many
|
|
@@ -453,6 +467,11 @@ warn_incomplete_stub = True
|
|
|
453
467
|
# with continuous integration (CI) tools.
|
|
454
468
|
#junit_xml =
|
|
455
469
|
|
|
470
|
+
# If junit_xml is set, specifies format.
|
|
471
|
+
# global (default): single test with all errors;
|
|
472
|
+
# per_file: one test entry per file with failures.
|
|
473
|
+
junit_format = global
|
|
474
|
+
|
|
456
475
|
# Makes script x become module x instead of __main__. This is
|
|
457
476
|
# useful when checking multiple scripts in a single run.
|
|
458
477
|
scripts_are_modules = False
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
### Configuration created for ruff==0.
|
|
1
|
+
### Configuration created for ruff==0.16.0
|
|
2
2
|
|
|
3
3
|
# A list of builtins to treat as defined references, in addition to the
|
|
4
4
|
# system builtins.
|
|
@@ -45,12 +45,19 @@ exclude = [
|
|
|
45
45
|
"node_modules",
|
|
46
46
|
"venv",
|
|
47
47
|
]
|
|
48
|
-
# A path to a local pyproject.toml file to merge into this
|
|
48
|
+
# A path to a local pyproject.toml or ruff.toml file to merge into this
|
|
49
49
|
# configuration. User home directory and environment variables will be
|
|
50
50
|
# expanded.
|
|
51
|
-
# To resolve the current
|
|
52
|
-
# this base configuration file, then merge in
|
|
53
|
-
# in the current configuration file.
|
|
51
|
+
# To resolve the current configuration file, Ruff will first load
|
|
52
|
+
# this base configuration file, then merge in properties defined
|
|
53
|
+
# in the current configuration file. Most settings follow simple override
|
|
54
|
+
# behavior where the child value replaces the parent value. However,
|
|
55
|
+
# rule selection (lint.select and lint.ignore) has special merging
|
|
56
|
+
# behavior: if the child configuration specifies lint.select, it
|
|
57
|
+
# establishes a new baseline rule set and the parent's lint.ignore
|
|
58
|
+
# rules are discarded; if the child configuration omits lint.select,
|
|
59
|
+
# the parent's rule selection is inherited and both parent and child
|
|
60
|
+
# lint.ignore rules are accumulated together.
|
|
54
61
|
#extend =
|
|
55
62
|
# A list of file patterns to omit from formatting and linting, in addition to those
|
|
56
63
|
# specified by exclude.
|
|
@@ -70,6 +77,13 @@ extend-exclude = []
|
|
|
70
77
|
# *.pyw, to include any file with the .pyw extension.
|
|
71
78
|
# For more information on the glob syntax, refer to the globset documentation.
|
|
72
79
|
extend-include = []
|
|
80
|
+
# A mapping of custom file extensions to known file types (overridden
|
|
81
|
+
# by the --extension command-line flag).
|
|
82
|
+
# Supported file types include python, pyi, ipynb, and markdown.
|
|
83
|
+
# Any file extensions listed here will be automatically added to the
|
|
84
|
+
# default include list as a *.{ext} glob, so that they are linted
|
|
85
|
+
# and formatted without needing any additional configuration settings.
|
|
86
|
+
extension = {}
|
|
73
87
|
# Enable fix behavior by-default when running ruff (overridden
|
|
74
88
|
# by the --fix and --no-fix command-line flags).
|
|
75
89
|
# Only includes automatic fixes unless --unsafe-fixes is provided.
|
|
@@ -88,9 +102,10 @@ fix-only = false
|
|
|
88
102
|
force-exclude = false
|
|
89
103
|
# A list of file patterns to include when linting.
|
|
90
104
|
# Inclusion are based on globs, and should be single-path patterns, like
|
|
91
|
-
# *.pyw, to include any file with the .pyw extension.
|
|
92
|
-
#
|
|
93
|
-
# [project] matches
|
|
105
|
+
# *.pyw, to include any file with the .pyw extension.
|
|
106
|
+
# pyproject.toml, ruff.toml, and .ruff.toml are included here not for
|
|
107
|
+
# configuration but because we lint whether e.g. the [project] matches
|
|
108
|
+
# the schema in pyproject.toml or that rule names are used as selectors.
|
|
94
109
|
# Notebook files (.ipynb extension) are included by default on Ruff 0.6.0+.
|
|
95
110
|
# For more information on the glob syntax, refer to the globset documentation.
|
|
96
111
|
include = [
|
|
@@ -98,7 +113,10 @@ include = [
|
|
|
98
113
|
"*.pyi",
|
|
99
114
|
"*.pyw",
|
|
100
115
|
"*.ipynb",
|
|
116
|
+
"*.md",
|
|
101
117
|
"**/pyproject.toml",
|
|
118
|
+
"**/ruff.toml",
|
|
119
|
+
"**/.ruff.toml",
|
|
102
120
|
]
|
|
103
121
|
# The number of spaces per indentation level (tab).
|
|
104
122
|
# Used by the formatter and when enforcing long-line violations (like E501) to determine the visual
|
|
@@ -111,7 +129,7 @@ indent-width = 4
|
|
|
111
129
|
# and at which isort and the formatter prefers to wrap lines.
|
|
112
130
|
# The length is determined by the number of characters per line, except for lines containing East Asian characters or emojis.
|
|
113
131
|
# For these lines, the unicode width of each character is added up to determine the length.
|
|
114
|
-
# The value must be greater than 0
|
|
132
|
+
# The value must be greater than 0.
|
|
115
133
|
# Note: While the formatter will attempt to format lines such that they remain
|
|
116
134
|
# within the line-length, it isn't a hard upper bound, and formatted lines may
|
|
117
135
|
# exceed the line-length.
|
|
@@ -244,6 +262,10 @@ preview = false
|
|
|
244
262
|
# For example, if this is set to 2, then only strings with at least two dots (e.g., "path.to.module")
|
|
245
263
|
# would be considered valid imports.
|
|
246
264
|
string-imports-min-dots = 2
|
|
265
|
+
# Whether to include imports that are only used for type checking (i.e., imports within if TYPE_CHECKING: blocks).
|
|
266
|
+
# When enabled (default), type-checking-only imports are included in the import graph.
|
|
267
|
+
# When disabled, they are excluded.
|
|
268
|
+
type-checking-imports = true
|
|
247
269
|
|
|
248
270
|
[format]
|
|
249
271
|
# Whether to format code snippets in docstrings.
|
|
@@ -396,8 +418,17 @@ indent-style = "space"
|
|
|
396
418
|
# - cr-lf: Line endings will be converted to \r\n. The default line ending on Windows.
|
|
397
419
|
# - native: Line endings will be converted to \n on Unix and \r\n on Windows.
|
|
398
420
|
line-ending = "lf"
|
|
421
|
+
# Controls the quote style for nested strings inside interpolated string expressions.
|
|
422
|
+
# - alternating (default): Use alternating quotes.
|
|
423
|
+
# - preferred: Use the configured quote-style.
|
|
424
|
+
# ---
|
|
425
|
+
# f"{data['key']}" # alternating (default)
|
|
426
|
+
# f"{data["key"]}" # preferred
|
|
427
|
+
# ---
|
|
428
|
+
# Note: This setting has no effect when targeting Python versions below 3.12.
|
|
429
|
+
nested-string-quote-style = "alternating"
|
|
399
430
|
# Whether to enable the unstable preview style formatting.
|
|
400
|
-
preview =
|
|
431
|
+
preview = true
|
|
401
432
|
# Configures the preferred quote character for strings. The recommended options are
|
|
402
433
|
# - double (default): Use double quotes "
|
|
403
434
|
# - single: Use single quotes '
|
|
@@ -469,6 +500,19 @@ extend-per-file-ignores = {}
|
|
|
469
500
|
extend-safe-fixes = []
|
|
470
501
|
# A list of rule codes or prefixes to enable, in addition to those
|
|
471
502
|
# specified by select.
|
|
503
|
+
# Unlike select, which replaces the default rule set
|
|
504
|
+
# when specified, extend-select adds to whatever rules are already
|
|
505
|
+
# active. This makes extend-select the preferred option when you want
|
|
506
|
+
# to enable additional rules on top of the defaults without having to
|
|
507
|
+
# enumerate them.
|
|
508
|
+
# For example, to enable the defaults plus flake8-bugbear:
|
|
509
|
+
# ---
|
|
510
|
+
# [tool.ruff.lint]
|
|
511
|
+
# # Adds flake8-bugbear on top of the default rules.
|
|
512
|
+
# extend-select = ["B"]
|
|
513
|
+
# ---
|
|
514
|
+
# Using select = ["B"] instead would replace the defaults, enabling
|
|
515
|
+
# only flake8-bugbear.
|
|
472
516
|
extend-select = []
|
|
473
517
|
# A list of rule codes or prefixes for which safe fixes should be considered
|
|
474
518
|
# unsafe.
|
|
@@ -477,9 +521,7 @@ extend-unsafe-fixes = []
|
|
|
477
521
|
# preserved when (e.g.) validating # noqa directives. Useful for
|
|
478
522
|
# retaining # noqa directives that cover plugins not yet implemented
|
|
479
523
|
# by Ruff.
|
|
480
|
-
external = [
|
|
481
|
-
"DAR",
|
|
482
|
-
]
|
|
524
|
+
external = []
|
|
483
525
|
# A list of rule codes or prefixes to consider fixable. By default,
|
|
484
526
|
# all rules are considered fixable.
|
|
485
527
|
fixable = [
|
|
@@ -512,6 +554,7 @@ ignore = [
|
|
|
512
554
|
"TC002", # Move third-party import into a type-checking block
|
|
513
555
|
"TC003", # Move standard library import into a type-checking block
|
|
514
556
|
"PYI041", # Use `float` instead of `int | float`
|
|
557
|
+
"CPY001", # Missing copyright notice at top of file
|
|
515
558
|
]
|
|
516
559
|
# A list of objects that should be treated equivalently to a
|
|
517
560
|
# logging.Logger object.
|
|
@@ -870,6 +913,10 @@ ignore-names = [
|
|
|
870
913
|
]
|
|
871
914
|
|
|
872
915
|
[lint.flake8-tidy-imports]
|
|
916
|
+
# Specific modules that may not be imported lazily, or "all" to forbid lazy imports except
|
|
917
|
+
# for any modules excluded from the selector. This rule is only enforced when targeting
|
|
918
|
+
# Python 3.15 or newer.
|
|
919
|
+
ban-lazy = []
|
|
873
920
|
# Whether to ban all relative imports ("all"), or only those imports
|
|
874
921
|
# that extend into the parent module or beyond ("parents").
|
|
875
922
|
ban-relative-imports = "parents"
|
|
@@ -882,6 +929,12 @@ banned-api = {}
|
|
|
882
929
|
# block, or some other nested context). This also affects the rule import-outside-top-level
|
|
883
930
|
# if banned-module-level-imports is enabled.
|
|
884
931
|
banned-module-level-imports = []
|
|
932
|
+
# Specific modules that must be imported lazily in contexts where lazy import is legal, or
|
|
933
|
+
# "all" to require every lazily-convertible import to use the lazy keyword. Ruff ignores
|
|
934
|
+
# contexts where lazy import is invalid, such as functions, classes, try/except
|
|
935
|
+
# blocks, __future__ imports, and from ... import * statements. This rule is only
|
|
936
|
+
# enforced when targeting Python 3.15 or newer.
|
|
937
|
+
require-lazy = []
|
|
885
938
|
|
|
886
939
|
[lint.flake8-type-checking]
|
|
887
940
|
# Exempt certain modules from needing to be moved into type-checking
|
|
@@ -921,7 +974,8 @@ exempt-modules = [
|
|
|
921
974
|
# ---
|
|
922
975
|
# Note that this setting has no effect when from __future__ import annotations
|
|
923
976
|
# is present, as __future__ annotations are always treated equivalently
|
|
924
|
-
# to quoted annotations.
|
|
977
|
+
# to quoted annotations. Similarly, this setting has no effect on Python
|
|
978
|
+
# versions after 3.14 because these annotations are also deferred.
|
|
925
979
|
quote-annotations = false
|
|
926
980
|
# Exempt classes that list any of the enumerated classes as a base class
|
|
927
981
|
# from needing to be moved into type-checking blocks.
|
|
@@ -940,7 +994,7 @@ runtime-evaluated-base-classes = []
|
|
|
940
994
|
# This also supports framework decorators like FastAPI's fastapi.FastAPI.get
|
|
941
995
|
# which will work across assignments in the same module.
|
|
942
996
|
# For example:
|
|
943
|
-
# import
|
|
997
|
+
# from fastapi import FastAPI
|
|
944
998
|
#
|
|
945
999
|
# app = FastAPI("app")
|
|
946
1000
|
#
|
|
@@ -1025,6 +1079,12 @@ forced-separate = []
|
|
|
1025
1079
|
# import os
|
|
1026
1080
|
# import sys
|
|
1027
1081
|
from-first = false
|
|
1082
|
+
# A mapping from import section names to their heading comments.
|
|
1083
|
+
# When set, a comment with the specified text will be added above imports
|
|
1084
|
+
# in the corresponding section. If a heading comment already exists, it
|
|
1085
|
+
# will be replaced.
|
|
1086
|
+
# Compatible with isort's import_heading_{section_name} settings.
|
|
1087
|
+
import-heading = {}
|
|
1028
1088
|
# A list of modules to consider first-party, regardless of whether they
|
|
1029
1089
|
# can be identified as such via introspection of the local filesystem.
|
|
1030
1090
|
# Supports glob patterns. For more information on the glob syntax, refer
|
|
@@ -1243,6 +1303,49 @@ ignore-one-line-docstrings = false
|
|
|
1243
1303
|
# [tool.ruff.lint.pydocstyle]
|
|
1244
1304
|
# convention = "google"
|
|
1245
1305
|
# ---
|
|
1306
|
+
# The PEP 257 convention includes all D errors apart from:
|
|
1307
|
+
# D203,
|
|
1308
|
+
# D212,
|
|
1309
|
+
# D213,
|
|
1310
|
+
# D214,
|
|
1311
|
+
# D215,
|
|
1312
|
+
# D404,
|
|
1313
|
+
# D405,
|
|
1314
|
+
# D406,
|
|
1315
|
+
# D407,
|
|
1316
|
+
# D408,
|
|
1317
|
+
# D409,
|
|
1318
|
+
# D410,
|
|
1319
|
+
# D411,
|
|
1320
|
+
# D413,
|
|
1321
|
+
# D415,
|
|
1322
|
+
# D416,
|
|
1323
|
+
# D417, and
|
|
1324
|
+
# D420.
|
|
1325
|
+
# The NumPy convention includes all D errors apart from:
|
|
1326
|
+
# D107,
|
|
1327
|
+
# D203,
|
|
1328
|
+
# D212,
|
|
1329
|
+
# D213,
|
|
1330
|
+
# D402,
|
|
1331
|
+
# D413,
|
|
1332
|
+
# D415,
|
|
1333
|
+
# D416, and
|
|
1334
|
+
# D417.
|
|
1335
|
+
# The Google convention includes all D errors apart from:
|
|
1336
|
+
# D203,
|
|
1337
|
+
# D204,
|
|
1338
|
+
# D213,
|
|
1339
|
+
# D215,
|
|
1340
|
+
# D400,
|
|
1341
|
+
# D401,
|
|
1342
|
+
# D404,
|
|
1343
|
+
# D406,
|
|
1344
|
+
# D407,
|
|
1345
|
+
# D408,
|
|
1346
|
+
# D409, and
|
|
1347
|
+
# D413.
|
|
1348
|
+
# For more information see the FAQ entry.
|
|
1246
1349
|
# To enable an additional rule that's excluded from the convention,
|
|
1247
1350
|
# select the desired rule via its fully qualified rule code (e.g.,
|
|
1248
1351
|
# D400 instead of D4 or D40):
|
|
@@ -1315,6 +1418,8 @@ max-public-methods = 20
|
|
|
1315
1418
|
max-returns = 6
|
|
1316
1419
|
# Maximum number of statements allowed for a function or method body (see PLR0915).
|
|
1317
1420
|
max-statements = 50
|
|
1421
|
+
# Maximum number of statements allowed for a try clause body (see W0717).
|
|
1422
|
+
max-statements-in-try = 5
|
|
1318
1423
|
|
|
1319
1424
|
[lint.pyupgrade]
|
|
1320
1425
|
# Whether to avoid PEP 585 (List[int] -> list[int]) and PEP 604
|
|
@@ -1348,3 +1453,6 @@ keep-runtime-typing = false
|
|
|
1348
1453
|
# Whether to prefer accessing items keyed by tuples with
|
|
1349
1454
|
# parentheses around the tuple (see RUF031).
|
|
1350
1455
|
parenthesize-tuple-in-subscript = false
|
|
1456
|
+
# Whether to require __init__.py files to contain no code at all, including imports and
|
|
1457
|
+
# docstrings (see RUF067).
|
|
1458
|
+
strictly-empty-init-modules = false
|
{panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/.github/workflows/pr-checker.yml
RENAMED
|
@@ -9,21 +9,21 @@ jobs:
|
|
|
9
9
|
fail-fast: false
|
|
10
10
|
matrix:
|
|
11
11
|
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
12
|
-
uv-version: ["0.
|
|
12
|
+
uv-version: ["0.11.31"]
|
|
13
13
|
os: ["ubuntu-latest"]
|
|
14
14
|
runs-on: ${{ matrix.os }}
|
|
15
15
|
steps:
|
|
16
16
|
|
|
17
17
|
- name: Checkout repo
|
|
18
|
-
uses: actions/checkout@
|
|
18
|
+
uses: actions/checkout@v7
|
|
19
19
|
|
|
20
20
|
- name: Install uv
|
|
21
|
-
uses: astral-sh/setup-uv@
|
|
21
|
+
uses: astral-sh/setup-uv@v9.0.0
|
|
22
22
|
with:
|
|
23
23
|
version: ${{ matrix.uv-version }}
|
|
24
24
|
|
|
25
25
|
- name: Set up Python ${{ matrix.python-version }}
|
|
26
|
-
uses: actions/setup-python@
|
|
26
|
+
uses: actions/setup-python@v7
|
|
27
27
|
with:
|
|
28
28
|
python-version: ${{ matrix.python-version }}
|
|
29
29
|
|
{panda_pytest_assertions-0.3.0 → panda_pytest_assertions-0.3.1}/.github/workflows/release.yml
RENAMED
|
@@ -11,31 +11,32 @@ jobs:
|
|
|
11
11
|
fail-fast: false
|
|
12
12
|
matrix:
|
|
13
13
|
python-version: ["3.14"]
|
|
14
|
-
uv-version: ["0.
|
|
14
|
+
uv-version: ["0.11.32"]
|
|
15
15
|
os: ["ubuntu-latest"]
|
|
16
16
|
runs-on: ${{ matrix.os }}
|
|
17
17
|
steps:
|
|
18
18
|
- name: Checkout repo
|
|
19
|
-
uses: actions/checkout@
|
|
19
|
+
uses: actions/checkout@v7
|
|
20
20
|
- name: Install uv
|
|
21
|
-
uses: astral-sh/setup-uv@
|
|
21
|
+
uses: astral-sh/setup-uv@v9.0.0
|
|
22
22
|
with:
|
|
23
23
|
version: ${{ matrix.uv-version }}
|
|
24
24
|
- name: Set up Python ${{ matrix.python-version }}
|
|
25
|
-
uses: actions/setup-python@
|
|
25
|
+
uses: actions/setup-python@v7
|
|
26
26
|
with:
|
|
27
27
|
python-version: ${{ matrix.python-version }}
|
|
28
28
|
- name: Build
|
|
29
29
|
run: |
|
|
30
30
|
uv build
|
|
31
31
|
- name: Upload built packages
|
|
32
|
-
uses: actions/upload-artifact@
|
|
32
|
+
uses: actions/upload-artifact@v7
|
|
33
33
|
with:
|
|
34
34
|
name: built-packages-${{ matrix.os }}-${{ matrix.python-version }}
|
|
35
35
|
path: dist
|
|
36
36
|
|
|
37
37
|
pypi-publish:
|
|
38
38
|
name: Upload release to PyPI
|
|
39
|
+
needs: build
|
|
39
40
|
strategy:
|
|
40
41
|
fail-fast: false
|
|
41
42
|
matrix:
|
|
@@ -48,7 +49,7 @@ jobs:
|
|
|
48
49
|
permissions:
|
|
49
50
|
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
|
|
50
51
|
steps:
|
|
51
|
-
- uses: actions/download-artifact@
|
|
52
|
+
- uses: actions/download-artifact@v8
|
|
52
53
|
with:
|
|
53
54
|
name: built-packages-${{ matrix.os }}-${{ matrix.python-version }}
|
|
54
55
|
path: dist
|
|
@@ -5,6 +5,10 @@ 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
|
+
## [0.3.1] - 2026-07-25
|
|
9
|
+
|
|
10
|
+
No user-facing changes, just internal maintenance.
|
|
11
|
+
|
|
8
12
|
## [0.3.0] - 2025-10-15
|
|
9
13
|
|
|
10
14
|
### Changed
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Copyright 2024-2026, Jacek Chałupka <krunchfrompoland@gmail.com>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: panda-pytest-assertions
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
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
|
|
@@ -81,7 +81,7 @@ If you don't have permission to create symlinks, this section describes how to f
|
|
|
81
81
|
1. Verify that you have permissions to create symlinks.
|
|
82
82
|
1. See [Git settings](#git-settings) below.
|
|
83
83
|
|
|
84
|
-
Reference: [Allowing non-administrators to create symbolic links](https://
|
|
84
|
+
Reference: [Allowing non-administrators to create symbolic links](https://gitforwindows.org/symbolic-links.html#allowing-non-administrators-to-create-symbolic-links)
|
|
85
85
|
|
|
86
86
|
#### Git settings
|
|
87
87
|
|
|
@@ -128,13 +128,13 @@ Static checkers are being run on the repository by the PR checker, and therefore
|
|
|
128
128
|
|
|
129
129
|
#### Linter
|
|
130
130
|
|
|
131
|
-
`ruff` is the linter of choice for this repository. Additionally, `
|
|
131
|
+
`ruff` is the linter of choice for this repository. Additionally, `pydoclint` is used to check docstrings content (arguments, returns, etc.). As `pydoclint` has limited configuration capabilities when it comes to choosing linted files, `flake8` is used as `pydoclint`'s wrapper.
|
|
132
132
|
|
|
133
133
|
To lint all python code use the `ruff .` and `flake8` commands in the main folder of the repo.
|
|
134
134
|
|
|
135
135
|
Full linting reports from both tools will be written to standard output.
|
|
136
136
|
|
|
137
|
-
`flake8` and `
|
|
137
|
+
`flake8` and `pydoclint` configuration is in the `.flake8` file.
|
|
138
138
|
|
|
139
139
|
`ruff` configuration is in the `ruff.toml` file.
|
|
140
140
|
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "panda-pytest-assertions"
|
|
3
|
+
dynamic = ["version"]
|
|
3
4
|
description = "Complex assertions that can be used when writing test with pytest"
|
|
4
|
-
|
|
5
|
-
authors = [
|
|
6
|
-
{ name = "Cyber Panda", email = "krunchfrompoland@gmail.com" },
|
|
7
|
-
]
|
|
5
|
+
authors = [{ name = "Cyber Panda", email = "krunchfrompoland@gmail.com" }]
|
|
8
6
|
license = "Apache-2.0"
|
|
9
7
|
readme = "README.md"
|
|
10
8
|
requires-python = ">=3.10,<4.0"
|
|
@@ -13,19 +11,9 @@ dependencies = [
|
|
|
13
11
|
"pyyaml >=6.0.1,<7",
|
|
14
12
|
]
|
|
15
13
|
|
|
16
|
-
[project.urls]
|
|
17
|
-
homepage = "https://github.com/KRunchPL/panda-pytest-assertions"
|
|
18
|
-
repository = "https://github.com/KRunchPL/panda-pytest-assertions"
|
|
19
|
-
documentation = "https://github.com/KRunchPL/panda-pytest-assertions"
|
|
20
|
-
|
|
21
|
-
[tool.hatch.build.targets.wheel]
|
|
22
|
-
packages = [
|
|
23
|
-
"src/panda_pytest_assertions",
|
|
24
|
-
]
|
|
25
|
-
|
|
26
14
|
[dependency-groups]
|
|
27
15
|
dev = [
|
|
28
|
-
"
|
|
16
|
+
"pydoclint",
|
|
29
17
|
"flake8",
|
|
30
18
|
"mypy",
|
|
31
19
|
"pytest-cov",
|
|
@@ -40,6 +28,22 @@ docs = [
|
|
|
40
28
|
"mike >=2.1.3,<3",
|
|
41
29
|
]
|
|
42
30
|
|
|
31
|
+
[project.urls]
|
|
32
|
+
homepage = "https://github.com/KRunchPL/panda-pytest-assertions"
|
|
33
|
+
repository = "https://github.com/KRunchPL/panda-pytest-assertions"
|
|
34
|
+
documentation = "https://github.com/KRunchPL/panda-pytest-assertions"
|
|
35
|
+
|
|
36
|
+
[tool.hatch.build.targets.wheel]
|
|
37
|
+
packages = ["src/panda_pytest_assertions"]
|
|
38
|
+
|
|
39
|
+
[tool.hatch.version]
|
|
40
|
+
scheme = "semver"
|
|
41
|
+
path = "version.txt"
|
|
42
|
+
pattern = "(?P<version>.*)"
|
|
43
|
+
|
|
43
44
|
[build-system]
|
|
44
|
-
requires = ["hatchling"]
|
|
45
|
+
requires = ["hatchling", "hatch-semver"]
|
|
45
46
|
build-backend = "hatchling.build"
|
|
47
|
+
|
|
48
|
+
[tool.uv]
|
|
49
|
+
system-certs = true
|
|
@@ -8,7 +8,7 @@ import pytest
|
|
|
8
8
|
class _Unset:
|
|
9
9
|
__instance: '_Unset | None' = None
|
|
10
10
|
|
|
11
|
-
def __new__(cls) -> '_Unset':
|
|
11
|
+
def __new__(cls) -> '_Unset': # noqa: PYI034
|
|
12
12
|
if cls.__instance is None:
|
|
13
13
|
cls.__instance = object.__new__(cls)
|
|
14
14
|
return cls.__instance
|
|
@@ -43,7 +43,7 @@ class ExceptionMatch(NamedTuple):
|
|
|
43
43
|
@contextmanager
|
|
44
44
|
def assert_context( # noqa: D418
|
|
45
45
|
*,
|
|
46
|
-
exception: type[BaseException] | ExceptionMatch |
|
|
46
|
+
exception: type[BaseException] | ExceptionMatch | _Unset | None = ...,
|
|
47
47
|
result: Any | _Unset = ..., # noqa: ANN401
|
|
48
48
|
) -> Generator[AssertContext, None, None]:
|
|
49
49
|
"""
|
|
@@ -99,7 +99,7 @@ def assert_context( # noqa: D418
|
|
|
99
99
|
@contextmanager
|
|
100
100
|
def assert_context(
|
|
101
101
|
*,
|
|
102
|
-
exception: type[BaseException] | ExceptionMatch |
|
|
102
|
+
exception: type[BaseException] | ExceptionMatch | _Unset | None = _UNSET,
|
|
103
103
|
result: Any | _Unset = _UNSET,
|
|
104
104
|
behaviour: type[BaseException] | ExceptionMatch | Any | _Unset = _UNSET,
|
|
105
105
|
) -> Generator[AssertContext, None, None]:
|