aspose-cells-foss 25.12.1__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 (74) hide show
  1. aspose_cells_foss-25.12.1/PKG-INFO +189 -0
  2. aspose_cells_foss-25.12.1/README.md +165 -0
  3. aspose_cells_foss-25.12.1/aspose/__init__.py +14 -0
  4. aspose_cells_foss-25.12.1/aspose/cells/__init__.py +31 -0
  5. aspose_cells_foss-25.12.1/aspose/cells/cell.py +350 -0
  6. aspose_cells_foss-25.12.1/aspose/cells/constants.py +44 -0
  7. aspose_cells_foss-25.12.1/aspose/cells/converters/__init__.py +13 -0
  8. aspose_cells_foss-25.12.1/aspose/cells/converters/csv_converter.py +55 -0
  9. aspose_cells_foss-25.12.1/aspose/cells/converters/json_converter.py +46 -0
  10. aspose_cells_foss-25.12.1/aspose/cells/converters/markdown_converter.py +453 -0
  11. aspose_cells_foss-25.12.1/aspose/cells/drawing/__init__.py +17 -0
  12. aspose_cells_foss-25.12.1/aspose/cells/drawing/anchor.py +172 -0
  13. aspose_cells_foss-25.12.1/aspose/cells/drawing/collection.py +233 -0
  14. aspose_cells_foss-25.12.1/aspose/cells/drawing/image.py +338 -0
  15. aspose_cells_foss-25.12.1/aspose/cells/formats.py +80 -0
  16. aspose_cells_foss-25.12.1/aspose/cells/formula/__init__.py +10 -0
  17. aspose_cells_foss-25.12.1/aspose/cells/formula/evaluator.py +360 -0
  18. aspose_cells_foss-25.12.1/aspose/cells/formula/functions.py +433 -0
  19. aspose_cells_foss-25.12.1/aspose/cells/formula/tokenizer.py +340 -0
  20. aspose_cells_foss-25.12.1/aspose/cells/io/__init__.py +27 -0
  21. aspose_cells_foss-25.12.1/aspose/cells/io/csv/__init__.py +8 -0
  22. aspose_cells_foss-25.12.1/aspose/cells/io/csv/reader.py +88 -0
  23. aspose_cells_foss-25.12.1/aspose/cells/io/csv/writer.py +98 -0
  24. aspose_cells_foss-25.12.1/aspose/cells/io/factory.py +138 -0
  25. aspose_cells_foss-25.12.1/aspose/cells/io/interfaces.py +48 -0
  26. aspose_cells_foss-25.12.1/aspose/cells/io/json/__init__.py +8 -0
  27. aspose_cells_foss-25.12.1/aspose/cells/io/json/reader.py +126 -0
  28. aspose_cells_foss-25.12.1/aspose/cells/io/json/writer.py +119 -0
  29. aspose_cells_foss-25.12.1/aspose/cells/io/md/__init__.py +8 -0
  30. aspose_cells_foss-25.12.1/aspose/cells/io/md/reader.py +161 -0
  31. aspose_cells_foss-25.12.1/aspose/cells/io/md/writer.py +334 -0
  32. aspose_cells_foss-25.12.1/aspose/cells/io/models.py +64 -0
  33. aspose_cells_foss-25.12.1/aspose/cells/io/xlsx/__init__.py +9 -0
  34. aspose_cells_foss-25.12.1/aspose/cells/io/xlsx/constants.py +312 -0
  35. aspose_cells_foss-25.12.1/aspose/cells/io/xlsx/image_writer.py +311 -0
  36. aspose_cells_foss-25.12.1/aspose/cells/io/xlsx/reader.py +284 -0
  37. aspose_cells_foss-25.12.1/aspose/cells/io/xlsx/writer.py +931 -0
  38. aspose_cells_foss-25.12.1/aspose/cells/plugins/__init__.py +6 -0
  39. aspose_cells_foss-25.12.1/aspose/cells/plugins/docling_backend/__init__.py +7 -0
  40. aspose_cells_foss-25.12.1/aspose/cells/plugins/docling_backend/backend.py +535 -0
  41. aspose_cells_foss-25.12.1/aspose/cells/plugins/markitdown_plugin/__init__.py +15 -0
  42. aspose_cells_foss-25.12.1/aspose/cells/plugins/markitdown_plugin/plugin.py +128 -0
  43. aspose_cells_foss-25.12.1/aspose/cells/range.py +210 -0
  44. aspose_cells_foss-25.12.1/aspose/cells/style.py +287 -0
  45. aspose_cells_foss-25.12.1/aspose/cells/utils/__init__.py +54 -0
  46. aspose_cells_foss-25.12.1/aspose/cells/utils/coordinates.py +68 -0
  47. aspose_cells_foss-25.12.1/aspose/cells/utils/exceptions.py +43 -0
  48. aspose_cells_foss-25.12.1/aspose/cells/utils/validation.py +102 -0
  49. aspose_cells_foss-25.12.1/aspose/cells/workbook.py +352 -0
  50. aspose_cells_foss-25.12.1/aspose/cells/worksheet.py +670 -0
  51. aspose_cells_foss-25.12.1/aspose_cells_foss.egg-info/PKG-INFO +189 -0
  52. aspose_cells_foss-25.12.1/aspose_cells_foss.egg-info/SOURCES.txt +72 -0
  53. aspose_cells_foss-25.12.1/aspose_cells_foss.egg-info/dependency_links.txt +1 -0
  54. aspose_cells_foss-25.12.1/aspose_cells_foss.egg-info/entry_points.txt +2 -0
  55. aspose_cells_foss-25.12.1/aspose_cells_foss.egg-info/requires.txt +6 -0
  56. aspose_cells_foss-25.12.1/aspose_cells_foss.egg-info/top_level.txt +1 -0
  57. aspose_cells_foss-25.12.1/pyproject.toml +40 -0
  58. aspose_cells_foss-25.12.1/setup.cfg +4 -0
  59. aspose_cells_foss-25.12.1/tests/test_advanced_converters.py +64 -0
  60. aspose_cells_foss-25.12.1/tests/test_advanced_features.py +639 -0
  61. aspose_cells_foss-25.12.1/tests/test_comprehensive_core.py +1009 -0
  62. aspose_cells_foss-25.12.1/tests/test_comprehensive_formulas.py +659 -0
  63. aspose_cells_foss-25.12.1/tests/test_comprehensive_io.py +777 -0
  64. aspose_cells_foss-25.12.1/tests/test_comprehensive_workbook.py +394 -0
  65. aspose_cells_foss-25.12.1/tests/test_comprehensive_writers.py +502 -0
  66. aspose_cells_foss-25.12.1/tests/test_conversions.py +415 -0
  67. aspose_cells_foss-25.12.1/tests/test_docling_backend.py +236 -0
  68. aspose_cells_foss-25.12.1/tests/test_excel_generation.py +260 -0
  69. aspose_cells_foss-25.12.1/tests/test_image_operations.py +493 -0
  70. aspose_cells_foss-25.12.1/tests/test_io_modules.py +273 -0
  71. aspose_cells_foss-25.12.1/tests/test_markitdown_plugin.py +176 -0
  72. aspose_cells_foss-25.12.1/tests/test_range_and_style.py +226 -0
  73. aspose_cells_foss-25.12.1/tests/test_units.py +414 -0
  74. aspose_cells_foss-25.12.1/tests/test_utilities_and_edge_cases.py +248 -0
