pyexcel 0.7.1__tar.gz → 0.7.2__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 (303) hide show
  1. {pyexcel-0.7.1 → pyexcel-0.7.2}/CHANGELOG.rst +12 -0
  2. {pyexcel-0.7.1 → pyexcel-0.7.2}/CONTRIBUTORS.rst +1 -1
  3. {pyexcel-0.7.1 → pyexcel-0.7.2}/LICENSE +1 -1
  4. {pyexcel-0.7.1 → pyexcel-0.7.2}/PKG-INFO +36 -21
  5. {pyexcel-0.7.1 → pyexcel-0.7.2}/README.rst +6 -16
  6. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/requirements.txt +1 -0
  7. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/conf.py +7 -7
  8. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/guide.rst +6 -3
  9. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/index.rst +25 -31
  10. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/convert_xls_to_xlsx.py +1 -1
  11. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/jsonify.py +1 -1
  12. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/read_cell_by_cell.py +1 -1
  13. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/read_column_by_column.py +1 -1
  14. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/read_excel_book.py +1 -1
  15. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/read_row_by_row.py +1 -1
  16. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/series.py +1 -1
  17. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/write_excel_book.py +1 -1
  18. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/cookbook/merge_sheets.py +1 -1
  19. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/database/import_xls_into_database_via_sqlalchemy.py +1 -1
  20. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/formatting/formatter01.py +1 -1
  21. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/formatting/formatter02.py +1 -1
  22. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/memoryfile/pyexcel_server.py +1 -1
  23. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/__init__.py +1 -1
  24. pyexcel-0.7.2/pyexcel/__version__.py +2 -0
  25. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/_compact.py +4 -2
  26. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/book.py +5 -5
  27. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/cookbook.py +1 -1
  28. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/sheets/__init__.py +1 -1
  29. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/sheets/formatters.py +1 -1
  30. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/sheets/matrix.py +1 -1
  31. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/sheet.py +7 -7
  32. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel.egg-info/PKG-INFO +36 -21
  33. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel.egg-info/requires.txt +1 -1
  34. {pyexcel-0.7.1 → pyexcel-0.7.2}/setup.py +5 -5
  35. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/requirements.txt +1 -0
  36. pyexcel-0.7.1/pyexcel/__version__.py +0 -2
  37. {pyexcel-0.7.1 → pyexcel-0.7.2}/MANIFEST.in +0 -0
  38. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/Makefile +0 -0
  39. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/make.bat +0 -0
  40. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/_static/handsontable.full.min.css +0 -0
  41. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/_static/handsontable.full.min.js +0 -0
  42. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/_static/images/architecture.svg +0 -0
  43. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/_static/theme_overrides.css +0 -0
  44. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/_templates/layout.html +0 -0
  45. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/answers.rst +0 -0
  46. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/api.rst +0 -0
  47. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/architecture.rst +0 -0
  48. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/attributes.rst +0 -0
  49. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/bigdata.rst +0 -0
  50. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/book.rst +0 -0
  51. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/capability.rst +0 -0
  52. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/changelog.rst +0 -0
  53. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/coffee.csv +0 -0
  54. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/cookbook.rst +0 -0
  55. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/database.rst +0 -0
  56. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/design.rst +0 -0
  57. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/entity-relationship-diagram.dia +0 -0
  58. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/entity-relationship-diagram.png +0 -0
  59. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.bookdict.rst +0 -0
  60. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.csv.rst +0 -0
  61. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.csvz.rst +0 -0
  62. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.number_of_sheets.rst +0 -0
  63. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.ods.rst +0 -0
  64. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.rst +0 -0
  65. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.save_as.rst +0 -0
  66. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.save_to_database.rst +0 -0
  67. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.save_to_django_models.rst +0 -0
  68. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.save_to_memory.rst +0 -0
  69. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.sheet_names.rst +0 -0
  70. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.stream.rst +0 -0
  71. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.tsv.rst +0 -0
  72. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.tsvz.rst +0 -0
  73. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.url.rst +0 -0
  74. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.xls.rst +0 -0
  75. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.xlsm.rst +0 -0
  76. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.xlsx.rst +0 -0
  77. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.__getitem__.rst +0 -0
  78. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.array.rst +0 -0
  79. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.cell_value.rst +0 -0
  80. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.colnames.rst +0 -0
  81. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.column_at.rst +0 -0
  82. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.column_range.rst +0 -0
  83. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.content.rst +0 -0
  84. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.csv.rst +0 -0
  85. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.csvz.rst +0 -0
  86. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.cut.rst +0 -0
  87. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.delete_columns.rst +0 -0
  88. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.delete_named_column_at.rst +0 -0
  89. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.delete_named_row_at.rst +0 -0
  90. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.delete_rows.rst +0 -0
  91. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.dict.rst +0 -0
  92. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.extend_columns.rst +0 -0
  93. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.extend_rows.rst +0 -0
  94. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.filter.rst +0 -0
  95. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.format.rst +0 -0
  96. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.map.rst +0 -0
  97. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.name_columns_by_row.rst +0 -0
  98. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.name_rows_by_column.rst +0 -0
  99. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.named_column_at.rst +0 -0
  100. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.named_row_at.rst +0 -0
  101. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.number_of_columns.rst +0 -0
  102. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.number_of_rows.rst +0 -0
  103. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.ods.rst +0 -0
  104. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.paste.rst +0 -0
  105. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.project.rst +0 -0
  106. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.records.rst +0 -0
  107. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.region.rst +0 -0
  108. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.row_at.rst +0 -0
  109. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.row_range.rst +0 -0
  110. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.rownames.rst +0 -0
  111. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.rst +0 -0
  112. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.save_as.rst +0 -0
  113. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.save_to_database.rst +0 -0
  114. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.save_to_django_model.rst +0 -0
  115. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.save_to_memory.rst +0 -0
  116. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.set_column_at.rst +0 -0
  117. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.set_named_column_at.rst +0 -0
  118. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.set_named_row_at.rst +0 -0
  119. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.set_row_at.rst +0 -0
  120. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.stream.rst +0 -0
  121. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.transpose.rst +0 -0
  122. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.tsv.rst +0 -0
  123. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.tsvz.rst +0 -0
  124. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.url.rst +0 -0
  125. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.xls.rst +0 -0
  126. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.xlsm.rst +0 -0
  127. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.xlsx.rst +0 -0
  128. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.extract_a_sheet_from_a_book.rst +0 -0
  129. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.free_resources.rst +0 -0
  130. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.get_array.rst +0 -0
  131. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.get_book.rst +0 -0
  132. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.get_book_dict.rst +0 -0
  133. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.get_dict.rst +0 -0
  134. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.get_records.rst +0 -0
  135. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.get_sheet.rst +0 -0
  136. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.iget_array.rst +0 -0
  137. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.iget_book.rst +0 -0
  138. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.iget_records.rst +0 -0
  139. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.isave_as.rst +0 -0
  140. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.isave_book_as.rst +0 -0
  141. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.merge_all_to_a_book.rst +0 -0
  142. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.merge_csv_to_a_book.rst +0 -0
  143. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.save_as.rst +0 -0
  144. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.save_book_as.rst +0 -0
  145. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/generated/pyexcel.split_a_book.rst +0 -0
  146. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/iapi/pyexcel.internal.generators.BookStream.rst +0 -0
  147. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/iapi/pyexcel.internal.generators.SheetStream.rst +0 -0
  148. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/iapi/pyexcel.internal.sheets.Column.rst +0 -0
  149. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/iapi/pyexcel.internal.sheets.Matrix.rst +0 -0
  150. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/iapi/pyexcel.internal.sheets.Row.rst +0 -0
  151. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/iapi.rst +0 -0
  152. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/logging.rst +0 -0
  153. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/migration_guide.rst +0 -0
  154. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/note_on_pypy.rst +0 -0
  155. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/plugin_howto.rst +0 -0
  156. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/pyinstaller.rst +0 -0
  157. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/quickstart.rst +0 -0
  158. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/renderers.rst +0 -0
  159. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/sheet.rst +0 -0
  160. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/showcases/db_injection.rst +0 -0
  161. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/sources.rst +0 -0
  162. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/spelling_wordlist.txt +0 -0
  163. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/tutorial.rst +0 -0
  164. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/tutorial02.rst +0 -0
  165. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/tutorial03.rst +0 -0
  166. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/tutorial04.rst +0 -0
  167. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/tutorial05.rst +0 -0
  168. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/tutorial06.rst +0 -0
  169. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/tutorial_data_conversion.rst +0 -0
  170. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/tutorial_file.rst +0 -0
  171. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/two-liners.rst +0 -0
  172. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/uml/architecture.uml +0 -0
  173. {pyexcel-0.7.1 → pyexcel-0.7.2}/docs/source/webdev.rst +0 -0
  174. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/README.rst +0 -0
  175. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/example.csv +0 -0
  176. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/example.xls +0 -0
  177. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/example.xlsm +0 -0
  178. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/example.xlsx +0 -0
  179. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/example_series.xls +0 -0
  180. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/example_series_filter.xls +0 -0
  181. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/multiple-sheets-example.xls +0 -0
  182. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/multiple-sheets.xls +0 -0
  183. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/basics/multiple-sheets.xlsx +0 -0
  184. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/cookbook/scattered-csv-files/1.csv +0 -0
  185. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/cookbook/scattered-csv-files/2.csv +0 -0
  186. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/cookbook/scattered-csv-files/3.csv +0 -0
  187. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/formatting/tutorial_datatype_01.xls +0 -0
  188. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/formatting/tutorial_datatype_02.xls +0 -0
  189. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/memoryfile/README.rst +0 -0
  190. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/memoryfile/templates/upload.html +0 -0
  191. {pyexcel-0.7.1 → pyexcel-0.7.2}/examples/simple/multiple-sheets.xls +0 -0
  192. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/constants.py +0 -0
  193. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/core.py +0 -0
  194. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/deprecated.py +0 -0
  195. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/docstrings/__init__.py +0 -0
  196. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/docstrings/core.py +0 -0
  197. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/docstrings/garbagecollector.py +0 -0
  198. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/docstrings/keywords.py +0 -0
  199. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/docstrings/meta.py +0 -0
  200. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/exceptions.py +0 -0
  201. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/__init__.py +0 -0
  202. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/attributes.py +0 -0
  203. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/common.py +0 -0
  204. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/core.py +0 -0
  205. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/garbagecollector.py +0 -0
  206. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/generators.py +0 -0
  207. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/meta.py +0 -0
  208. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/plugins.py +0 -0
  209. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/sheets/_shared.py +0 -0
  210. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/sheets/column.py +0 -0
  211. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/sheets/extended_list.py +0 -0
  212. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/sheets/row.py +0 -0
  213. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/source_plugin.py +0 -0
  214. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/internal/utils.py +0 -0
  215. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/parser.py +0 -0
  216. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/__init__.py +0 -0
  217. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/parsers/__init__.py +0 -0
  218. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/parsers/django.py +0 -0
  219. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/parsers/excel.py +0 -0
  220. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/parsers/sqlalchemy.py +0 -0
  221. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/renderers/__init__.py +0 -0
  222. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/renderers/_texttable.py +0 -0
  223. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/renderers/django.py +0 -0
  224. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/renderers/excel.py +0 -0
  225. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/renderers/sqlalchemy.py +0 -0
  226. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/__init__.py +0 -0
  227. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/db_sources.py +0 -0
  228. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/django.py +0 -0
  229. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/file_input.py +0 -0
  230. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/file_output.py +0 -0
  231. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/http.py +0 -0
  232. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/memory_input.py +0 -0
  233. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/output_to_memory.py +0 -0
  234. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/params.py +0 -0
  235. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/pydata/__init__.py +0 -0
  236. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/pydata/arraysource.py +0 -0
  237. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/pydata/bookdict.py +0 -0
  238. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/pydata/common.py +0 -0
  239. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/pydata/dictsource.py +0 -0
  240. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/pydata/records.py +0 -0
  241. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/querysets.py +0 -0
  242. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/sheet_stream_source.py +0 -0
  243. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/plugins/sources/sqlalchemy.py +0 -0
  244. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/renderer.py +0 -0
  245. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel/source.py +0 -0
  246. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel.egg-info/SOURCES.txt +0 -0
  247. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel.egg-info/dependency_links.txt +0 -0
  248. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel.egg-info/not-zip-safe +0 -0
  249. {pyexcel-0.7.1 → pyexcel-0.7.2}/pyexcel.egg-info/top_level.txt +0 -0
  250. {pyexcel-0.7.1 → pyexcel-0.7.2}/setup.cfg +0 -0
  251. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/__init__.py +0 -0
  252. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/_compact.py +0 -0
  253. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/base.py +0 -0
  254. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/db.py +0 -0
  255. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/bug_01.csv +0 -0
  256. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/bug_176.xlsx +0 -0
  257. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/date_field.xls +0 -0
  258. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/empty.csv +0 -0
  259. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/file_with_an_empty_sheet.xlsx +0 -0
  260. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/force_type.txt +0 -0
  261. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/issue_241/1.csv +0 -0
  262. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/issue_241/2.csv +0 -0
  263. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/non-uniform-rows.csv +0 -0
  264. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/ods_formats.ods +0 -0
  265. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/test-multiple.csvz +0 -0
  266. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/test-single.csvz +0 -0
  267. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/test_cook_book_merge_alphabets.csv +0 -0
  268. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/test_cook_book_merge_alphabets_2.csv +0 -0
  269. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/test_cook_book_merge_numbers.csv +0 -0
  270. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/fixtures/test_cook_book_merge_numbers_2.csv +0 -0
  271. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_book.py +0 -0
  272. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_book_stream.py +0 -0
  273. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_bug_fixes.py +0 -0
  274. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_cookbook.py +0 -0
  275. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_django_related_functions.py +0 -0
  276. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_examples.py +0 -0
  277. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_exploitation.py +0 -0
  278. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_file_type_as_attribute.py +0 -0
  279. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_fileio.py +0 -0
  280. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_formatters.py +0 -0
  281. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_gabagecollector.py +0 -0
  282. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_http_source.py +0 -0
  283. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_internals.py +0 -0
  284. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_iterator.py +0 -0
  285. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_multiple_sheets.py +0 -0
  286. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_parser.py +0 -0
  287. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_presentation.py +0 -0
  288. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_pyexcel_list.py +0 -0
  289. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_reader.py +0 -0
  290. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_renderer.py +0 -0
  291. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_sheet.py +0 -0
  292. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_sheet_access.py +0 -0
  293. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_sheet_attributes.py +0 -0
  294. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_sheet_column.py +0 -0
  295. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_sheet_row.py +0 -0
  296. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_sheet_stream.py +0 -0
  297. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_sheet_update.py +0 -0
  298. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_sheets.py +0 -0
  299. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_signature_fuction.py +0 -0
  300. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_sources.py +0 -0
  301. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_sql.py +0 -0
  302. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_stringio.py +0 -0
  303. {pyexcel-0.7.1 → pyexcel-0.7.2}/tests/test_utils.py +0 -0
