athena-python-pptx 0.14.3__tar.gz → 0.15.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 (96) hide show
  1. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/API_PARITY_REPORT.md +2 -2
  2. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/CHANGELOG.md +1114 -0
  3. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/PARITY_QUESTIONS.md +21 -28
  4. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/PKG-INFO +1 -1
  5. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/docs/API_PARITY_EXCEPTIONS.md +273 -134
  6. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/__init__.py +11 -10
  7. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/_ptc.py +74 -8
  8. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/_unsupported.py +97 -11
  9. athena_python_pptx-0.15.0/pptx/action.py +240 -0
  10. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/batching.py +703 -99
  11. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/chart/data.py +48 -9
  12. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/client.py +470 -53
  13. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/commands.py +281 -109
  14. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/enum/lang.py +77 -4
  15. athena_python_pptx-0.15.0/pptx/generated/__init__.py +1 -0
  16. athena_python_pptx-0.15.0/pptx/generated/autoshape_types.py +373 -0
  17. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/kit.py +1 -1
  18. athena_python_pptx-0.15.0/pptx/parts/image.py +424 -0
  19. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/presentation.py +303 -187
  20. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/shapes/__init__.py +3685 -1460
  21. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/slides.py +625 -135
  22. athena_python_pptx-0.15.0/pptx/spec.py +36 -0
  23. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/text/__init__.py +959 -276
  24. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/typing.py +9 -1
  25. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pyproject.toml +1 -1
  26. athena_python_pptx-0.14.3/pptx/action.py +0 -137
  27. athena_python_pptx-0.14.3/pptx/parts/image.py +0 -186
  28. athena_python_pptx-0.14.3/pptx/spec.py +0 -28
  29. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/.gitignore +0 -0
  30. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/AGENTS.md +0 -0
  31. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/CLAUDE.md +0 -0
  32. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/DEV-GUIDE.md +0 -0
  33. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/PUBLISHING.md +0 -0
  34. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/README.md +0 -0
  35. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/docs/athena-api.json +0 -0
  36. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/docs/athena-api.md +0 -0
  37. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/_athena_extension.py +0 -0
  38. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/_citations.py +0 -0
  39. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/_references.py +0 -0
  40. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/chart/__init__.py +0 -0
  41. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/chart/axis.py +0 -0
  42. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/chart/category.py +0 -0
  43. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/chart/chart.py +0 -0
  44. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/chart/datalabel.py +0 -0
  45. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/chart/legend.py +0 -0
  46. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/chart/marker.py +0 -0
  47. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/chart/plot.py +0 -0
  48. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/chart/point.py +0 -0
  49. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/chart/series.py +0 -0
  50. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/chart/xlsx.py +0 -0
  51. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/decorators.py +0 -0
  52. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/dml/__init__.py +0 -0
  53. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/dml/chtfmt.py +0 -0
  54. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/dml/color.py +0 -0
  55. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/dml/effect.py +0 -0
  56. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/dml/fill.py +0 -0
  57. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/dml/line.py +0 -0
  58. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/docgen.py +0 -0
  59. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/enum/__init__.py +0 -0
  60. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/enum/action.py +0 -0
  61. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/enum/chart.py +0 -0
  62. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/enum/dml.py +0 -0
  63. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/enum/shapes.py +0 -0
  64. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/enum/text.py +0 -0
  65. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/errors.py +0 -0
  66. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/exc.py +0 -0
  67. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/media.py +0 -0
  68. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/oxml/__init__.py +0 -0
  69. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/oxml/ns.py +0 -0
  70. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/package.py +0 -0
  71. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/parts/__init__.py +0 -0
  72. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/parts/_base.py +0 -0
  73. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/parts/chart.py +0 -0
  74. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/parts/coreprops.py +0 -0
  75. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/parts/embeddedpackage.py +0 -0
  76. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/parts/media.py +0 -0
  77. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/parts/presentation.py +0 -0
  78. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/parts/slide.py +0 -0
  79. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/shapes/autoshape.py +0 -0
  80. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/shapes/base.py +0 -0
  81. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/shapes/connector.py +0 -0
  82. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/shapes/freeform.py +0 -0
  83. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/shapes/graphfrm.py +0 -0
  84. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/shapes/group.py +0 -0
  85. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/shapes/picture.py +0 -0
  86. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/shapes/placeholder.py +0 -0
  87. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/shapes/shapetree.py +0 -0
  88. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/shared.py +0 -0
  89. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/slide.py +0 -0
  90. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/table.py +0 -0
  91. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/text/fonts.py +0 -0
  92. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/text/layout.py +0 -0
  93. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/text/text.py +0 -0
  94. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/types.py +0 -0
  95. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/units.py +0 -0
  96. {athena_python_pptx-0.14.3 → athena_python_pptx-0.15.0}/pptx/util.py +0 -0
@@ -100,7 +100,7 @@ via Tranches R–W:
100
100
  | Picture | PASS (added v0.1.68 — Shape subclass for `isinstance(shape, Picture)`) |
101
101
  | Connector | PASS (added v0.1.68 — Shape subclass; `begin_connect` / `end_connect` methods) |
102
102
  | GroupShape | PASS (added v0.1.68 — Shape subclass; `.shapes` is empty pending child-parenting) |
103
- | ActionSetting | PASS (real adapter in v0.1.68 over the SDK's `ClickAction`; replaces `UnsupportedFeatureError` stub) |
103
+ | ActionSetting | PASS (`shape.click_action` returns it; reads match python-pptx 1.0.2 in `tests/test_click_action_parity.py`) |
104
104
  | Hyperlink | PASS |
105
105
 
106
106
  ## Intentionally Omitted (REST SDK Limitations)
@@ -119,7 +119,7 @@ The following members are now implemented at the SDK surface — every method is
119
119
  | Member | Implementation |
120
120
  |--------|----------------|
121
121
  | `Font.fill` | Returns ``_FontFillFormat`` proxy; ``fore_color`` delegates to ``Font.color`` |
122
- | `Image.dpi` | Derived from PIL when blob loaded, ``(72, 72)`` fallback |
122
+ | `Image.dpi`, `Image.size` | Read from the image header with Pillow's rules (no Pillow needed), ``(72, 72)`` / ``(0, 0)`` fallback |
123
123
  | `Slide.follow_master_background` | Getter + setter; emits ``SetSlideBackground`` with ``follow_master`` |
124
124
  | `SlideLayout.background`, `SlideMaster.background` | Returns ``_LayoutBackground`` proxy (read/write local; server-side patch op pending) |
125
125
  | `SlideLayout.iter_cloneable_placeholders` | Derived from placeholders, skipping latent types |