@@ -0,0 +1,189 @@
1
+ Metadata-Version: 2.4
2
+ Name: aspose-cells-foss
3
+ Version: 25.12.1
4
+ Summary: Modern Pythonic Excel processing library with plugin ecosystem
5
+ Author-email: "Aspose.Cells Team" <cells@aspose.com>
6
+ License: Apache-2.0 OR Proprietary
7
+ Keywords: excel,xlsx,spreadsheet,aspose,cells,python,markitdown,markdown,converter,plugin
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: License :: OSI Approved :: Apache Software License
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.8
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Topic :: Office/Business :: Financial :: Spreadsheet
17
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
+ Requires-Python: >=3.8
19
+ Description-Content-Type: text/markdown
20
+ Provides-Extra: markitdown
21
+ Requires-Dist: markitdown>=0.1.0; extra == "markitdown"
22
+ Provides-Extra: docling
23
+ Requires-Dist: docling; extra == "docling"
24
+
25
+ # Aspose.Cells for Python (FOSS Edition)
26
+
27
+ Modern Pythonic Excel processing library with advanced plugin ecosystem for enhanced document conversion.
28
+
29
+ [![PyPI version](https://badge.fury.io/py/aspose-cells-foss.svg)](https://badge.fury.io/py/aspose-cells-foss)
30
+ [![License: Split](https://img.shields.io/badge/License-Split-blue.svg)](https://aspose.org/)
31
+ [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
32
+ [![Downloads](https://pepy.tech/badge/aspose-cells-foss)](https://pepy.tech/project/aspose-cells-foss)
33
+
34
+ ## Overview
35
+
36
+ Aspose.Cells for Python is a high-performance Excel processing library that provides a clean, Pythonic API for working with Excel files. It offers both standalone functionality and seamless integration with popular document conversion frameworks through its plugin ecosystem.
37
+
38
+ ## Installation
39
+
40
+ ### From PyPI (Recommended)
41
+
42
+ ```bash
43
+ # Core library
44
+ pip install aspose-cells-foss
45
+
46
+ # With MarkItDown plugin support
47
+ pip install aspose-cells-foss[markitdown]
48
+
49
+ # With Docling backend support
50
+ pip install aspose-cells-foss[docling]
51
+
52
+ # With all optional dependencies
53
+ pip install aspose-cells-foss[markitdown,docling]
54
+ ```
55
+
56
+ ### From Source
57
+
58
+ ```bash
59
+ # Clone repository
60
+ git clone https://github.com/aspose-cells/aspose-cells-python.git
61
+ cd aspose-cells-python
62
+
63
+ # Install in development mode
64
+ pip install -e .
65
+
66
+ # With plugin support
67
+ pip install -e .[markitdown] # MarkItDown plugin
68
+ pip install -e .[docling] # Docling backend
69
+ ```
70
+
71
+ ## Quick Start
72
+
73
+ ```python
74
+ from aspose.cells import Workbook, FileFormat
75
+
76
+ # Create and populate workbook
77
+ wb = Workbook()
78
+ ws = wb.active
79
+
80
+ # Multiple ways to set data
81
+ ws['A1'] = "Product" # Excel-style
82
+ ws[0, 1] = "Price" # Python-style (0-based)
83
+ ws.cell(1, 3).value = "Qty" # Traditional method
84
+
85
+ # Batch operations
86
+ ws.append(["Laptop", 999.99, 5])
87
+ ws.append(["Mouse", 29.95, 50])
88
+
89
+ # Export to multiple formats
90
+ wb.save("products.xlsx", FileFormat.XLSX)
91
+ wb.save("products.csv", FileFormat.CSV)
92
+ json_str = wb.exportAs(FileFormat.JSON)
93
+ markdown_str = wb.exportAs(FileFormat.MARKDOWN)
94
+ ```
95
+
96
+ ## Core Features
97
+
98
+ ### Multi-Access Cell Interface
99
+ Three flexible ways to work with cells:
100
+ - **Excel-style**: `ws['A1'] = value`
101
+ - **Python-style**: `ws[0, 1] = value` (0-based indexing)
102
+ - **Traditional**: `ws.cell(1, 3).value = value`
103
+
104
+ ### Styling and Formatting
105
+ ```python
106
+ # Cell styling
107
+ ws['A1'].font.bold = True
108
+ ws['A1'].font.size = 14
109
+ ws['A1'].fill.color = "lightgray"
110
+
111
+ # Range styling
112
+ ws['A1:C1'].font.bold = True
113
+ ```
114
+
115
+ ### Data Import/Export
116
+ ```python
117
+ # From records
118
+ records = [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}]
119
+ ws.from_records(records)
120
+
121
+ # Export formats
122
+ formats = [FileFormat.XLSX, FileFormat.CSV, FileFormat.JSON, FileFormat.MARKDOWN]
123
+ ```
124
+
125
+ ## Plugin Ecosystem
126
+
127
+ Aspose.Cells for Python extends functionality through specialized plugins for popular document conversion frameworks:
128
+
129
+ ### MarkItDown Plugin
130
+ Enhanced Excel-to-Markdown conversion with improved formatting capabilities.
131
+
132
+ **Key Benefits:**
133
+ - Hyperlink preservation and clean table formatting
134
+ - Configurable conversion parameters
135
+ - Enhanced output quality
136
+
137
+ ```bash
138
+ # Install and use
139
+ pip install -e .[markitdown]
140
+ markitdown --use-plugins spreadsheet.xlsx -o output.md
141
+ ```
142
+
143
+ **→ [View MarkItDown Plugin Documentation](aspose/cells/plugins/markitdown_plugin/README.md)**
144
+
145
+ ### Docling Backend
146
+ Document backend for IBM Docling framework.
147
+
148
+ **Key Benefits:**
149
+ - Enhanced Excel processing for complex spreadsheets
150
+ - Multi-format export (Markdown, JSON)
151
+ - Advanced document structure support
152
+
153
+ ```bash
154
+ # Install and use
155
+ pip install -e .[docling]
156
+ ```
157
+
158
+ ```python
159
+ from docling.datamodel.base_models import InputFormat
160
+ from docling.datamodel.document import InputDocument
161
+ from aspose.cells.plugins.docling_backend import CellsDocumentBackend
162
+
163
+ # Create input document with Aspose backend
164
+ input_doc = InputDocument(
165
+ path_or_stream="spreadsheet.xlsx",
166
+ format=InputFormat.XLSX,
167
+ backend=CellsDocumentBackend,
168
+ filename="spreadsheet.xlsx"
169
+ )
170
+
171
+ # Initialize backend and convert
172
+ backend = CellsDocumentBackend(in_doc=input_doc, path_or_stream="spreadsheet.xlsx")
173
+ document = backend.convert()
174
+ markdown_content = document.export_to_markdown()
175
+ ```
176
+
177
+ **→ [View Docling Backend Documentation](aspose/cells/plugins/docling_backend/README.md)**
178
+
179
+ ## License
180
+
181
+ This project is licensed under the Aspose Split License Agreement - see the [LICENSE](license/Aspose_Split-License-Agreement_2025-07-08_WIP.txt) file for details.
182
+
183
+ Part of the [Aspose.org](https://aspose.org) open source ecosystem.
184
+
185
+ ## Requirements
186
+
187
+ - Python 3.8+
188
+ - Optional: markitdown>=0.1.0 (for MarkItDown plugin)
189
+ - Optional: docling (for Docling backend)
@@ -0,0 +1,165 @@
1
+ # Aspose.Cells for Python (FOSS Edition)
2
+
3
+ Modern Pythonic Excel processing library with advanced plugin ecosystem for enhanced document conversion.
4
+
5
+ [![PyPI version](https://badge.fury.io/py/aspose-cells-foss.svg)](https://badge.fury.io/py/aspose-cells-foss)
6
+ [![License: Split](https://img.shields.io/badge/License-Split-blue.svg)](https://aspose.org/)
7
+ [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
8
+ [![Downloads](https://pepy.tech/badge/aspose-cells-foss)](https://pepy.tech/project/aspose-cells-foss)
9
+
10
+ ## Overview
11
+
12
+ Aspose.Cells for Python is a high-performance Excel processing library that provides a clean, Pythonic API for working with Excel files. It offers both standalone functionality and seamless integration with popular document conversion frameworks through its plugin ecosystem.
13
+
14
+ ## Installation
15
+
16
+ ### From PyPI (Recommended)
17
+
18
+ ```bash
19
+ # Core library
20
+ pip install aspose-cells-foss
21
+
22
+ # With MarkItDown plugin support
23
+ pip install aspose-cells-foss[markitdown]
24
+
25
+ # With Docling backend support
26
+ pip install aspose-cells-foss[docling]
27
+
28
+ # With all optional dependencies
29
+ pip install aspose-cells-foss[markitdown,docling]
30
+ ```
31
+
32
+ ### From Source
33
+
34
+ ```bash
35
+ # Clone repository
36
+ git clone https://github.com/aspose-cells/aspose-cells-python.git
37
+ cd aspose-cells-python
38
+
39
+ # Install in development mode
40
+ pip install -e .
41
+
42
+ # With plugin support
43
+ pip install -e .[markitdown] # MarkItDown plugin
44
+ pip install -e .[docling] # Docling backend
45
+ ```
46
+
47
+ ## Quick Start
48
+
49
+ ```python
50
+ from aspose.cells import Workbook, FileFormat
51
+
52
+ # Create and populate workbook
53
+ wb = Workbook()
54
+ ws = wb.active
55
+
56
+ # Multiple ways to set data
57
+ ws['A1'] = "Product" # Excel-style
58
+ ws[0, 1] = "Price" # Python-style (0-based)
59
+ ws.cell(1, 3).value = "Qty" # Traditional method
60
+
61
+ # Batch operations
62
+ ws.append(["Laptop", 999.99, 5])
63
+ ws.append(["Mouse", 29.95, 50])
64
+
65
+ # Export to multiple formats
66
+ wb.save("products.xlsx", FileFormat.XLSX)
67
+ wb.save("products.csv", FileFormat.CSV)
68
+ json_str = wb.exportAs(FileFormat.JSON)
69
+ markdown_str = wb.exportAs(FileFormat.MARKDOWN)
70
+ ```
71
+
72
+ ## Core Features
73
+
74
+ ### Multi-Access Cell Interface
75
+ Three flexible ways to work with cells:
76
+ - **Excel-style**: `ws['A1'] = value`
77
+ - **Python-style**: `ws[0, 1] = value` (0-based indexing)
78
+ - **Traditional**: `ws.cell(1, 3).value = value`
79
+
80
+ ### Styling and Formatting
81
+ ```python
82
+ # Cell styling
83
+ ws['A1'].font.bold = True
84
+ ws['A1'].font.size = 14
85
+ ws['A1'].fill.color = "lightgray"
86
+
87
+ # Range styling
88
+ ws['A1:C1'].font.bold = True
89
+ ```
90
+
91
+ ### Data Import/Export
92
+ ```python
93
+ # From records
94
+ records = [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}]
95
+ ws.from_records(records)
96
+
97
+ # Export formats
98
+ formats = [FileFormat.XLSX, FileFormat.CSV, FileFormat.JSON, FileFormat.MARKDOWN]
99
+ ```
100
+
101
+ ## Plugin Ecosystem
102
+
103
+ Aspose.Cells for Python extends functionality through specialized plugins for popular document conversion frameworks:
104
+
105
+ ### MarkItDown Plugin
106
+ Enhanced Excel-to-Markdown conversion with improved formatting capabilities.
107
+
108
+ **Key Benefits:**
109
+ - Hyperlink preservation and clean table formatting
110
+ - Configurable conversion parameters
111
+ - Enhanced output quality
112
+
113
+ ```bash
114
+ # Install and use
115
+ pip install -e .[markitdown]
116
+ markitdown --use-plugins spreadsheet.xlsx -o output.md
117
+ ```
118
+
119
+ **→ [View MarkItDown Plugin Documentation](aspose/cells/plugins/markitdown_plugin/README.md)**
120
+
121
+ ### Docling Backend
122
+ Document backend for IBM Docling framework.
123
+
124
+ **Key Benefits:**
125
+ - Enhanced Excel processing for complex spreadsheets
126
+ - Multi-format export (Markdown, JSON)
127
+ - Advanced document structure support
128
+
129
+ ```bash
130
+ # Install and use
131
+ pip install -e .[docling]
132
+ ```
133
+
134
+ ```python
135
+ from docling.datamodel.base_models import InputFormat
136
+ from docling.datamodel.document import InputDocument
137
+ from aspose.cells.plugins.docling_backend import CellsDocumentBackend
138
+
139
+ # Create input document with Aspose backend
140
+ input_doc = InputDocument(
141
+ path_or_stream="spreadsheet.xlsx",
142
+ format=InputFormat.XLSX,
143
+ backend=CellsDocumentBackend,
144
+ filename="spreadsheet.xlsx"
145
+ )
146
+
147
+ # Initialize backend and convert
148
+ backend = CellsDocumentBackend(in_doc=input_doc, path_or_stream="spreadsheet.xlsx")
149
+ document = backend.convert()
150
+ markdown_content = document.export_to_markdown()
151
+ ```
152
+
153
+ **→ [View Docling Backend Documentation](aspose/cells/plugins/docling_backend/README.md)**
154
+
155
+ ## License
156
+
157
+ This project is licensed under the Aspose Split License Agreement - see the [LICENSE](license/Aspose_Split-License-Agreement_2025-07-08_WIP.txt) file for details.
158
+
159
+ Part of the [Aspose.org](https://aspose.org) open source ecosystem.
160
+
161
+ ## Requirements
162
+
163
+ - Python 3.8+
164
+ - Optional: markitdown>=0.1.0 (for MarkItDown plugin)
165
+ - Optional: docling (for Docling backend)
@@ -0,0 +1,14 @@
1
+ """
2
+ Aspose.Cells.Python - Modern Excel processing library
3
+
4
+ Open source Excel processing library from Aspose.org providing Pythonic API
5
+ for Excel file manipulation with comprehensive data structures, conversion
6
+ capabilities, and extensible plugin ecosystem.
7
+
8
+ Part of the Aspose.org open source ecosystem.
9
+ """
10
+
11
+ from .cells import Workbook, FileFormat
12
+
13
+ __version__ = "1.0.0"
14
+ __all__ = ["Workbook", "FileFormat"]
@@ -0,0 +1,31 @@
1
+ """
2
+ Core Excel processing module providing workbook, worksheet, and cell management.
3
+
4
+ Part of Aspose.Cells.Python - an open source Excel processing library from Aspose.org.
5
+ """
6
+
7
+ from .workbook import Workbook
8
+ from .worksheet import Worksheet
9
+ from .cell import Cell
10
+ from .range import Range
11
+ from .formats import FileFormat, ConversionOptions, CellValue
12
+ from .style import Style, Font, Fill
13
+ from .drawing import Image, ImageFormat, Anchor, AnchorType, ImageCollection
14
+
15
+ __all__ = [
16
+ "Workbook",
17
+ "Worksheet",
18
+ "Cell",
19
+ "Range",
20
+ "FileFormat",
21
+ "ConversionOptions",
22
+ "CellValue",
23
+ "Style",
24
+ "Font",
25
+ "Fill",
26
+ "Image",
27
+ "ImageFormat",
28
+ "Anchor",
29
+ "AnchorType",
30
+ "ImageCollection"
31
+ ]