@@ -1,6 +1,18 @@
1
1
  Change log
2
2
  ================================================================================
3
3
 
4
+ 0.7.2 - 23.03.2025
5
+ --------------------------------------------------------------------------------
6
+
7
+ **Fixed**
8
+
9
+ #. `#270 <https://github.com/pyexcel/pyexcel/issues/270>`_: apenddoc breaks
10
+ interpreter optimization
11
+ #. `#274 <https://github.com/pyexcel/pyexcel/issues/274>`_: Replace deprecated
12
+ imp module with importlib - enforced pyexcel's dependency on lml>=0.2.0. This
13
+ will have an implication for linux distribution makers for pyexcel. However,
14
+ this is a reaction to the potential removal of __import__ syntax.
15
+
4
16
  0.7.1 - 11.09.2024
5
17
  --------------------------------------------------------------------------------
6
18
 
@@ -18,7 +18,7 @@ In alphabetical order:
18
18
  * `Linghui Zeng <https://github.com/mathsyouth>`_
19
19
  * `Mark Mayo <https://github.com/marksmayo>`_
20
20
  * `Mateusz Konieczny <https://github.com/matkoniecz>`_
21
- * `Nikolas Nyby <https://github.com/nikolas>`_
21
+ * `nikolas <https://github.com/nikolas>`_
22
22
  * `Rintze M. Zelle, PhD <https://github.com/rmzelle>`_
