athena-python-pptx 0.14.3__tar.gz → 0.16.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.16.0}/AGENTS.md +1 -1
  2. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/API_PARITY_REPORT.md +2 -2
  3. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/CHANGELOG.md +1145 -0
  4. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/DEV-GUIDE.md +7 -8
  5. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/PARITY_QUESTIONS.md +21 -28
  6. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/PKG-INFO +1 -1
  7. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/docs/API_PARITY_EXCEPTIONS.md +302 -154
  8. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/docs/athena-api.md +6 -2
  9. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/__init__.py +12 -11
  10. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/_ptc.py +75 -11
  11. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/_unsupported.py +97 -11
  12. athena_python_pptx-0.16.0/pptx/action.py +240 -0
  13. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/batching.py +705 -100
  14. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/chart/data.py +48 -9
  15. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/client.py +470 -53
  16. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/commands.py +281 -109
  17. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/enum/lang.py +77 -4
  18. athena_python_pptx-0.16.0/pptx/generated/__init__.py +1 -0
  19. athena_python_pptx-0.16.0/pptx/generated/autoshape_types.py +373 -0
  20. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/kit.py +1 -1
  21. athena_python_pptx-0.16.0/pptx/parts/image.py +424 -0
  22. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/presentation.py +374 -222
  23. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/shapes/__init__.py +3687 -1462
  24. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/slides.py +687 -141
  25. athena_python_pptx-0.16.0/pptx/spec.py +36 -0
  26. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/text/__init__.py +959 -276
  27. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/typing.py +9 -1
  28. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pyproject.toml +1 -1
  29. athena_python_pptx-0.14.3/PUBLISHING.md +0 -177
  30. athena_python_pptx-0.14.3/pptx/action.py +0 -137
  31. athena_python_pptx-0.14.3/pptx/parts/image.py +0 -186
  32. athena_python_pptx-0.14.3/pptx/spec.py +0 -28
  33. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/.gitignore +0 -0
  34. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/CLAUDE.md +0 -0
  35. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/README.md +0 -0
  36. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/docs/athena-api.json +0 -0
  37. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/_athena_extension.py +0 -0
  38. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/_citations.py +0 -0
  39. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/_references.py +0 -0
  40. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/chart/__init__.py +0 -0
  41. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/chart/axis.py +0 -0
  42. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/chart/category.py +0 -0
  43. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/chart/chart.py +0 -0
  44. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/chart/datalabel.py +0 -0
  45. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/chart/legend.py +0 -0
  46. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/chart/marker.py +0 -0
  47. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/chart/plot.py +0 -0
  48. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/chart/point.py +0 -0
  49. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/chart/series.py +0 -0
  50. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/chart/xlsx.py +0 -0
  51. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/decorators.py +0 -0
  52. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/dml/__init__.py +0 -0
  53. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/dml/chtfmt.py +0 -0
  54. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/dml/color.py +0 -0
  55. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/dml/effect.py +0 -0
  56. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/dml/fill.py +0 -0
  57. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/dml/line.py +0 -0
  58. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/docgen.py +0 -0
  59. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/enum/__init__.py +0 -0
  60. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/enum/action.py +0 -0
  61. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/enum/chart.py +0 -0
  62. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/enum/dml.py +0 -0
  63. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/enum/shapes.py +0 -0
  64. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/enum/text.py +0 -0
  65. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/errors.py +0 -0
  66. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/exc.py +0 -0
  67. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/media.py +0 -0
  68. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/oxml/__init__.py +0 -0
  69. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/oxml/ns.py +0 -0
  70. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/package.py +0 -0
  71. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/parts/__init__.py +0 -0
  72. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/parts/_base.py +0 -0
  73. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/parts/chart.py +0 -0
  74. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/parts/coreprops.py +0 -0
  75. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/parts/embeddedpackage.py +0 -0
  76. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/parts/media.py +0 -0
  77. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/parts/presentation.py +0 -0
  78. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/parts/slide.py +0 -0
  79. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/shapes/autoshape.py +0 -0
  80. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/shapes/base.py +0 -0
  81. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/shapes/connector.py +0 -0
  82. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/shapes/freeform.py +0 -0
  83. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/shapes/graphfrm.py +0 -0
  84. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/shapes/group.py +0 -0
  85. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/shapes/picture.py +0 -0
  86. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/shapes/placeholder.py +0 -0
  87. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/shapes/shapetree.py +0 -0
  88. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/shared.py +0 -0
  89. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/slide.py +0 -0
  90. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/table.py +0 -0
  91. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/text/fonts.py +0 -0
  92. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/text/layout.py +0 -0
  93. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/text/text.py +0 -0
  94. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/types.py +0 -0
  95. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/units.py +0 -0
  96. {athena_python_pptx-0.14.3 → athena_python_pptx-0.16.0}/pptx/util.py +0 -0
@@ -124,7 +124,7 @@ This is a **REST API client** that mimics the python-pptx API. Instead of manipu
124
124
  - State is synchronized via the PPTX Studio collaboration layer (Yjs)
125
125
  - **Programmatic Tool Calling (PTC):** every `CommandBuffer.add` and
126
126
  `flush` emits begin/end events to agora via `pptx/_ptc.py` when run
127
- inside a Daytona sandbox with `ATHENA_PTC_URL` set. Each method call
127
+ inside an Athena sandbox with `ATHENA_PTC_URL` set. Each method call
128
128
  surfaces as a nested sub-tool-card under the parent
129
129
  `run_python_code` tool. See
130
130
  [`docs/PROGRAMMATIC_TOOL_CALLING_GUIDE.md`](../../docs/PROGRAMMATIC_TOOL_CALLING_GUIDE.md)
@@ -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 |