athena-python-docx 0.15.4__tar.gz → 0.15.5__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.
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/PKG-INFO +1 -1
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/__init__.py +1 -1
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/_timeouts.py +7 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/pyproject.toml +1 -1
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_buffer.py +18 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_http_transport.py +42 -1
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/.gitignore +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/CLAUDE.md +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/DOCX_EXEC_LAB.md +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/README.md +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/_athena_extension.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/_batching.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/_buffer.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/_execution.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/_http.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/_http_doc.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/_image_utils.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/_postproc.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/_ptc.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/_table_styles.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/api.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/bookmarks.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/charts.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/client.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/commands.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/comments.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/document.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/enum/__init__.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/enum/section.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/enum/style.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/enum/table.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/enum/text.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/errors.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/exceptions.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/fields.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/footnotes.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/math.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/opc/__init__.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/opc/coreprops.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/oxml/__init__.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/revisions.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/sdt.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/section.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/session.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/settings.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/shape.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/shared.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/styles/__init__.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/styles/style.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/styles/styles.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/table.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/text/__init__.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/text/font.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/text/hyperlink.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/text/pagebreak.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/text/paragraph.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/text/parfmt.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/text/run.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/text/tabstops.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/toc.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/docx/typing.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/scripts/docx_exec_lab.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/scripts/docx_exec_lab_examples/fast_table_fill.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/scripts/docx_exec_lab_examples/find_replace_literal.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/scripts/docx_exec_lab_server.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/scripts/publish.sh +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/scripts/release.sh +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/scripts/round_trip_smoke.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/scripts/smoke_test_block_not_found.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/scripts/validate_find_replace_asset.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/__init__.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/conftest.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/METHODOLOGY.md +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/README.md +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/__init__.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/ab_probe_cases.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/ab_probe_runner.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/auto_gen_cases.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/binary_round_trip.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/cases.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/complex_cases.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/coverage_report.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/extract.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/extreme_cases.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/fake_session.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/firm_templates/README.md +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/firm_templates/__init__.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/firm_templates/_runner.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/firm_templates/extractor.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/firm_templates/test_pw_corpus.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/firm_templates/test_pw_research_digest.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/local_runner.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/mega_cases.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshot.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/01_basic_paragraph.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/02_multiple_headings.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/03_runs_with_formatting.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/04_font_name_and_size.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/05_font_color_rgb.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/06_font_character_properties.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/07_font_subscript_superscript.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/08_font_highlight.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/09_paragraph_alignment.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/100_table_negative_indexing.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/101_table_cells_flat_iteration.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/102_text_with_embedded_special_chars.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/104_core_properties_datetime.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/105_default_one_section.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/106_heading_paragraph_format.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/107_varying_row_heights.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/10_paragraph_indents.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/11_paragraph_spacing.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/12_paragraph_keep_options.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/13_paragraph_tab_stops.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/14_run_add_tab_and_break.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/15_run_add_break_page.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/16_paragraph_clear_and_insert_before.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/17_table_basic.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/18_table_cell_text.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/19_table_row_column_sizing.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/20_table_cell_vertical_alignment.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/21_table_alignment_and_autofit.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/22_table_cell_paragraphs_iteration.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/24_table_add_row_column.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/25_table_merge_cells.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/26_section_page_setup.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/27_section_margins.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/28_section_add_new.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/29_section_headers_linked.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/30_styles_iteration.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/31_styles_lookup_and_default.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/32_styles_add_paragraph_style.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/33_core_properties_set_and_get.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/34_inline_shapes_iterate_empty.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/35_full_report.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/36_replace_text_in_paragraph.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/37_iterate_runs_and_format_all_bold.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/38_font_all_properties.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/39_large_body_100_paragraphs.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/40_large_table_10x10.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/41_unicode_and_emoji.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/42_very_long_paragraph.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/43_paragraph_text_round_trip.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/44_paragraph_alignment_round_trip.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/45_cell_text_round_trip.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/46_run_text_setter_round_trip.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/47_font_size_round_trip.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/48_font_color_round_trip.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/49_resume_layout.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/50_multi_section_doc.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/52_iterate_everything.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/53_apply_style_to_paragraphs.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/54_empty_everything.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/55_single_character_runs.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/56_everything_in_one.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/57_runs_after_multiple_text_appends.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/58_modify_runs_in_place.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/59_indent_round_trip.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/60_space_round_trip.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/61_cell_paragraph_with_runs.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/62_many_cell_paragraphs.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/63_table_style_round_trip.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/64_many_sections.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/65_20x20_table_formatted.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/66_toc_like_structure.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/67_paragraph_insert_before_chain.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/68_invoice.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/69_newsletter.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/70_add_and_iterate_back.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/71_academic_paper.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/72_legal_contract.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/73_form_with_many_tables.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/74_paragraph_with_10_runs.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/75_paragraph_negative_first_line_indent.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/76_rgbcolor_from_string.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/77_length_unit_conversions.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/78_paragraph_copy_style.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/79_bulk_cell_formatting.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/80_apply_style_after_add_run.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/81_multi_page_with_breaks.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/82_add_text_on_existing_run.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/83_clear_then_repopulate_paragraph.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/84_table_reread_row_count.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/85_header_footer_access.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/86_font_read_unset_returns_none.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/87_500_paragraph_doc.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/88_mixed_content_iteration.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/89_alignment_clear_via_none.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/90_cell_add_paragraph_styled.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/91_many_small_tables.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/92_margins_every_section.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/93_font_bool_reads_after_set.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/94_page_break_before_paragraph.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/95_paragraph_hyperlinks_empty.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/96_paragraph_contains_page_break.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/97_document_styles_by_key.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/98_style_contains_check.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/99_run_add_picture_from_bytes.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex02_unicode_everywhere.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex03_1000_paragraphs.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex04_50x50_table.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex05_long_text_in_cell.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex06_hundred_tiny_runs.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex07_every_font_boolean.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex08_many_continuous_sections.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex09_many_tab_stops.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex10_complex_bom.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex11_banded_rows_formatting.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex12_section_reconfigure.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex13_cell_with_10_paragraphs.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex14_styled_report_table.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex15_paragraph_all_format_props.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex16_runs_interleaved_with_breaks.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex17_all_break_kinds.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex18_read_back_large_doc.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex19_mutate_all_runs.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/ex20_kitchen_sink_v2.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/mega01_book_chapter.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/mega02_research_proposal.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/mega03_financial_statement.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/mega04_recipe_card.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/mega05_user_manual.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/mega06_complex_newsletter.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/mega07_budget_spreadsheet.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/mega08_product_catalog.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/mega09_signed_contract.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/mega10_api_documentation.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw01_official_quickstart.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw02_paragraph_style_list.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw03_character_formatting.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw04_section_page_setup.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw05_toc_pattern.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw06_meeting_minutes.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw07_dense_formatting_demo.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw08_table_merged_header.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw09_bulk_run_iteration.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw10_colored_grid_table.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw11_header_text.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw12_first_page_footer.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw13_even_page_header.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/rw15_paragraph_style_instance.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/ours_spec.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/parity_crawl.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/parity_diff.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/real_world_cases.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/round_trip_tests.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/runner.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/stock_spec.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/test_e2e_against_staging.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/parity/README.md +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/parity/__init__.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/parity/baseline_gaps.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/parity/compare.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/parity/intentional_deviations.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/parity/introspect.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/parity/reports/GAP_ANALYSIS.md +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/parity/reports/gap_report.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/parity/run_parity.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/parity/snapshots/athena_latest.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/parity/snapshots/upstream_python_docx_1.2.0.json +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/parity/test_parity_gap.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_add_section_extract_items.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_athena_extensions_contract.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_athena_extensions_registry.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_batching_perf.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_block_not_found_error.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_cell_add_paragraph_wire_shape.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_cell_add_table_not_supported.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_cell_inner_add_hyperlink_stash.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_cell_inner_add_run_via_cell_insert.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_cell_inner_format_stash.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_cell_inner_run_format_stash.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_cell_inner_run_guard.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_cell_text_plain_fastpath.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_cell_text_replace_semantics.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_collapsed_range_format.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_command_dataclasses.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_commands.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_comments.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_document_asset_id_property.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_document_clear.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_document_create.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_document_create_from_template.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_document_factory_validation.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_docx_exec_lab.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_docx_exec_lab_server.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_e2e_partial_failure_cascade.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_execution_scope.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_find_replace_session_open.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_hyperlink_coalescing.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_insert_deferred.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_iter_inner_content.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_list_styles.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_merged_cell_secondary_slot.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_merged_cells.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_oxml_shim.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_paragraph_text_len_cache.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_parity_misc.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_parity_round2.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_partial_failure_cascade.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_phase_a_behavior.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_phase_b_headers_footers.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_phase_c_tables.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_postproc_cell_format_rewrite.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_postproc_cell_run_format_rewrite.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_postproc_ref_restore.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_pr19766_review_fixes.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_ptc.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_python_docx_api_parity.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_revisions.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_add_paragraph_style.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_add_picture.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_add_run.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_cell_add_paragraph.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_comments_add_comment.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_comments_get.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_document_audit.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_document_element.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_enum_section.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_font_audit.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_header_footer.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_hyperlink.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_inline_shape.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_insert_paragraph_before.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_misc.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_paragraph_strict.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_paragraph_style.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_paragraph_style_strict.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_parfmt.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_row_col_cell.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_run_add_break.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_run_bool_setters.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_run_style.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_run_style_strict.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_run_text.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_run_underline.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_section_audit.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_section_dimensions.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_section_onoff.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_settings.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_shared_audit.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_style.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_styles.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_table_audit.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_table_cell.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_table_dimensions.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_silent_stub_table_layout.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_smoke_integration.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_style_acceptance.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_style_font.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_style_setters_contract.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_table_set_cell_perf.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_table_style_id_resolution.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_temporarily_unavailable.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_validate_find_replace_asset_script.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_wire_contract.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_xml_attr_guard.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/test_zod_wire_contract.py +0 -0
- {athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: athena-python-docx
|
|
3
|
-
Version: 0.15.
|
|
3
|
+
Version: 0.15.5
|
|
4
4
|
Summary: Drop-in replacement for python-docx that connects to Athena's Superdoc/Keryx collaborative document stack
|
|
5
5
|
Project-URL: Homepage, https://athenaintelligence.ai
|
|
6
6
|
Author-email: Athena Intelligence <engineering@athenaintelligence.ai>
|
|
@@ -13,6 +13,13 @@ LONG_RUNNING_COMMAND_TIMEOUT_SECONDS: float = 300.0
|
|
|
13
13
|
|
|
14
14
|
_LONG_RUNNING_COMMAND_TYPES: frozenset[str] = frozenset(
|
|
15
15
|
{
|
|
16
|
+
# The first write to a large imported document can spend close to a
|
|
17
|
+
# minute opening/syncing the server-side SuperDoc session before the
|
|
18
|
+
# block creation itself is applied. These are ordinary agent primitives
|
|
19
|
+
# for "append a summary/TLDR", so give the first batch enough room.
|
|
20
|
+
"CreateHeading",
|
|
21
|
+
"CreateParagraph",
|
|
22
|
+
"CreateSectionBreak",
|
|
16
23
|
"FindReplace",
|
|
17
24
|
# Plain ``cell.text = value`` table fills are buffered as TableSetCell
|
|
18
25
|
# commands. On dense legal documents, SuperDoc can spend well over the
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "athena-python-docx"
|
|
7
|
-
version = "0.15.
|
|
7
|
+
version = "0.15.5"
|
|
8
8
|
description = "Drop-in replacement for python-docx that connects to Athena's Superdoc/Keryx collaborative document stack"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -27,6 +27,7 @@ from docx._timeouts import DEFAULT_OP_TIMEOUT_SECONDS, LONG_RUNNING_COMMAND_TIME
|
|
|
27
27
|
from docx.commands import (
|
|
28
28
|
BlocksList,
|
|
29
29
|
Command,
|
|
30
|
+
CreateHeading,
|
|
30
31
|
CreateParagraph,
|
|
31
32
|
FormatApply,
|
|
32
33
|
Replace,
|
|
@@ -115,6 +116,23 @@ def test_pending_timeout_extends_for_table_set_cell_batches() -> None:
|
|
|
115
116
|
buf.close()
|
|
116
117
|
|
|
117
118
|
|
|
119
|
+
def test_pending_timeout_extends_for_block_creation_batches() -> None:
|
|
120
|
+
fake = _FakeClient()
|
|
121
|
+
buf = CommandBuffer(fake, "asset_1", auto_flush_seconds=0.0)
|
|
122
|
+
|
|
123
|
+
buf.call(
|
|
124
|
+
CreateHeading(
|
|
125
|
+
text="TLDR",
|
|
126
|
+
level=1,
|
|
127
|
+
at={"kind": "documentEnd"},
|
|
128
|
+
client_node_id="h_test",
|
|
129
|
+
)
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
assert buf.pending_timeout_seconds == LONG_RUNNING_COMMAND_TIMEOUT_SECONDS
|
|
133
|
+
buf.close()
|
|
134
|
+
|
|
135
|
+
|
|
118
136
|
def test_session_pending_timeout_reads_command_buffer_budget() -> None:
|
|
119
137
|
from docx.client import Session
|
|
120
138
|
|
|
@@ -17,7 +17,7 @@ import requests
|
|
|
17
17
|
from docx import __version__ as SDK_VERSION
|
|
18
18
|
from docx._http_doc import HttpClient, HttpDocHandle
|
|
19
19
|
from docx._timeouts import LONG_RUNNING_COMMAND_TIMEOUT_SECONDS
|
|
20
|
-
from docx.commands import FindReplace, TableSetCell
|
|
20
|
+
from docx.commands import CreateParagraph, FindReplace, TableSetCell
|
|
21
21
|
from docx.errors import AuthenticationError, DocxError, SessionError
|
|
22
22
|
|
|
23
23
|
|
|
@@ -145,6 +145,47 @@ def test_table_set_cell_batch_uses_long_running_http_timeout() -> None:
|
|
|
145
145
|
assert captured["timeout"] == LONG_RUNNING_COMMAND_TIMEOUT_SECONDS
|
|
146
146
|
|
|
147
147
|
|
|
148
|
+
def test_block_creation_batch_uses_long_running_http_timeout() -> None:
|
|
149
|
+
captured: dict[str, Any] = {}
|
|
150
|
+
|
|
151
|
+
def _capture(url: str, **kwargs: Any) -> _FakeResponse: # noqa: ARG001
|
|
152
|
+
captured["timeout"] = kwargs["timeout"]
|
|
153
|
+
return _FakeResponse(
|
|
154
|
+
status_code=200,
|
|
155
|
+
body=_ok_body(
|
|
156
|
+
[
|
|
157
|
+
{
|
|
158
|
+
"index": 0,
|
|
159
|
+
"type": "CreateParagraph",
|
|
160
|
+
"result": {
|
|
161
|
+
"client_node_id": "p_test",
|
|
162
|
+
"real_node_id": "paragraph_real",
|
|
163
|
+
},
|
|
164
|
+
}
|
|
165
|
+
],
|
|
166
|
+
),
|
|
167
|
+
)
|
|
168
|
+
|
|
169
|
+
client = HttpClient(base_url="https://example.com", api_key="bg_key")
|
|
170
|
+
|
|
171
|
+
with patch.object(client._session, "post", side_effect=_capture):
|
|
172
|
+
result = client.execute_batch(
|
|
173
|
+
"asset_test",
|
|
174
|
+
[
|
|
175
|
+
CreateParagraph(
|
|
176
|
+
text="DLDR",
|
|
177
|
+
at={"kind": "documentEnd"},
|
|
178
|
+
client_node_id="p_test",
|
|
179
|
+
)
|
|
180
|
+
],
|
|
181
|
+
)
|
|
182
|
+
|
|
183
|
+
assert result == [
|
|
184
|
+
{"client_node_id": "p_test", "real_node_id": "paragraph_real"}
|
|
185
|
+
]
|
|
186
|
+
assert captured["timeout"] == LONG_RUNNING_COMMAND_TIMEOUT_SECONDS
|
|
187
|
+
|
|
188
|
+
|
|
148
189
|
def test_release_asset_posts_to_session_release_endpoint() -> None:
|
|
149
190
|
captured: dict[str, Any] = {}
|
|
150
191
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/scripts/smoke_test_block_not_found.py
RENAMED
|
File without changes
|
{athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/scripts/validate_find_replace_asset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/firm_templates/README.md
RENAMED
|
File without changes
|
{athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/firm_templates/__init__.py
RENAMED
|
File without changes
|
{athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/firm_templates/_runner.py
RENAMED
|
File without changes
|
{athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/firm_templates/extractor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{athena_python_docx-0.15.4 → athena_python_docx-0.15.5}/tests/fidelity/op_snapshots/68_invoice.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|