23
23
  * `Simeon Visser <https://github.com/svisser>`_
24
24
  * `Simon Allen <https://github.com/garfunkel>`_
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014-2024 by Onni Software Ltd. and its contributors
1
+ Copyright (c) 2014-2025 by Onni Software Ltd. and its contributors
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms of the software as well
@@ -1,9 +1,9 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: pyexcel
3
- Version: 0.7.1
3
+ Version: 0.7.2
4
4
  Summary: A wrapper library that provides one API to read, manipulate and writedata in different excel formats
5
5
  Home-page: https://github.com/pyexcel/pyexcel
6
- Download-URL: https://github.com/pyexcel/pyexcel/archive/0.7.1.tar.gz
6
+ Download-URL: https://github.com/pyexcel/pyexcel/archive/0.7.2.tar.gz
7
7
  Author: C.W.
8
8
  Author-email: info@pyexcel.org
9
9
  License: New BSD
@@ -18,7 +18,7 @@ Classifier: Programming Language :: Python :: 3.8
18
18
  Classifier: Development Status :: 3 - Alpha
19
19
  Requires-Python: >=3.6
20
20
  License-File: LICENSE
21
- Requires-Dist: lml>=0.0.4
21
+ Requires-Dist: lml>=0.2.0
22
22
  Requires-Dist: pyexcel-io>=0.6.2
