25 tests covering Shape, Diff, and NestedDiff: - Shape metaclass: model resolution, field extraction, nested detection, spec/pair building - Query: list, filter, nested relations, empty results, Pydantic serialization - Diff (new): detects all fields as changed - Diff (existing): no changes, single field, multiple fields, nonexistent ID - Diff (nested): created, updated, deleted, combined, nonexistent relation Fixes: - django-readers moved from optional to core dependency - Shape import lazy-loaded via __getattr__ (django_readers imports contenttypes which can't happen during apps.populate()) - Added Author, Book, Tag test models Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
47 lines
884 B
TOML
47 lines
884 B
TOML
[project]
|
|
name = "djarea"
|
|
version = "1.0.1"
|
|
description = "Django + React server functions framework"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"django>=5.0",
|
|
"django-ninja>=1.0",
|
|
"django-readers>=2.0",
|
|
"pydantic>=2.0",
|
|
"PyJWT>=2.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
channels = [
|
|
"channels>=4.0",
|
|
"channels-redis>=4.0",
|
|
]
|
|
allauth = [
|
|
"django-allauth>=65.0",
|
|
]
|
|
webauthn = [
|
|
"fido2>=2.0",
|
|
]
|
|
shapes = [
|
|
"django-readers>=2.0",
|
|
]
|
|
dev = [
|
|
"pytest>=8.0",
|
|
"pytest-django>=4.9",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/djarea"]
|
|
|
|
[tool.pytest.ini_options]
|
|
DJANGO_SETTINGS_MODULE = "tests.settings"
|
|
pythonpath = ["src", "."]
|
|
testpaths = ["src/djarea/tests"]
|
|
python_classes = ["*Tests", "*Test", "Test*"]
|
|
python_functions = ["test_*"]
|