dndwright 0.2.0__tar.gz → 0.3.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.
Files changed (34) hide show
  1. {dndwright-0.2.0 → dndwright-0.3.0}/.github/workflows/publish.yml +2 -0
  2. {dndwright-0.2.0 → dndwright-0.3.0}/PKG-INFO +1 -1
  3. {dndwright-0.2.0 → dndwright-0.3.0}/pyproject.toml +1 -1
  4. {dndwright-0.2.0 → dndwright-0.3.0}/tests/test_api_contract.py +13 -0
  5. {dndwright-0.2.0 → dndwright-0.3.0}/.github/workflows/ci.yml +0 -0
  6. {dndwright-0.2.0 → dndwright-0.3.0}/.gitignore +0 -0
  7. {dndwright-0.2.0 → dndwright-0.3.0}/CHANGELOG.md +0 -0
  8. {dndwright-0.2.0 → dndwright-0.3.0}/LICENSE +0 -0
  9. {dndwright-0.2.0 → dndwright-0.3.0}/NOTICE +0 -0
  10. {dndwright-0.2.0 → dndwright-0.3.0}/README.md +0 -0
  11. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/__init__.py +0 -0
  12. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/content/__init__.py +0 -0
  13. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/content/classes.json +0 -0
  14. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/content/creatures.json +0 -0
  15. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/content/generate.py +0 -0
  16. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/content/magic_items.json +0 -0
  17. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/content/species.json +0 -0
  18. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/ontology/__init__.py +0 -0
  19. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/ontology/dnd.yaml +0 -0
  20. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/ontology/loader.py +0 -0
  21. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/rules/__init__.py +0 -0
  22. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/rules/adapters.py +0 -0
  23. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/rules/assembler.py +0 -0
  24. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/rules/character_evaluator.py +0 -0
  25. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/rules/components.py +0 -0
  26. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/rules/dnd_5e_2024.py +0 -0
  27. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/rules/evaluator.py +0 -0
  28. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/rules/lookup_tables.py +0 -0
  29. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/rules/operations.py +0 -0
  30. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/rules/schema.py +0 -0
  31. {dndwright-0.2.0 → dndwright-0.3.0}/src/dndwright/rules/theme_scaling.py +0 -0
  32. {dndwright-0.2.0 → dndwright-0.3.0}/tests/test_content.py +0 -0
  33. {dndwright-0.2.0 → dndwright-0.3.0}/tests/test_engine.py +0 -0
  34. {dndwright-0.2.0 → dndwright-0.3.0}/tests/test_ontology.py +0 -0
@@ -8,6 +8,7 @@ name: Publish to PyPI
8
8
  on:
9
9
  release:
10
10
  types: [published]
11
+ workflow_dispatch: # allow manual publish of the current main (version in pyproject)
11
12
 
12
13
  jobs:
13
14
  build:
@@ -32,6 +33,7 @@ jobs:
32
33
  environment: pypi # must match the "Environment name" in PyPI's publisher config
33
34
  permissions:
34
35
  id-token: write # REQUIRED for Trusted Publishing (OIDC)
36
+ contents: read
35
37
  steps:
36
38
  - uses: actions/download-artifact@v4
37
39
  with:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dndwright
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: Domain-neutral D&D 5e (2024) rules & character-sheet computation engine: a data-driven DAG of formulas (ability mods, proficiency, spell DC/slots, HP, AC).
5
5
  Project-URL: Homepage, https://github.com/sligara7/dndwright
6
6
  Project-URL: Repository, https://github.com/sligara7/dndwright
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "dndwright"
7
- version = "0.2.0"
7
+ version = "0.3.0"
8
8
  description = "Domain-neutral D&D 5e (2024) rules & character-sheet computation engine: a data-driven DAG of formulas (ability mods, proficiency, spell DC/slots, HP, AC)."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -42,6 +42,19 @@ class TestPublicSurface:
42
42
  assert isinstance(dndwright.__version__, str)
43
43
  assert dndwright.__version__.count(".") >= 2
44
44
 
45
+ def test_version_matches_package_metadata(self):
46
+ # __version__ must match the installed (pyproject) version, so a missed
47
+ # bump can't ship a mislabelled wheel. Skips when run from source.
48
+ import importlib.metadata as md
49
+
50
+ try:
51
+ installed = md.version("dndwright")
52
+ except md.PackageNotFoundError:
53
+ import pytest
54
+
55
+ pytest.skip("dndwright not installed; running from source tree")
56
+ assert installed == dndwright.__version__
57
+
45
58
 
46
59
  class TestKeySignatures:
47
60
  def test_evaluate_character_takes_a_mapping(self):
File without changes
File without changes
File without changes
File without changes
File without changes