23
23
  Requires-Dist: texttable>=0.8.2
24
24
  Provides-Extra: xls
@@ -27,6 +27,19 @@ Provides-Extra: xlsx
27
27
  Requires-Dist: pyexcel-xlsx>=0.6.0; extra == "xlsx"
28
28
  Provides-Extra: ods
29
29
  Requires-Dist: pyexcel-ods3>=0.6.0; extra == "ods"
30
+ Dynamic: author
31
+ Dynamic: author-email
32
+ Dynamic: classifier
33
+ Dynamic: description
34
+ Dynamic: download-url
35
+ Dynamic: home-page
36
+ Dynamic: keywords
37
+ Dynamic: license
38
+ Dynamic: license-file
39
+ Dynamic: provides-extra
40
+ Dynamic: requires-dist
41
+ Dynamic: requires-python
42
+ Dynamic: summary
30
43
 
31
44
  ================================================================================
32
45
  pyexcel - Let you focus on data, instead of file formats
@@ -38,9 +51,6 @@ pyexcel - Let you focus on data, instead of file formats
38
51
  .. image:: https://raw.githubusercontent.com/pyexcel/pyexcel-mobans/master/images/awesome-badge.svg
39
52
  :target: https://awesome-python.com/#specific-formats-processing
40
53
 
41
- .. image:: https://github.com/pyexcel/pyexcel/workflows/run_tests/badge.svg
42
- :target: http://github.com/pyexcel/pyexcel/actions
43
-
44
54
  .. image:: https://codecov.io/gh/pyexcel/pyexcel/branch/master/graph/badge.svg
45
55
  :target: https://codecov.io/gh/pyexcel/pyexcel
46
56
 
@@ -50,6 +60,7 @@ pyexcel - Let you focus on data, instead of file formats
50
60
  .. image:: https://anaconda.org/conda-forge/pyexcel/badges/version.svg
51
61
  :target: https://anaconda.org/conda-forge/pyexcel
52
62
 
63
+
53
64
  .. image:: https://pepy.tech/badge/pyexcel/month
54
65
  :target: https://pepy.tech/project/pyexcel
55
66
 
@@ -70,19 +81,11 @@ pyexcel - Let you focus on data, instead of file formats
70
81
  Support the project
71
82
  ================================================================================
72
83
 
73
- If your company has embedded pyexcel and its components into a revenue generating
74
- product, please support me on github, `patreon <https://www.patreon.com/bePatron?u=5537627>`_
75
- or `bounty source <https://salt.bountysource.com/teams/chfw-pyexcel>`_ to maintain
76
- the project and develop it further.
77
-
78
- If you are an individual, you are welcome to support me too and for however long
79
- you feel like. As my backer, you will receive
80
- `early access to pyexcel related contents <https://www.patreon.com/pyexcel/posts>`_.
81
-
82
- And your issues will get prioritized if you would like to become my patreon as `pyexcel pro user`.
83
-
84
- With your financial support, I will be able to invest
85
- a little bit more time in coding, documentation and writing interesting posts.
84
+ If your company uses pyexcel and its components in a revenue-generating product,
85
+ please consider supporting the project on GitHub or
86
+ `Patreon <https://www.patreon.com/bePatron?u=5537627>`_. Your financial
87
+ support will enable me to dedicate more time to coding, improving documentation,
88
+ and creating engaging content.
86
89
 
87
90
 
88
91
  Known constraints
@@ -1229,7 +1232,7 @@ In alphabetical order:
1229
1232
  * `Linghui Zeng <https://github.com/mathsyouth>`_
1230
1233
  * `Mark Mayo <https://github.com/marksmayo>`_
