Add conformance test files for bpy.ops, bpy.types.Object, bpy.types.Context,
bpy.msgbus, and bpy.data from official Blender documentation for both 5.0 and
5.1. Generate a ContextDict TypedDict from Context properties so that
Context.copy() returns precisely typed values instead of dict[str, object],
fixing type errors when unpacking into temp_override().
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Enable memoryview() tests in 5.1 conformance (Python 3.13 supports __buffer__)
- Add test_mathutils_euler.py for 5.1 conformance
- Show Python version in conformance check output
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Qualify bare "object" as builtins.object in bpy.types to avoid shadowing
by Context.object and similar properties
- Use _Sequence alias import to fix mypy "collections.abc.Sequence not defined"
- Filter out variables that clash with submodule re-exports (e.g. bpy.app)
- Add 5.0 conformance tests from Blender 5.0 mathutils documentation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Conformance tests now live in conformance/<version>/*.py and are checked
against the corresponding stubs in dist/<version>/. Auto-detection only
runs versions that have both stubs and test files.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Widen bare mathutils type params (Vector, Euler, etc.) to also accept
Sequence[float], matching Blender's mathutils_array_parse C behavior
- Fix getset_descriptor readonly detection by probing __set__ on the
descriptor instead of checking fset (which doesn't exist on C descriptors)
- Accept int | slice keys in __getitem__/__setitem__/__delitem__
- Accept Sequence[element_type] values in __setitem__ for slice assignment
- Add mathutils overrides for Matrix.Translation and Matrix.Scale
- Extend apply_overrides to support ClassName.method_name keys
- Add conformance test files from Blender docs examples
- Disable reportUnusedExpression in conformance checks
Remaining known conformance issues:
- draw_handler_add missing from SpaceView3D
- Vector not nominally Sequence[float] (buffer protocol, swizzle setters)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add conformance test framework with poe conformance task
- Add test files for mathutils, bpy, and gpu API patterns
- Fix self param leaking into signatures from C method_descriptors
- Synthesize __iter__ for classes with __getitem__ but no explicit __iter__
- Add __iter__ runtime probing to discover Iterator[element_type]
- Add :raises to directive lookahead to fix rtype parsing
- Add 5.1 override for Matrix.Translation to accept Vector
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>