1231
1234
  * `Mateusz Konieczny <https://github.com/matkoniecz>`_
1232
- * `Nikolas Nyby <https://github.com/nikolas>`_
1235
+ * `nikolas <https://github.com/nikolas>`_
1233
1236
  * `Rintze M. Zelle, PhD <https://github.com/rmzelle>`_
1234
1237
  * `Simeon Visser <https://github.com/svisser>`_
1235
1238
  * `Simon Allen <https://github.com/garfunkel>`_
@@ -1241,6 +1244,18 @@ In alphabetical order:
1241
1244
  Change log
1242
1245
  ================================================================================
1243
1246
 
1247
+ 0.7.2 - 23.03.2025
1248
+ --------------------------------------------------------------------------------
1249
+
1250
+ **Fixed**
1251
+
1252
+ #. `#270 <https://github.com/pyexcel/pyexcel/issues/270>`_: apenddoc breaks
1253
+ interpreter optimization
1254
+ #. `#274 <https://github.com/pyexcel/pyexcel/issues/274>`_: Replace deprecated
1255
+ imp module with importlib - enforced pyexcel's dependency on lml>=0.2.0. This
1256
+ will have an implication for linux distribution makers for pyexcel. However,
1257
+ this is a reaction to the potential removal of __import__ syntax.
1258
+
1244
1259
  0.7.1 - 11.09.2024
1245
1260
  --------------------------------------------------------------------------------
1246
1261
 
@@ -8,9 +8,6 @@ pyexcel - Let you focus on data, instead of file formats
8
8
  .. image:: https://raw.githubusercontent.com/pyexcel/pyexcel-mobans/master/images/awesome-badge.svg
9
9
  :target: https://awesome-python.com/#specific-formats-processing
10
10
 
11
- .. image:: https://github.com/pyexcel/pyexcel/workflows/run_tests/badge.svg
12
- :target: http://github.com/pyexcel/pyexcel/actions
13
-
14
11
  .. image:: https://codecov.io/gh/pyexcel/pyexcel/branch/master/graph/badge.svg
15
12
  :target: https://codecov.io/gh/pyexcel/pyexcel
16
13
 
@@ -20,6 +17,7 @@ pyexcel - Let you focus on data, instead of file formats
20
17
  .. image:: https://anaconda.org/conda-forge/pyexcel/badges/version.svg
21
18
  :target: https://anaconda.org/conda-forge/pyexcel
22
19
 
20
+
23
21
  .. image:: https://pepy.tech/badge/pyexcel/month
24
22
  :target: https://pepy.tech/project/pyexcel
25
23
 
@@ -40,19 +38,11 @@ pyexcel - Let you focus on data, instead of file formats
40
38
  Support the project
41
39
  ================================================================================
42
40
 
43
- If your company has embedded pyexcel and its components into a revenue generating
44
- product, please support me on github, `patreon <https://www.patreon.com/bePatron?u=5537627>`_
45
- or `bounty source <https://salt.bountysource.com/teams/chfw-pyexcel>`_ to maintain
46
- the project and develop it further.
47
-
48
- If you are an individual, you are welcome to support me too and for however long
49
- you feel like. As my backer, you will receive
50
- `early access to pyexcel related contents <https://www.patreon.com/pyexcel/posts>`_.
51
-
52
- And your issues will get prioritized if you would like to become my patreon as `pyexcel pro user`.
53
-
54
- With your financial support, I will be able to invest
55
- a little bit more time in coding, documentation and writing interesting posts.
41
+ If your company uses pyexcel and its components in a revenue-generating product,
42
+ please consider supporting the project on GitHub or
43
+ `Patreon <https://www.patreon.com/bePatron?u=5537627>`_. Your financial
44
+ support will enable me to dedicate more time to coding, improving documentation,
45
+ and creating engaging content.
56
46
 
57
47
 
58
48
  Known constraints
@@ -1,3 +1,4 @@
1
1
  https://github.com/pyexcel/pyexcel-pygal/archive/master.zip
2
2
  https://github.com/pyexcel/sphinxcontrib-excel/archive/master.zip
3
3
  sphinx-copybutton
4
+ sphinx_rtd_theme
@@ -23,12 +23,12 @@ DESCRIPTION = (
23
23
  # -- Project information -----------------------------------------------------
24
24
 
25
25
  project = 'pyexcel'
26
- copyright = '2014-2024 Onni Software Ltd.'
26
+ copyright = '2014-2025 Onni Software Ltd.'
27
27
  author = 'C.W.'
28
28
  # The short X.Y version
29
- version = '0.7.1'
29
+ version = '0.7.2'
30
30
  # The full version, including alpha/beta/rc tags
31
- release = '0.7.1'
31
+ release = '0.7.2'
32
32
 
33
33
  # -- General configuration ---------------------------------------------------
34
34
 
@@ -58,7 +58,7 @@ exclude_patterns = []
58
58
  # The theme to use for HTML and HTML Help pages. See the documentation for
59
59
  # a list of builtin themes.
60
60
  #
61
- html_theme = 'alabaster'
61
+ html_theme = 'sphinx_rtd_theme'
62
62
 
63
63
  # Add any paths that contain custom static files (such as style sheets) here,
64
64
  # relative to this directory. They are copied after the builtin static files,
@@ -69,11 +69,11 @@ html_static_path = ['_static']
69
69
  # -- Options for intersphinx extension ---------------------------------------
70
70
 
71
71
  # Example configuration for intersphinx: refer to the Python standard library.
72
- intersphinx_mapping = {'https://docs.python.org/3/': None}
72
+ intersphinx_mapping = {'python': ('https://docs.python.org/3',
73
+ 'python-inv.txt')}
73
74
  # TODO: html_theme not configurable upstream
74
- html_theme = 'default'
75
75
  def setup(app):
76
- app.add_stylesheet('theme_overrides.css')
76
+ app.add_css_file('theme_overrides.css')
77
77
 
78
78
 
79
79
 
@@ -22,15 +22,18 @@ and update changelog.yml
22
22
  .. note::
23
23
 
24
24
  As to rnd_requirements.txt, usually, it is created when a dependent
25
- library is not released. Once the dependecy is installed
25
+ library is not released. Once the dependency is installed
26
26
  (will be released), the future
27
27
  version of the dependency in the requirements.txt will be valid.
28
28
 
29
29
 
30
30
  How to test your contribution
31
- ------------------------------
31
+ --------------------------------------------------------------------------------
32
32
 
33
- Although `nose` and `doctest` are both used in code testing, it is adviable that unit tests are put in tests. `doctest` is incorporated only to make sure the code examples in documentation remain valid across different development releases.
33
+ Although `nose` and `doctest` are both used in code testing, it is advisable
34
+ that unit tests are put in tests. `doctest` is incorporated only to make sure
35
+ the code examples in documentation remain valid across different development
36
+ releases.
34
37
 
35
38
  On Linux/Unix systems, please launch your tests like this::
36
39
 
@@ -11,43 +11,37 @@
11
11
  Introduction
12
12
  -------------
13
13
 
14
- **pyexcel** provides **one** application programming interface to read,
15
- manipulate and write data in various excel formats. This library makes
16
- information processing involving excel files an enjoyable task. The data in
17
- excel files can be turned into :ref:`array or dict<a-list-of-data-structures>`
18
- with minimal code and vice versa. This library focuses on data
19
- processing using excel files. Therefore, fonts, colors and charts
20
- were not and will not be considered.
21
-
22
- The idea originated from the common usability problem: when an excel file
23
- driven web application is delivered for non-developer users (ie: team assistant,
24
- human resource administrator etc). The fact is that not everyone knows (or cares)
25
- about the differences between various excel formats: csv, xls, xlsx are all
26
- the same to them. Instead of training those users about file formats, this
27
- library helps web developers to handle most of the excel file
28
- formats by providing a common programming interface. To add a specific excel
29
- file format type to you application, all you need is to install an extra pyexcel
30
- plugin. Hence no code changes to your application and no issues with excel file
31
- formats any more. Looking at the community, this library and its associated ones
32
- try to become a small and easy to install alternative to Pandas.
14
+ **pyexcel** provides **one** unified API for reading, manipulating, and writing data
15
+ in various Excel formats. It simplifies the process
16
+ of handling Excel files, making it an enjoyable task. Data in Excel files
17
+ can be easily converted into :ref:`arrays or dictionaries<a-list-of-data-structures>`
18
+ with minimal code, and vice versa. This library focuses **purely on data
19
+ processing and does not address features like fonts, colors, or charts**.
33
20
 
34
21
 
35
- Support the project
36
- ================================================================================
37
22
 
38
- If your company has embedded pyexcel and its components into a revenue generating
39
- product, please support me on github, `patreon <https://www.patreon.com/bePatron?u=5537627>`_
40
- or `bounty source <https://salt.bountysource.com/teams/chfw-pyexcel>`_ to maintain
41
- the project and develop it further.
23
+ The idea behind pyexcel originated from a common usability problem: when Excel-driven
24
+ web applications are delivered to non-developer users (e.g., project assistants, human
25
+ resources administrators), they often are not aware of the differences
26
+ between file formats such as CSV, XLS, and XLSX. Rather than training users on these
27
+ formats, pyexcel provides web developers with a unified interface to handle most
28
+ Excel file types.
29
+
42
30
 
43
- If you are an individual, you are welcome to support me too and for however long
44
- you feel like. As my backer, you will receive
45
- `early access to pyexcel related contents <https://www.patreon.com/pyexcel/posts>`_.
31
+ To add support for a specific Excel format in your application, simply install an
32
+ additional pyexcel plugin—no code changes required. This eliminates issues with
33
+ different file formats. In the broader community, pyexcel and its associated
34
+ libraries aim to be a simple, easy-to-install alternative to Pandas, where minimal
35
+ data manipulation is needed.
46
36
 
47
- And your issues will get prioritized if you would like to become my patreon as `pyexcel pro user`.
37
+ Support the project
38
+ ================================================================================
48
39
 
49
- With your financial support, I will be able to invest
50
- a little bit more time in coding, documentation and writing interesting posts.
40
+ If your company uses pyexcel and its components in a revenue-generating product,
41
+ please consider supporting the project on GitHub or
42
+ `Patreon <https://www.patreon.com/bePatron?u=5537627>`_. Your financial
43
+ support will enable me to dedicate more time to coding, improving documentation,
44
+ and creating engaging content.
51
45
 
52
46
 
53
47
  Installation
@@ -1,6 +1,6 @@
1
1
  """
2
2
  convert_xls_to_xlsx.py
3
- :copyright: (c) 2014-2017 by Onni Software Ltd.
3
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
4
4
  :license: New BSD License, see LICENSE for more details
5
5
 
6
6
  This shows how to use **save_book_as** to convert
@@ -1,6 +1,6 @@
1
1
  """
2
2
  jsonify.py
3
- :copyright: (c) 2014-2017 by Onni Software Ltd.
3
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
4
4
  :license: New BSD License, see LICENSE for more details
5
5
 
6
6
 
@@ -1,6 +1,6 @@
1
1
  """
2
2
  read_cell_by_cell.py
3
- :copyright: (c) 2014-2017 by Onni Software Ltd.
3
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
4
4
  :license: New BSD License, see LICENSE for more details
5
5
 
6
6
  This shows how to use get_sheet() to go through a single
@@ -1,6 +1,6 @@
1
1
  """
2
2
  read_column_by_column.py
3
- :copyright: (c) 2014-2017 by Onni Software Ltd.
3
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
4
4
  :license: New BSD License, see LICENSE for more details
5
5
 
6
6
  This shows a pythonic way to use get_sheet to go through a single
@@ -1,6 +1,6 @@
1
1
  """
2
2
  read_excel_book.py
3
- :copyright: (c) 2014-2017 by Onni Software Ltd.
3
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
4
4
  :license: New BSD License, see LICENSE for more details
5
5
 
6
6
  This shows how to use get_book to go through a multiple
@@ -1,6 +1,6 @@
1
1
  """
2
2
  read_row_by_row.py
3
- :copyright: (c) 2014-2017 by Onni Software Ltd.
3
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
4
4
  :license: New BSD License, see LICENSE for more details
5
5
 
6
6
  This shows a pythonic way to use **Reader** class to go through a single
@@ -1,6 +1,6 @@
1
1
  """
2
2
  series.py
3
- :copyright: (c) 2014-2017 by Onni Software Ltd.
3
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
4
4
  :license: New BSD License, see LICENSE for more details
5
5
 
6
6
  This shows how to use `name_columns_by_row` to get the data in various ways.
@@ -1,6 +1,6 @@
1
1
  """
2
2
  write_excel_book.py
3
- :copyright: (c) 2014-2017 by Onni Software Ltd.
3
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
4
4
  :license: New BSD License, see LICENSE for more details
5
5
 
6
6
  This shows how to use save_book_as to write a dictionary
@@ -1,6 +1,6 @@
1
1
  """
2
2
  merge_sheets.py
3
- :copyright: (c) 2014-2017 by Onni Software Ltd.
3
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
4
4
  :license: New BSD License, see LICENSE for more details
5
5
 
6
6
  This code snippet shows you how to merge files that are scattered in
@@ -1,7 +1,7 @@
1
1
  """
2
2
  import_xls_into_database_via_sqlalchemy.py
3
3
 
4
- :copyright: (c) 2014-2017 by Onni Software Ltd.
4
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
5
5
  :license: New BSD License, see LICENSE for more details
6
6
 
7
7
  This code snippet shows you how to import data from an excel
@@ -1,6 +1,6 @@
1
1
  """
2
2
  formater01.py
3
- :copyright: (c) 2014-2017 by Onni Software Ltd.
3
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
4
4
  :license: New BSD License, see LICENSE for more details
5
5
 
6
6
  This file shows you how to use column format function
@@ -1,6 +1,6 @@
1
1
  """
2
2
  formatter02.py
3
- :copyright: (c) 2014-2017 by Onni Software Ltd.
3
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
4
4
  :license: New BSD License, see LICENSE for more details
5
5
 
6
6
  This example shows you how to use custom formatter function
@@ -1,6 +1,6 @@
1
1
  """
2
2
  pyexcel_server.py
3
- :copyright: (c) 2014-2017 by Onni Software Ltd.
3
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
4
4
  :license: New BSD License, see LICENSE for more details
5
5
 
6
6
  This shows how to use pyexcel to handle excel file upload. In order
@@ -6,7 +6,7 @@
6
6
  write data in different excel formats: csv, ods, xls, xlsx
7
7
  and xlsm. It does not support formulas, styles and charts.
8
8
 
9
- :copyright: (c) 2014-2022 by Onni Software Ltd.
9
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
10
10
  :license: New BSD License, see LICENSE for more details
11
11
  """
12
12
  from .book import Book
@@ -0,0 +1,2 @@
1
+ __version__ = '0.7.2'
2
+ __author__ = 'C.W.'
@@ -4,7 +4,7 @@
4
4
 
5
5
  Compatibles
6
6
 
7
- :copyright: (c) 2014-2022 by Onni Software Ltd.
7
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
8
8
  :license: New BSD License, see LICENSE for more details
9
9
  """
10
10
  # flake8: noqa
@@ -20,6 +20,7 @@ from io import BytesIO, StringIO
20
20
  from urllib import request
21
21
  from textwrap import dedent
22
22
  from itertools import zip_longest
23
+
23
24
  from collections import OrderedDict
24
25
 
25
26
  PY2 = sys.version_info[0] == 2
@@ -66,7 +67,8 @@ def deprecated(func, message="Deprecated!"):
66
67
 
67
68
  def append_doc(value):
68
69
  def _doc(func):
69
- func.__doc__ = dedent(func.__doc__) + "\n" + value
70
+ if func.__doc__:
71
+ func.__doc__ = dedent(func.__doc__) + "\n" + value
70
72
  return func
71
73
 
72
74
  return _doc
@@ -4,13 +4,13 @@
4
4
 
5
5
  Excel book
6
6
 
7
- :copyright: (c) 2014-2022 by Onni Software Ltd.
7
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
8
8
  :license: New BSD License, see LICENSE for more details
9
9
  """
10
- from pyexcel import _compact as compact
11
10
  from pyexcel.sheet import Sheet
12
11
  from pyexcel.internal.meta import BookMeta
13
12
  from pyexcel.internal.common import SheetIterator
13
+ from pyexcel._compact import OrderedDict
14
14
 
15
15
  LOCAL_UUID = 0
16
16
 
@@ -36,7 +36,7 @@ class Book(BookMeta):
36
36
  self.__path = None
37
37
  self.__name_array = []
38
38
  self.filename = None
39
- self.__sheets = compact.OrderedDict()
39
+ self.__sheets = OrderedDict()
40
40
  self.init(sheets=sheets, filename=filename, path=path)
41
41
 
42
42
  def init(self, sheets=None, filename="memory", path=None):
@@ -147,7 +147,7 @@ class Book(BookMeta):
147
147
  book3 = book1 + book2["Sheet 1"]
148
148
 
149
149
  """
150
- content = {}
150
+ content = OrderedDict()
151
151
  current_dict = self.to_dict()
152
152
  for k in current_dict.keys():
153
153
  new_key = k
@@ -209,7 +209,7 @@ class Book(BookMeta):
209
209
 
210
210
  def to_dict(self):
211
211
  """Convert the book to a dictionary"""
212
- the_dict = compact.OrderedDict()
212
+ the_dict = OrderedDict()
213
213
  for sheet in self:
214
214
  the_dict.update({sheet.name: sheet.array})
215
215
  return the_dict
@@ -4,7 +4,7 @@
4
4
 
5
5
  Cookbook for pyexcel
6
6
 
7
- :copyright: (c) 2014-2022 by Onni Software Ltd.
7
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
8
8
  :license: New BSD License, see LICENSE for more details
9
9
  """
10
10
  import os
@@ -4,7 +4,7 @@
4
4
 
5
5
  Core functionality of pyexcel, data model
6
6
 
7
- :copyright: (c) 2014-2022 by Onni Software Ltd.
7
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
8
8
  :license: New BSD License, see LICENSE for more details
9
9
  """
10
10
  # flake8: noqa
@@ -4,7 +4,7 @@
4
4
 
5
5
  These utilities help format the content
6
6
 
7
- :copyright: (c) 2014-2022 by Onni Software Ltd.
7
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
8
8
  :license: New BSD License, see LICENSE for more details
9
9
  """
10
10
  import json
@@ -5,7 +5,7 @@
5
5
  Matrix, a data model that accepts any types, spread sheet style
6
6
  of lookup.
7
7
 
8
- :copyright: (c) 2014-2022 by Onni Software Ltd.
8
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
9
9
  :license: New BSD License, see LICENSE for more details
10
10
  """
11
11
  import copy
@@ -4,7 +4,7 @@
4
4
 
5
5
  Building on top of matrix, adding named columns and rows support
6
6
 
7
- :copyright: (c) 2014-2022 by Onni Software Ltd.
7
+ :copyright: (c) 2014-2025 by Onni Software Ltd.
8
8
  :license: New BSD License, see LICENSE for more details
9
9
  """
10
10
  import copy
@@ -294,7 +294,7 @@ class Sheet(Matrix):
294
294
  def named_column_at(self, name):
295
295
  """Get a column by its name"""
296
296
  index = name
297
- if compact.is_string(type(index)):
297
+ if isinstance(index, str):
298
298
  index = self.colnames.index(name)
299
299
  column_array = self.column_at(index)
300
300
  return column_array
@@ -307,7 +307,7 @@ class Sheet(Matrix):
307
307
  the given array except the column name.
308
308
  """
309
309
  index = name
310
- if compact.is_string(type(index)):
310
+ if isinstance(index, str):
311
311
  index = self.colnames.index(name)
312
312
  self.set_column_at(index, column_array)
313
313
 
@@ -370,7 +370,7 @@ class Sheet(Matrix):
370
370
  the given array except the row name.
371
371
  """
372
372
  index = name
373
- if compact.is_string(type(index)):
373
+ if isinstance(index, str):
374
374
  index = self.rownames.index(name)
375
375
  self.set_row_at(index, row_array)
376
376
 
@@ -464,7 +464,7 @@ class Sheet(Matrix):
464
464
  else:
465
465
  headers = self.colnames
466
466
  for row in self.rows():
467
- the_dict = compact.OrderedDict(zip(headers, row))
467
+ the_dict = OrderedDict(zip(headers, row))
468
468
  yield the_dict
469
469
 
470
470
  elif len(self.rownames) > 0:
@@ -473,7 +473,7 @@ class Sheet(Matrix):
473
473
  else:
474
474
  headers = self.rownames
475
475
  for column in self.columns():
476
- the_dict = compact.OrderedDict(zip(headers, column))
476
+ the_dict = OrderedDict(zip(headers, column))
477
477
  yield the_dict
478
478
 
479
479
  else:
@@ -543,7 +543,7 @@ class Sheet(Matrix):
543
543
 
544
544
  def to_dict(self, row=False):
545
545
  """Returns a dictionary"""
546
- the_dict = compact.OrderedDict()
546
+ the_dict = OrderedDict()
547
547
  if len(self.colnames) > 0 and row is False:
548
548
  for column in self.named_columns():
549
549
  the_dict.update(column)