numdaplot 0.1.0__py3-none-any.whl

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 (474) hide show
  1. numdaplot/__init__.py +506 -0
  2. numdaplot/arrays/__init__.py +5 -0
  3. numdaplot/arrays/array.py +92 -0
  4. numdaplot/arrays/array_arithmetic.py +404 -0
  5. numdaplot/arrays/array_calculation.py +143 -0
  6. numdaplot/arrays/array_conversion.py +150 -0
  7. numdaplot/arrays/array_creation.py +371 -0
  8. numdaplot/arrays/array_data.py +281 -0
  9. numdaplot/arrays/array_layout.py +179 -0
  10. numdaplot/arrays/array_logic.py +227 -0
  11. numdaplot/arrays/array_reflected_arithmetic.py +334 -0
  12. numdaplot/arrays/array_refusals.py +339 -0
  13. numdaplot/arrays/array_selection.py +195 -0
  14. numdaplot/arrays/array_sorting.py +59 -0
  15. numdaplot/arrays/axis_number.py +58 -0
  16. numdaplot/arrays/calculation/__init__.py +5 -0
  17. numdaplot/arrays/calculation/counting_statistics.py +325 -0
  18. numdaplot/arrays/calculation/location_statistics.py +268 -0
  19. numdaplot/arrays/calculation/math_function_values.py +183 -0
  20. numdaplot/arrays/calculation/statistic_values.py +209 -0
  21. numdaplot/arrays/calculation/time_function_values.py +419 -0
  22. numdaplot/arrays/conversion/__init__.py +5 -0
  23. numdaplot/arrays/conversion/array_text.py +62 -0
  24. numdaplot/arrays/conversion/equality_check.py +72 -0
  25. numdaplot/arrays/conversion/python_values.py +70 -0
  26. numdaplot/arrays/conversion/time_text.py +290 -0
  27. numdaplot/arrays/creation/__init__.py +5 -0
  28. numdaplot/arrays/creation/date_parts.py +89 -0
  29. numdaplot/arrays/creation/date_parts_values.py +437 -0
  30. numdaplot/arrays/creation/distribution.py +54 -0
  31. numdaplot/arrays/creation/filled_values.py +58 -0
  32. numdaplot/arrays/creation/list_conversion.py +311 -0
  33. numdaplot/arrays/creation/list_shape.py +97 -0
  34. numdaplot/arrays/creation/normal.py +65 -0
  35. numdaplot/arrays/creation/numpy_conversion.py +149 -0
  36. numdaplot/arrays/creation/random_integers.py +104 -0
  37. numdaplot/arrays/creation/random_values.py +97 -0
  38. numdaplot/arrays/creation/range_values.py +73 -0
  39. numdaplot/arrays/creation/spacing.py +84 -0
  40. numdaplot/arrays/creation/spacing_values.py +63 -0
  41. numdaplot/arrays/creation/uniform.py +63 -0
  42. numdaplot/arrays/equality.py +68 -0
  43. numdaplot/arrays/layout/__init__.py +5 -0
  44. numdaplot/arrays/layout/sorting_values.py +113 -0
  45. numdaplot/arrays/layout/unique_values.py +49 -0
  46. numdaplot/arrays/mapping/__init__.py +5 -0
  47. numdaplot/arrays/mapping/mapped_values.py +286 -0
  48. numdaplot/arrays/mapping/unmatched.py +50 -0
  49. numdaplot/arrays/mapping/value_change.py +55 -0
  50. numdaplot/arrays/mapping/value_mapping.py +161 -0
  51. numdaplot/arrays/math_functions/__init__.py +5 -0
  52. numdaplot/arrays/math_functions/absolute.py +27 -0
  53. numdaplot/arrays/math_functions/cosine.py +28 -0
  54. numdaplot/arrays/math_functions/exponential.py +27 -0
  55. numdaplot/arrays/math_functions/logarithm.py +72 -0
  56. numdaplot/arrays/math_functions/math_function.py +58 -0
  57. numdaplot/arrays/math_functions/round.py +58 -0
  58. numdaplot/arrays/math_functions/sine.py +28 -0
  59. numdaplot/arrays/math_functions/square_root.py +27 -0
  60. numdaplot/arrays/operations/__init__.py +5 -0
  61. numdaplot/arrays/operations/boolean_operands.py +48 -0
  62. numdaplot/arrays/operations/combination.py +157 -0
  63. numdaplot/arrays/operations/float_errors.py +170 -0
  64. numdaplot/arrays/operations/integer_bounds.py +175 -0
  65. numdaplot/arrays/operations/integer_rules.py +397 -0
  66. numdaplot/arrays/operations/operand.py +139 -0
  67. numdaplot/arrays/operations/time_arithmetic.py +479 -0
  68. numdaplot/arrays/operations/time_bounds.py +286 -0
  69. numdaplot/arrays/operations/time_result_bounds.py +397 -0
  70. numdaplot/arrays/operations/transformation.py +54 -0
  71. numdaplot/arrays/operations/type_requirements.py +94 -0
  72. numdaplot/arrays/replacement.py +66 -0
  73. numdaplot/arrays/selection/__init__.py +5 -0
  74. numdaplot/arrays/selection/comparison_masks.py +131 -0
  75. numdaplot/arrays/selection/membership_masks.py +118 -0
  76. numdaplot/arrays/selection/missing_mask.py +50 -0
  77. numdaplot/arrays/selection/region_index.py +178 -0
  78. numdaplot/arrays/selection/replaced_values.py +120 -0
  79. numdaplot/arrays/selection/rule_mask.py +83 -0
  80. numdaplot/arrays/selection/time_reference.py +172 -0
  81. numdaplot/arrays/shape.py +74 -0
  82. numdaplot/arrays/type_match.py +51 -0
  83. numdaplot/data_types/__init__.py +5 -0
  84. numdaplot/data_types/library.py +57 -0
  85. numdaplot/data_types/numpy_mapping.py +207 -0
  86. numdaplot/data_types/pandas_mapping.py +114 -0
  87. numdaplot/data_types/time_of_day.py +292 -0
  88. numdaplot/data_types/type.py +224 -0
  89. numdaplot/data_types/value_family.py +149 -0
  90. numdaplot/data_types/value_type.py +147 -0
  91. numdaplot/dates/__init__.py +5 -0
  92. numdaplot/dates/custom_date_format.py +83 -0
  93. numdaplot/dates/date_format.py +120 -0
  94. numdaplot/dates/date_part.py +59 -0
  95. numdaplot/dates/date_part_unit.py +153 -0
  96. numdaplot/dates/date_period.py +57 -0
  97. numdaplot/dates/duration_in.py +58 -0
  98. numdaplot/dates/duration_unit.py +90 -0
  99. numdaplot/dates/period_unit.py +101 -0
  100. numdaplot/dates/time_function.py +56 -0
  101. numdaplot/dates/time_zone.py +68 -0
  102. numdaplot/dates/time_zone_change.py +71 -0
  103. numdaplot/dates/time_zone_mode.py +81 -0
  104. numdaplot/dates/to_duration.py +58 -0
  105. numdaplot/errors/__init__.py +7 -0
  106. numdaplot/errors/broadcast_warning.py +36 -0
  107. numdaplot/errors/calculation_warning.py +35 -0
  108. numdaplot/errors/cell_out_of_range_error.py +77 -0
  109. numdaplot/errors/column_not_found_error.py +64 -0
  110. numdaplot/errors/conflicting_settings_error.py +60 -0
  111. numdaplot/errors/dimension_error.py +62 -0
  112. numdaplot/errors/display_warning.py +32 -0
  113. numdaplot/errors/duplicate_column_error.py +82 -0
  114. numdaplot/errors/duplicate_label_error.py +55 -0
  115. numdaplot/errors/duplicate_statistic_error.py +55 -0
  116. numdaplot/errors/duplicate_value_error.py +54 -0
  117. numdaplot/errors/empty_array_error.py +55 -0
  118. numdaplot/errors/empty_list_error.py +52 -0
  119. numdaplot/errors/empty_region_error.py +34 -0
  120. numdaplot/errors/empty_text_error.py +34 -0
  121. numdaplot/errors/empty_total_error.py +62 -0
  122. numdaplot/errors/empty_values_error.py +34 -0
  123. numdaplot/errors/file_access_error.py +70 -0
  124. numdaplot/errors/file_exists_error.py +62 -0
  125. numdaplot/errors/file_not_found_error.py +56 -0
  126. numdaplot/errors/incompatible_charts_error.py +80 -0
  127. numdaplot/errors/incompatible_types_error.py +104 -0
  128. numdaplot/errors/integer_overflow_error.py +61 -0
  129. numdaplot/errors/invalid_base_error.py +52 -0
  130. numdaplot/errors/invalid_bin_width_error.py +66 -0
  131. numdaplot/errors/invalid_bounds_error.py +58 -0
  132. numdaplot/errors/invalid_chart_data_error.py +81 -0
  133. numdaplot/errors/invalid_color_count_error.py +63 -0
  134. numdaplot/errors/invalid_color_error.py +51 -0
  135. numdaplot/errors/invalid_column_name_error.py +52 -0
  136. numdaplot/errors/invalid_conversion_error.py +119 -0
  137. numdaplot/errors/invalid_count_error.py +61 -0
  138. numdaplot/errors/invalid_date_format_error.py +51 -0
  139. numdaplot/errors/invalid_deviation_error.py +52 -0
  140. numdaplot/errors/invalid_fraction_error.py +51 -0
  141. numdaplot/errors/invalid_label_count_error.py +61 -0
  142. numdaplot/errors/invalid_limits_error.py +111 -0
  143. numdaplot/errors/invalid_opacity_error.py +52 -0
  144. numdaplot/errors/invalid_point_size_error.py +52 -0
  145. numdaplot/errors/invalid_position_error.py +106 -0
  146. numdaplot/errors/invalid_resolution_error.py +51 -0
  147. numdaplot/errors/invalid_rotation_error.py +53 -0
  148. numdaplot/errors/invalid_seed_error.py +53 -0
  149. numdaplot/errors/invalid_separator_error.py +52 -0
  150. numdaplot/errors/invalid_shape_error.py +52 -0
  151. numdaplot/errors/invalid_sheet_name_error.py +54 -0
  152. numdaplot/errors/invalid_size_error.py +58 -0
  153. numdaplot/errors/invalid_step_error.py +77 -0
  154. numdaplot/errors/invalid_suffixes_error.py +61 -0
  155. numdaplot/errors/invalid_time_zone_change_error.py +63 -0
  156. numdaplot/errors/invalid_type_error.py +79 -0
  157. numdaplot/errors/irregular_list_error.py +36 -0
  158. numdaplot/errors/join_relation_error.py +183 -0
  159. numdaplot/errors/missing_dependency_error.py +58 -0
  160. numdaplot/errors/missing_type_error.py +36 -0
  161. numdaplot/errors/missing_value_error.py +62 -0
  162. numdaplot/errors/not_single_value_error.py +53 -0
  163. numdaplot/errors/numdaplot_error.py +25 -0
  164. numdaplot/errors/numdaplot_warning.py +34 -0
  165. numdaplot/errors/occupied_cell_error.py +63 -0
  166. numdaplot/errors/out_of_domain_error.py +70 -0
  167. numdaplot/errors/readability_warning.py +35 -0
  168. numdaplot/errors/refused_operation_error.py +64 -0
  169. numdaplot/errors/refused_setting_error.py +60 -0
  170. numdaplot/errors/rejected_dates.py +60 -0
  171. numdaplot/errors/repeated_key.py +36 -0
  172. numdaplot/errors/shape_mismatch_error.py +67 -0
  173. numdaplot/errors/time_overflow_error.py +131 -0
  174. numdaplot/errors/time_zone_mismatch_error.py +83 -0
  175. numdaplot/errors/unknown_time_zone_error.py +51 -0
  176. numdaplot/errors/unmatched_value_error.py +81 -0
  177. numdaplot/errors/unsupported_image_format_error.py +56 -0
  178. numdaplot/errors/unsupported_index_error.py +38 -0
  179. numdaplot/errors/unsupported_missing_error.py +129 -0
  180. numdaplot/errors/unsupported_type_error.py +62 -0
  181. numdaplot/errors/value_conversion_error.py +215 -0
  182. numdaplot/ordering/__init__.py +5 -0
  183. numdaplot/ordering/missing_position.py +46 -0
  184. numdaplot/ordering/order.py +46 -0
  185. numdaplot/package_version.py +36 -0
  186. numdaplot/plots/__init__.py +5 -0
  187. numdaplot/plots/chart_layer.py +47 -0
  188. numdaplot/plots/charts/__init__.py +5 -0
  189. numdaplot/plots/charts/bar_chart.py +98 -0
  190. numdaplot/plots/charts/bar_layout.py +58 -0
  191. numdaplot/plots/charts/bin_count.py +61 -0
  192. numdaplot/plots/charts/bin_width.py +78 -0
  193. numdaplot/plots/charts/box_chart.py +97 -0
  194. numdaplot/plots/charts/cell_values.py +61 -0
  195. numdaplot/plots/charts/chart.py +59 -0
  196. numdaplot/plots/charts/chart_settings.py +105 -0
  197. numdaplot/plots/charts/color_scale.py +147 -0
  198. numdaplot/plots/charts/heatmap_chart.py +92 -0
  199. numdaplot/plots/charts/histogram_chart.py +93 -0
  200. numdaplot/plots/charts/line_chart.py +100 -0
  201. numdaplot/plots/charts/line_type.py +75 -0
  202. numdaplot/plots/charts/marker_shape.py +113 -0
  203. numdaplot/plots/charts/missing_chart.py +60 -0
  204. numdaplot/plots/charts/missing_map_chart.py +27 -0
  205. numdaplot/plots/charts/orientation.py +58 -0
  206. numdaplot/plots/charts/outliers.py +49 -0
  207. numdaplot/plots/charts/percentages.py +55 -0
  208. numdaplot/plots/charts/pie_chart.py +87 -0
  209. numdaplot/plots/charts/scatter_chart.py +159 -0
  210. numdaplot/plots/charts/value_axis.py +66 -0
  211. numdaplot/plots/data/__init__.py +5 -0
  212. numdaplot/plots/data/array_values.py +128 -0
  213. numdaplot/plots/data/chart_data.py +143 -0
  214. numdaplot/plots/data/chart_values.py +109 -0
  215. numdaplot/plots/data/column_reading.py +468 -0
  216. numdaplot/plots/data/heatmap_values.py +63 -0
  217. numdaplot/plots/data/missing_cells.py +165 -0
  218. numdaplot/plots/data/pie_values.py +215 -0
  219. numdaplot/plots/data/point_values.py +249 -0
  220. numdaplot/plots/data/position_kind.py +83 -0
  221. numdaplot/plots/data/renamed_layers.py +340 -0
  222. numdaplot/plots/data/sample_values.py +160 -0
  223. numdaplot/plots/data/shown_columns.py +248 -0
  224. numdaplot/plots/data/table_values.py +256 -0
  225. numdaplot/plots/data/unique_labels.py +45 -0
  226. numdaplot/plots/drawing/__init__.py +5 -0
  227. numdaplot/plots/drawing/bar_drawing.py +316 -0
  228. numdaplot/plots/drawing/box_drawing.py +344 -0
  229. numdaplot/plots/drawing/cell_merging.py +237 -0
  230. numdaplot/plots/drawing/chart_texts.py +124 -0
  231. numdaplot/plots/drawing/color_bar.py +57 -0
  232. numdaplot/plots/drawing/color_scale_values.py +120 -0
  233. numdaplot/plots/drawing/default_labels.py +41 -0
  234. numdaplot/plots/drawing/drawn_chart.py +50 -0
  235. numdaplot/plots/drawing/grid_axes.py +75 -0
  236. numdaplot/plots/drawing/heatmap_drawing.py +313 -0
  237. numdaplot/plots/drawing/histogram_drawing.py +350 -0
  238. numdaplot/plots/drawing/label_room.py +344 -0
  239. numdaplot/plots/drawing/label_thinning.py +216 -0
  240. numdaplot/plots/drawing/layer_alignment.py +319 -0
  241. numdaplot/plots/drawing/layer_colors.py +123 -0
  242. numdaplot/plots/drawing/line_drawing.py +85 -0
  243. numdaplot/plots/drawing/marker_codes.py +20 -0
  244. numdaplot/plots/drawing/missing_drawing.py +360 -0
  245. numdaplot/plots/drawing/moment_period_formatter.py +253 -0
  246. numdaplot/plots/drawing/pie_drawing.py +185 -0
  247. numdaplot/plots/drawing/plot_axes.py +38 -0
  248. numdaplot/plots/drawing/plot_drawing.py +288 -0
  249. numdaplot/plots/drawing/plot_theme.py +45 -0
  250. numdaplot/plots/drawing/position_axis.py +278 -0
  251. numdaplot/plots/drawing/scatter_drawing.py +364 -0
  252. numdaplot/plots/drawing/series_colors.py +177 -0
  253. numdaplot/plots/drawing/size_inches.py +45 -0
  254. numdaplot/plots/drawing/style_drawing.py +410 -0
  255. numdaplot/plots/drawing/text_contrast.py +44 -0
  256. numdaplot/plots/drawing/tick_rotation.py +354 -0
  257. numdaplot/plots/drawing/time_axis.py +212 -0
  258. numdaplot/plots/drawing/whole_numbers.py +72 -0
  259. numdaplot/plots/figure/__init__.py +5 -0
  260. numdaplot/plots/figure/cell.py +95 -0
  261. numdaplot/plots/figure/figure.py +256 -0
  262. numdaplot/plots/figure/figure_drawing.py +99 -0
  263. numdaplot/plots/figure/figure_style.py +60 -0
  264. numdaplot/plots/figure/layout.py +71 -0
  265. numdaplot/plots/figure/placement.py +150 -0
  266. numdaplot/plots/layer_reading.py +166 -0
  267. numdaplot/plots/output/__init__.py +5 -0
  268. numdaplot/plots/output/image_saving.py +187 -0
  269. numdaplot/plots/output/plot_display.py +181 -0
  270. numdaplot/plots/output/shown_object.py +45 -0
  271. numdaplot/plots/overlay_checks.py +245 -0
  272. numdaplot/plots/plot.py +31 -0
  273. numdaplot/plots/plot_data.py +140 -0
  274. numdaplot/plots/plot_distribution_creation.py +237 -0
  275. numdaplot/plots/plot_output.py +124 -0
  276. numdaplot/plots/plot_overlays.py +273 -0
  277. numdaplot/plots/plot_overview_creation.py +195 -0
  278. numdaplot/plots/plot_series_creation.py +213 -0
  279. numdaplot/plots/style/__init__.py +5 -0
  280. numdaplot/plots/style/axis_settings.py +60 -0
  281. numdaplot/plots/style/color.py +168 -0
  282. numdaplot/plots/style/custom_color.py +65 -0
  283. numdaplot/plots/style/grid_lines.py +49 -0
  284. numdaplot/plots/style/image_options.py +71 -0
  285. numdaplot/plots/style/legend_position.py +149 -0
  286. numdaplot/plots/style/plot_style.py +136 -0
  287. numdaplot/plots/style/size.py +70 -0
  288. numdaplot/plots/style/size_unit.py +62 -0
  289. numdaplot/positions/__init__.py +5 -0
  290. numdaplot/positions/axis.py +54 -0
  291. numdaplot/positions/index.py +51 -0
  292. numdaplot/positions/range.py +90 -0
  293. numdaplot/positions/region.py +92 -0
  294. numdaplot/py.typed +0 -0
  295. numdaplot/ratios/__init__.py +5 -0
  296. numdaplot/ratios/fraction.py +40 -0
  297. numdaplot/ratios/measure.py +48 -0
  298. numdaplot/rules/__init__.py +5 -0
  299. numdaplot/rules/between.py +78 -0
  300. numdaplot/rules/bounds.py +83 -0
  301. numdaplot/rules/case.py +48 -0
  302. numdaplot/rules/contains.py +63 -0
  303. numdaplot/rules/equal.py +43 -0
  304. numdaplot/rules/greater.py +39 -0
  305. numdaplot/rules/greater_or_equal.py +38 -0
  306. numdaplot/rules/is_in.py +67 -0
  307. numdaplot/rules/is_missing.py +25 -0
  308. numdaplot/rules/is_present.py +25 -0
  309. numdaplot/rules/less.py +39 -0
  310. numdaplot/rules/less_or_equal.py +38 -0
  311. numdaplot/rules/not_equal.py +45 -0
  312. numdaplot/rules/rule.py +62 -0
  313. numdaplot/rules/rule_values.py +44 -0
  314. numdaplot/rules/value_rule.py +110 -0
  315. numdaplot/settings/__init__.py +5 -0
  316. numdaplot/settings/argument_types.py +327 -0
  317. numdaplot/settings/field_types.py +593 -0
  318. numdaplot/statistics/__init__.py +5 -0
  319. numdaplot/statistics/count.py +71 -0
  320. numdaplot/statistics/count_distinct.py +27 -0
  321. numdaplot/statistics/counted_missing.py +46 -0
  322. numdaplot/statistics/maximum.py +27 -0
  323. numdaplot/statistics/mean.py +27 -0
  324. numdaplot/statistics/median.py +27 -0
  325. numdaplot/statistics/minimum.py +27 -0
  326. numdaplot/statistics/most_frequent.py +27 -0
  327. numdaplot/statistics/most_frequent_count.py +27 -0
  328. numdaplot/statistics/quantile.py +61 -0
  329. numdaplot/statistics/standard_deviation.py +29 -0
  330. numdaplot/statistics/statistic.py +63 -0
  331. numdaplot/statistics/sum.py +27 -0
  332. numdaplot/tables/__init__.py +5 -0
  333. numdaplot/tables/aggregation/__init__.py +5 -0
  334. numdaplot/tables/aggregation/aggregated_frame.py +189 -0
  335. numdaplot/tables/aggregation/aggregation.py +97 -0
  336. numdaplot/tables/aggregation/calculation.py +123 -0
  337. numdaplot/tables/aggregation/result_column.py +108 -0
  338. numdaplot/tables/aggregation/row_groups.py +96 -0
  339. numdaplot/tables/aggregation/statistic_name.py +122 -0
  340. numdaplot/tables/columns/__init__.py +5 -0
  341. numdaplot/tables/columns/added_column.py +89 -0
  342. numdaplot/tables/columns/boolean_conversion.py +144 -0
  343. numdaplot/tables/columns/boolean_rule.py +59 -0
  344. numdaplot/tables/columns/bracket_end.py +50 -0
  345. numdaplot/tables/columns/bracket_names.py +346 -0
  346. numdaplot/tables/columns/bracketed_column.py +179 -0
  347. numdaplot/tables/columns/brackets.py +234 -0
  348. numdaplot/tables/columns/chosen_columns.py +55 -0
  349. numdaplot/tables/columns/column_choice.py +84 -0
  350. numdaplot/tables/columns/column_mode.py +64 -0
  351. numdaplot/tables/columns/column_names.py +186 -0
  352. numdaplot/tables/columns/conversion.py +103 -0
  353. numdaplot/tables/columns/converted_column.py +669 -0
  354. numdaplot/tables/columns/date_conversion.py +526 -0
  355. numdaplot/tables/columns/date_range.py +135 -0
  356. numdaplot/tables/columns/name_change.py +67 -0
  357. numdaplot/tables/columns/new_column.py +79 -0
  358. numdaplot/tables/columns/number_conversion.py +281 -0
  359. numdaplot/tables/columns/renamed_columns.py +60 -0
  360. numdaplot/tables/columns/renaming.py +81 -0
  361. numdaplot/tables/columns/text_conversion.py +70 -0
  362. numdaplot/tables/columns/time_conversion.py +313 -0
  363. numdaplot/tables/columns/time_zone_conversion.py +128 -0
  364. numdaplot/tables/conflict.py +68 -0
  365. numdaplot/tables/description/__init__.py +5 -0
  366. numdaplot/tables/description/described_frame.py +335 -0
  367. numdaplot/tables/description/description.py +155 -0
  368. numdaplot/tables/duplicates/__init__.py +5 -0
  369. numdaplot/tables/duplicates/deduplicated_frame.py +66 -0
  370. numdaplot/tables/duplicates/deduplication.py +88 -0
  371. numdaplot/tables/duplicates/keep.py +81 -0
  372. numdaplot/tables/files/__init__.py +5 -0
  373. numdaplot/tables/files/column_names.py +60 -0
  374. numdaplot/tables/files/csv_file.py +265 -0
  375. numdaplot/tables/files/csv_read_options.py +89 -0
  376. numdaplot/tables/files/csv_separator.py +41 -0
  377. numdaplot/tables/files/csv_write_options.py +79 -0
  378. numdaplot/tables/files/decimal_count.py +42 -0
  379. numdaplot/tables/files/encoding.py +82 -0
  380. numdaplot/tables/files/excel_file.py +171 -0
  381. numdaplot/tables/files/excel_read_options.py +79 -0
  382. numdaplot/tables/files/excel_sheet.py +50 -0
  383. numdaplot/tables/files/excel_time_cells.py +146 -0
  384. numdaplot/tables/files/excel_write_options.py +63 -0
  385. numdaplot/tables/files/file_access.py +152 -0
  386. numdaplot/tables/files/file_paths.py +106 -0
  387. numdaplot/tables/files/json_decimals.py +387 -0
  388. numdaplot/tables/files/json_file.py +203 -0
  389. numdaplot/tables/files/json_layout.py +63 -0
  390. numdaplot/tables/files/json_read_options.py +64 -0
  391. numdaplot/tables/files/json_write_options.py +71 -0
  392. numdaplot/tables/files/missing_texts.py +63 -0
  393. numdaplot/tables/files/optional_package.py +42 -0
  394. numdaplot/tables/files/pandas_backend.py +11 -0
  395. numdaplot/tables/files/parquet_file.py +91 -0
  396. numdaplot/tables/files/parquet_read_options.py +56 -0
  397. numdaplot/tables/files/sas_file.py +94 -0
  398. numdaplot/tables/files/sas_read_options.py +67 -0
  399. numdaplot/tables/files/stata_file.py +83 -0
  400. numdaplot/tables/files/stata_read_options.py +56 -0
  401. numdaplot/tables/files/xpt_read_options.py +65 -0
  402. numdaplot/tables/filtering/__init__.py +5 -0
  403. numdaplot/tables/filtering/checked_frame.py +60 -0
  404. numdaplot/tables/filtering/column_mask.py +71 -0
  405. numdaplot/tables/filtering/column_match.py +62 -0
  406. numdaplot/tables/filtering/condition.py +94 -0
  407. numdaplot/tables/filtering/filter.py +74 -0
  408. numdaplot/tables/filtering/filter_mode.py +67 -0
  409. numdaplot/tables/filtering/row_mask.py +152 -0
  410. numdaplot/tables/filtering/rule_moments.py +164 -0
  411. numdaplot/tables/frames/__init__.py +5 -0
  412. numdaplot/tables/frames/array_frame.py +95 -0
  413. numdaplot/tables/frames/cleaned_names.py +132 -0
  414. numdaplot/tables/frames/column.py +15 -0
  415. numdaplot/tables/frames/column_values.py +273 -0
  416. numdaplot/tables/frames/frame_equality.py +130 -0
  417. numdaplot/tables/frames/frame_normalization.py +459 -0
  418. numdaplot/tables/frames/named_column_errors.py +85 -0
  419. numdaplot/tables/frames/pandas_decimals.py +113 -0
  420. numdaplot/tables/frames/region_positions.py +113 -0
  421. numdaplot/tables/frames/table_text.py +222 -0
  422. numdaplot/tables/frames/time_columns.py +345 -0
  423. numdaplot/tables/frames/time_range_errors.py +117 -0
  424. numdaplot/tables/frames/time_zones.py +271 -0
  425. numdaplot/tables/joining/__init__.py +5 -0
  426. numdaplot/tables/joining/join.py +110 -0
  427. numdaplot/tables/joining/join_keys.py +367 -0
  428. numdaplot/tables/joining/join_mode.py +93 -0
  429. numdaplot/tables/joining/join_relation.py +149 -0
  430. numdaplot/tables/joining/join_suffixes.py +71 -0
  431. numdaplot/tables/joining/joined_frame.py +166 -0
  432. numdaplot/tables/joining/joined_names.py +107 -0
  433. numdaplot/tables/joining/joined_rows.py +235 -0
  434. numdaplot/tables/joining/key_types.py +57 -0
  435. numdaplot/tables/joining/relation.py +78 -0
  436. numdaplot/tables/missing/__init__.py +5 -0
  437. numdaplot/tables/missing/missing_count.py +59 -0
  438. numdaplot/tables/missing/missing_counts.py +214 -0
  439. numdaplot/tables/missing/missing_drop.py +98 -0
  440. numdaplot/tables/missing/missing_mode.py +63 -0
  441. numdaplot/tables/missing/missing_ratio.py +71 -0
  442. numdaplot/tables/missing/missing_removal.py +257 -0
  443. numdaplot/tables/missing/missing_summary.py +174 -0
  444. numdaplot/tables/missing/ratio_comparison.py +70 -0
  445. numdaplot/tables/pivot/__init__.py +5 -0
  446. numdaplot/tables/pivot/pivot_table.py +104 -0
  447. numdaplot/tables/pivot/pivoted_frame.py +244 -0
  448. numdaplot/tables/preview/__init__.py +5 -0
  449. numdaplot/tables/preview/notebook_display.py +238 -0
  450. numdaplot/tables/preview/preview.py +100 -0
  451. numdaplot/tables/preview/preview_rows.py +55 -0
  452. numdaplot/tables/preview/shown_columns.py +62 -0
  453. numdaplot/tables/preview/side.py +82 -0
  454. numdaplot/tables/sorting/__init__.py +5 -0
  455. numdaplot/tables/sorting/sort_key.py +71 -0
  456. numdaplot/tables/sorting/sorted_frame.py +81 -0
  457. numdaplot/tables/sorting/sorting.py +82 -0
  458. numdaplot/tables/table.py +71 -0
  459. numdaplot/tables/table_calculation.py +172 -0
  460. numdaplot/tables/table_columns.py +214 -0
  461. numdaplot/tables/table_conversion.py +351 -0
  462. numdaplot/tables/table_data.py +321 -0
  463. numdaplot/tables/table_display.py +56 -0
  464. numdaplot/tables/table_joining.py +80 -0
  465. numdaplot/tables/table_layout.py +105 -0
  466. numdaplot/tables/table_missing.py +146 -0
  467. numdaplot/tables/table_reading.py +451 -0
  468. numdaplot/tables/table_refusals.py +295 -0
  469. numdaplot/tables/table_selection.py +163 -0
  470. numdaplot/tables/table_writing.py +269 -0
  471. numdaplot-0.1.0.dist-info/METADATA +176 -0
  472. numdaplot-0.1.0.dist-info/RECORD +474 -0
  473. numdaplot-0.1.0.dist-info/WHEEL +4 -0
  474. numdaplot-0.1.0.dist-info/licenses/LICENSE +28 -0
numdaplot/__init__.py ADDED
@@ -0,0 +1,506 @@
1
+ """
2
+ numdaplot: a simpler, explicit API over numpy, pandas and matplotlib.
3
+
4
+ Import it as ``ndp``; every public name is available directly under it.
5
+
6
+ .. versionadded:: 0.1.0
7
+
8
+ Examples
9
+ --------
10
+ >>> import numdaplot as ndp
11
+ >>> prices = ndp.Array.from_list([12.5, None, 30.0])
12
+ >>> prices.select(ndp.Greater(20))
13
+ Array([30.], dtype=FLOAT64)
14
+ >>> prices.compute(ndp.Mean()).to_value()
15
+ 21.25
16
+ """
17
+
18
+ from numdaplot.arrays.array import Array
19
+ from numdaplot.arrays.array_sorting import ArraySorting
20
+ from numdaplot.arrays.creation.date_parts import DateParts
21
+ from numdaplot.arrays.creation.distribution import Distribution
22
+ from numdaplot.arrays.creation.normal import Normal
23
+ from numdaplot.arrays.creation.random_integers import RandomIntegers
24
+ from numdaplot.arrays.creation.spacing import Spacing
25
+ from numdaplot.arrays.creation.uniform import Uniform
26
+ from numdaplot.arrays.equality import Equality
27
+ from numdaplot.arrays.mapping.unmatched import Unmatched
28
+ from numdaplot.arrays.mapping.value_change import ValueChange
29
+ from numdaplot.arrays.mapping.value_mapping import ValueMapping
30
+ from numdaplot.arrays.math_functions.absolute import Absolute
31
+ from numdaplot.arrays.math_functions.cosine import Cosine
32
+ from numdaplot.arrays.math_functions.exponential import Exponential
33
+ from numdaplot.arrays.math_functions.logarithm import Logarithm
34
+ from numdaplot.arrays.math_functions.math_function import MathFunction
35
+ from numdaplot.arrays.math_functions.round import Round
36
+ from numdaplot.arrays.math_functions.sine import Sine
37
+ from numdaplot.arrays.math_functions.square_root import SquareRoot
38
+ from numdaplot.arrays.replacement import Replacement
39
+ from numdaplot.arrays.shape import Shape
40
+ from numdaplot.arrays.type_match import TypeMatch
41
+ from numdaplot.data_types.library import Library
42
+ from numdaplot.data_types.type import Type
43
+ from numdaplot.dates.custom_date_format import CustomDateFormat
44
+ from numdaplot.dates.date_format import DateFormat
45
+ from numdaplot.dates.date_part import DatePart
46
+ from numdaplot.dates.date_part_unit import DatePartUnit
47
+ from numdaplot.dates.date_period import DatePeriod
48
+ from numdaplot.dates.duration_in import DurationIn
49
+ from numdaplot.dates.duration_unit import DurationUnit
50
+ from numdaplot.dates.period_unit import PeriodUnit
51
+ from numdaplot.dates.time_function import TimeFunction
52
+ from numdaplot.dates.time_zone import TimeZone
53
+ from numdaplot.dates.time_zone_change import TimeZoneChange
54
+ from numdaplot.dates.time_zone_mode import TimeZoneMode
55
+ from numdaplot.dates.to_duration import ToDuration
56
+ from numdaplot.errors.broadcast_warning import BroadcastWarning
57
+ from numdaplot.errors.calculation_warning import CalculationWarning
58
+ from numdaplot.errors.cell_out_of_range_error import CellOutOfRangeError
59
+ from numdaplot.errors.column_not_found_error import ColumnNotFoundError
60
+ from numdaplot.errors.conflicting_settings_error import ConflictingSettingsError
61
+ from numdaplot.errors.dimension_error import DimensionError
62
+ from numdaplot.errors.display_warning import DisplayWarning
63
+ from numdaplot.errors.duplicate_column_error import DuplicateColumnError
64
+ from numdaplot.errors.duplicate_label_error import DuplicateLabelError
65
+ from numdaplot.errors.duplicate_statistic_error import DuplicateStatisticError
66
+ from numdaplot.errors.duplicate_value_error import DuplicateValueError
67
+ from numdaplot.errors.empty_array_error import EmptyArrayError
68
+ from numdaplot.errors.empty_list_error import EmptyListError
69
+ from numdaplot.errors.empty_region_error import EmptyRegionError
70
+ from numdaplot.errors.empty_text_error import EmptyTextError
71
+ from numdaplot.errors.empty_total_error import EmptyTotalError
72
+ from numdaplot.errors.empty_values_error import EmptyValuesError
73
+ from numdaplot.errors.file_access_error import FileAccessError
74
+ from numdaplot.errors.file_exists_error import FileExistsError
75
+ from numdaplot.errors.file_not_found_error import FileNotFoundError
76
+ from numdaplot.errors.incompatible_charts_error import IncompatibleChartsError
77
+ from numdaplot.errors.incompatible_types_error import IncompatibleTypesError
78
+ from numdaplot.errors.integer_overflow_error import IntegerOverflowError
79
+ from numdaplot.errors.invalid_base_error import InvalidBaseError
80
+ from numdaplot.errors.invalid_bin_width_error import InvalidBinWidthError
81
+ from numdaplot.errors.invalid_bounds_error import InvalidBoundsError
82
+ from numdaplot.errors.invalid_chart_data_error import InvalidChartDataError
83
+ from numdaplot.errors.invalid_color_count_error import InvalidColorCountError
84
+ from numdaplot.errors.invalid_color_error import InvalidColorError
85
+ from numdaplot.errors.invalid_column_name_error import InvalidColumnNameError
86
+ from numdaplot.errors.invalid_conversion_error import InvalidConversionError
87
+ from numdaplot.errors.invalid_count_error import InvalidCountError
88
+ from numdaplot.errors.invalid_date_format_error import InvalidDateFormatError
89
+ from numdaplot.errors.invalid_deviation_error import InvalidDeviationError
90
+ from numdaplot.errors.invalid_fraction_error import InvalidFractionError
91
+ from numdaplot.errors.invalid_label_count_error import InvalidLabelCountError
92
+ from numdaplot.errors.invalid_limits_error import InvalidLimitsError
93
+ from numdaplot.errors.invalid_opacity_error import InvalidOpacityError
94
+ from numdaplot.errors.invalid_point_size_error import InvalidPointSizeError
95
+ from numdaplot.errors.invalid_position_error import InvalidPositionError
96
+ from numdaplot.errors.invalid_resolution_error import InvalidResolutionError
97
+ from numdaplot.errors.invalid_rotation_error import InvalidRotationError
98
+ from numdaplot.errors.invalid_seed_error import InvalidSeedError
99
+ from numdaplot.errors.invalid_separator_error import InvalidSeparatorError
100
+ from numdaplot.errors.invalid_shape_error import InvalidShapeError
101
+ from numdaplot.errors.invalid_sheet_name_error import InvalidSheetNameError
102
+ from numdaplot.errors.invalid_size_error import InvalidSizeError
103
+ from numdaplot.errors.invalid_step_error import InvalidStepError
104
+ from numdaplot.errors.invalid_suffixes_error import InvalidSuffixesError
105
+ from numdaplot.errors.invalid_time_zone_change_error import InvalidTimeZoneChangeError
106
+ from numdaplot.errors.invalid_type_error import InvalidTypeError
107
+ from numdaplot.errors.irregular_list_error import IrregularListError
108
+ from numdaplot.errors.missing_dependency_error import MissingDependencyError
109
+ from numdaplot.errors.missing_type_error import MissingTypeError
110
+ from numdaplot.errors.missing_value_error import MissingValueError
111
+ from numdaplot.errors.not_single_value_error import NotSingleValueError
112
+ from numdaplot.errors.numdaplot_error import NumdaplotError
113
+ from numdaplot.errors.numdaplot_warning import NumdaplotWarning
114
+ from numdaplot.errors.occupied_cell_error import OccupiedCellError
115
+ from numdaplot.errors.out_of_domain_error import OutOfDomainError
116
+ from numdaplot.errors.readability_warning import ReadabilityWarning
117
+ from numdaplot.errors.refused_operation_error import RefusedOperationError
118
+ from numdaplot.errors.refused_setting_error import RefusedSettingError
119
+ from numdaplot.errors.shape_mismatch_error import ShapeMismatchError
120
+ from numdaplot.errors.time_overflow_error import TimeOverflowError
121
+ from numdaplot.errors.time_zone_mismatch_error import TimeZoneMismatchError
122
+ from numdaplot.errors.unknown_time_zone_error import UnknownTimeZoneError
123
+ from numdaplot.errors.unmatched_value_error import UnmatchedValueError
124
+ from numdaplot.errors.unsupported_image_format_error import UnsupportedImageFormatError
125
+ from numdaplot.errors.unsupported_index_error import UnsupportedIndexError
126
+ from numdaplot.errors.unsupported_missing_error import UnsupportedMissingError
127
+ from numdaplot.errors.unsupported_type_error import UnsupportedTypeError
128
+ from numdaplot.errors.value_conversion_error import ValueConversionError
129
+ from numdaplot.ordering.missing_position import MissingPosition
130
+ from numdaplot.ordering.order import Order
131
+ from numdaplot.package_version import find_package_version
132
+ from numdaplot.plots.charts.bar_chart import BarChart
133
+ from numdaplot.plots.charts.bar_layout import BarLayout
134
+ from numdaplot.plots.charts.bin_count import BinCount
135
+ from numdaplot.plots.charts.bin_width import BinWidth
136
+ from numdaplot.plots.charts.box_chart import BoxChart
137
+ from numdaplot.plots.charts.cell_values import CellValues
138
+ from numdaplot.plots.charts.chart import Chart
139
+ from numdaplot.plots.charts.color_scale import ColorScale
140
+ from numdaplot.plots.charts.heatmap_chart import HeatmapChart
141
+ from numdaplot.plots.charts.histogram_chart import HistogramChart
142
+ from numdaplot.plots.charts.line_chart import LineChart
143
+ from numdaplot.plots.charts.line_type import LineType
144
+ from numdaplot.plots.charts.marker_shape import MarkerShape
145
+ from numdaplot.plots.charts.missing_chart import MissingChart
146
+ from numdaplot.plots.charts.orientation import Orientation
147
+ from numdaplot.plots.charts.outliers import Outliers
148
+ from numdaplot.plots.charts.percentages import Percentages
149
+ from numdaplot.plots.charts.pie_chart import PieChart
150
+ from numdaplot.plots.charts.scatter_chart import ScatterChart
151
+ from numdaplot.plots.charts.value_axis import ValueAxis
152
+ from numdaplot.plots.figure.cell import Cell
153
+ from numdaplot.plots.figure.figure import Figure
154
+ from numdaplot.plots.figure.figure_style import FigureStyle
155
+ from numdaplot.plots.figure.layout import Layout
156
+ from numdaplot.plots.plot import Plot
157
+ from numdaplot.plots.style.color import Color
158
+ from numdaplot.plots.style.custom_color import CustomColor
159
+ from numdaplot.plots.style.grid_lines import GridLines
160
+ from numdaplot.plots.style.image_options import ImageOptions
161
+ from numdaplot.plots.style.legend_position import LegendPosition
162
+ from numdaplot.plots.style.plot_style import PlotStyle
163
+ from numdaplot.plots.style.size import Size
164
+ from numdaplot.plots.style.size_unit import SizeUnit
165
+ from numdaplot.positions.axis import Axis
166
+ from numdaplot.positions.index import Index
167
+ from numdaplot.positions.range import Range
168
+ from numdaplot.positions.region import Region
169
+ from numdaplot.ratios.measure import Measure
170
+ from numdaplot.rules.between import Between
171
+ from numdaplot.rules.bounds import Bounds
172
+ from numdaplot.rules.case import Case
173
+ from numdaplot.rules.contains import Contains
174
+ from numdaplot.rules.equal import Equal
175
+ from numdaplot.rules.greater import Greater
176
+ from numdaplot.rules.greater_or_equal import GreaterOrEqual
177
+ from numdaplot.rules.is_in import IsIn
178
+ from numdaplot.rules.is_missing import IsMissing
179
+ from numdaplot.rules.is_present import IsPresent
180
+ from numdaplot.rules.less import Less
181
+ from numdaplot.rules.less_or_equal import LessOrEqual
182
+ from numdaplot.rules.not_equal import NotEqual
183
+ from numdaplot.rules.rule import Rule
184
+ from numdaplot.statistics.count import Count
185
+ from numdaplot.statistics.count_distinct import CountDistinct
186
+ from numdaplot.statistics.counted_missing import CountedMissing
187
+ from numdaplot.statistics.maximum import Max
188
+ from numdaplot.statistics.mean import Mean
189
+ from numdaplot.statistics.median import Median
190
+ from numdaplot.statistics.minimum import Min
191
+ from numdaplot.statistics.most_frequent import MostFrequent
192
+ from numdaplot.statistics.most_frequent_count import MostFrequentCount
193
+ from numdaplot.statistics.quantile import Quantile
194
+ from numdaplot.statistics.standard_deviation import StandardDeviation
195
+ from numdaplot.statistics.statistic import Statistic
196
+ from numdaplot.statistics.sum import Sum
197
+ from numdaplot.tables.aggregation.aggregation import Aggregation
198
+ from numdaplot.tables.aggregation.calculation import Calculation
199
+ from numdaplot.tables.columns.boolean_rule import BooleanRule
200
+ from numdaplot.tables.columns.bracket_end import BracketEnd
201
+ from numdaplot.tables.columns.brackets import Brackets
202
+ from numdaplot.tables.columns.column_choice import ColumnChoice
203
+ from numdaplot.tables.columns.column_mode import ColumnMode
204
+ from numdaplot.tables.columns.conversion import Conversion
205
+ from numdaplot.tables.columns.name_change import NameChange
206
+ from numdaplot.tables.columns.new_column import NewColumn
207
+ from numdaplot.tables.columns.renaming import Renaming
208
+ from numdaplot.tables.conflict import Conflict
209
+ from numdaplot.tables.description.description import Description
210
+ from numdaplot.tables.duplicates.deduplication import Deduplication
211
+ from numdaplot.tables.duplicates.keep import Keep
212
+ from numdaplot.tables.files.column_names import ColumnNames
213
+ from numdaplot.tables.files.csv_read_options import CsvReadOptions
214
+ from numdaplot.tables.files.csv_write_options import CsvWriteOptions
215
+ from numdaplot.tables.files.encoding import Encoding
216
+ from numdaplot.tables.files.excel_read_options import ExcelReadOptions
217
+ from numdaplot.tables.files.excel_write_options import ExcelWriteOptions
218
+ from numdaplot.tables.files.json_layout import JsonLayout
219
+ from numdaplot.tables.files.json_read_options import JsonReadOptions
220
+ from numdaplot.tables.files.json_write_options import JsonWriteOptions
221
+ from numdaplot.tables.files.parquet_read_options import ParquetReadOptions
222
+ from numdaplot.tables.files.sas_read_options import SasReadOptions
223
+ from numdaplot.tables.files.stata_read_options import StataReadOptions
224
+ from numdaplot.tables.files.xpt_read_options import XptReadOptions
225
+ from numdaplot.tables.filtering.column_match import ColumnMatch
226
+ from numdaplot.tables.filtering.condition import Condition
227
+ from numdaplot.tables.filtering.filter import Filter
228
+ from numdaplot.tables.filtering.filter_mode import FilterMode
229
+ from numdaplot.tables.joining.join import Join
230
+ from numdaplot.tables.joining.join_mode import JoinMode
231
+ from numdaplot.tables.joining.join_suffixes import JoinSuffixes
232
+ from numdaplot.tables.joining.key_types import KeyTypes
233
+ from numdaplot.tables.missing.missing_count import MissingCount
234
+ from numdaplot.tables.missing.missing_drop import MissingDrop
235
+ from numdaplot.tables.missing.missing_mode import MissingMode
236
+ from numdaplot.tables.missing.missing_ratio import MissingRatio
237
+ from numdaplot.tables.missing.ratio_comparison import RatioComparison
238
+ from numdaplot.tables.pivot.pivot_table import PivotTable
239
+ from numdaplot.tables.preview.preview import Preview
240
+ from numdaplot.tables.preview.shown_columns import ShownColumns
241
+ from numdaplot.tables.preview.side import Side
242
+ from numdaplot.tables.sorting.sort_key import SortKey
243
+ from numdaplot.tables.sorting.sorting import Sorting
244
+ from numdaplot.tables.table import Table
245
+
246
+ __version__ = find_package_version()
247
+ from numdaplot.errors.join_relation_error import JoinRelationError
248
+ from numdaplot.tables.joining.relation import Relation
249
+
250
+ __all__ = [
251
+ "Absolute",
252
+ "Aggregation",
253
+ "Array",
254
+ "ArraySorting",
255
+ "Axis",
256
+ "BarChart",
257
+ "BarLayout",
258
+ "Between",
259
+ "BinCount",
260
+ "BinWidth",
261
+ "BooleanRule",
262
+ "Bounds",
263
+ "BoxChart",
264
+ "BracketEnd",
265
+ "Brackets",
266
+ "BroadcastWarning",
267
+ "Calculation",
268
+ "CalculationWarning",
269
+ "Case",
270
+ "Cell",
271
+ "CellOutOfRangeError",
272
+ "CellValues",
273
+ "Chart",
274
+ "Color",
275
+ "ColorScale",
276
+ "ColumnChoice",
277
+ "ColumnMatch",
278
+ "ColumnMode",
279
+ "ColumnNames",
280
+ "ColumnNotFoundError",
281
+ "Condition",
282
+ "Conflict",
283
+ "ConflictingSettingsError",
284
+ "Contains",
285
+ "Conversion",
286
+ "Cosine",
287
+ "Count",
288
+ "CountDistinct",
289
+ "CountedMissing",
290
+ "CsvReadOptions",
291
+ "CsvWriteOptions",
292
+ "CustomColor",
293
+ "CustomDateFormat",
294
+ "DateFormat",
295
+ "DatePart",
296
+ "DatePartUnit",
297
+ "DateParts",
298
+ "DatePeriod",
299
+ "Deduplication",
300
+ "Description",
301
+ "DimensionError",
302
+ "DisplayWarning",
303
+ "Distribution",
304
+ "DuplicateColumnError",
305
+ "DuplicateLabelError",
306
+ "DuplicateStatisticError",
307
+ "DuplicateValueError",
308
+ "DurationIn",
309
+ "DurationUnit",
310
+ "EmptyArrayError",
311
+ "EmptyListError",
312
+ "EmptyRegionError",
313
+ "EmptyTextError",
314
+ "EmptyTotalError",
315
+ "EmptyValuesError",
316
+ "Encoding",
317
+ "Equal",
318
+ "Equality",
319
+ "ExcelReadOptions",
320
+ "ExcelWriteOptions",
321
+ "Exponential",
322
+ "Figure",
323
+ "FigureStyle",
324
+ "FileAccessError",
325
+ "FileExistsError",
326
+ "FileNotFoundError",
327
+ "Filter",
328
+ "FilterMode",
329
+ "Greater",
330
+ "GreaterOrEqual",
331
+ "GridLines",
332
+ "HeatmapChart",
333
+ "HistogramChart",
334
+ "ImageOptions",
335
+ "IncompatibleChartsError",
336
+ "IncompatibleTypesError",
337
+ "Index",
338
+ "IntegerOverflowError",
339
+ "InvalidBaseError",
340
+ "InvalidBinWidthError",
341
+ "InvalidBoundsError",
342
+ "InvalidChartDataError",
343
+ "InvalidColorCountError",
344
+ "InvalidColorError",
345
+ "InvalidColumnNameError",
346
+ "InvalidConversionError",
347
+ "InvalidCountError",
348
+ "InvalidDateFormatError",
349
+ "InvalidDeviationError",
350
+ "InvalidFractionError",
351
+ "InvalidLabelCountError",
352
+ "InvalidLimitsError",
353
+ "InvalidOpacityError",
354
+ "InvalidPointSizeError",
355
+ "InvalidPositionError",
356
+ "InvalidResolutionError",
357
+ "InvalidRotationError",
358
+ "InvalidSeedError",
359
+ "InvalidSeparatorError",
360
+ "InvalidShapeError",
361
+ "InvalidSheetNameError",
362
+ "InvalidSizeError",
363
+ "InvalidStepError",
364
+ "InvalidSuffixesError",
365
+ "InvalidTimeZoneChangeError",
366
+ "InvalidTypeError",
367
+ "IrregularListError",
368
+ "IsIn",
369
+ "IsMissing",
370
+ "IsPresent",
371
+ "Join",
372
+ "JoinMode",
373
+ "JoinRelationError",
374
+ "JoinSuffixes",
375
+ "JsonLayout",
376
+ "JsonReadOptions",
377
+ "JsonWriteOptions",
378
+ "Keep",
379
+ "KeyTypes",
380
+ "Layout",
381
+ "LegendPosition",
382
+ "Less",
383
+ "LessOrEqual",
384
+ "Library",
385
+ "LineChart",
386
+ "LineType",
387
+ "Logarithm",
388
+ "MarkerShape",
389
+ "MathFunction",
390
+ "Max",
391
+ "Mean",
392
+ "Measure",
393
+ "Median",
394
+ "Min",
395
+ "MissingChart",
396
+ "MissingCount",
397
+ "MissingDependencyError",
398
+ "MissingDrop",
399
+ "MissingMode",
400
+ "MissingPosition",
401
+ "MissingRatio",
402
+ "MissingTypeError",
403
+ "MissingValueError",
404
+ "MostFrequent",
405
+ "MostFrequentCount",
406
+ "NameChange",
407
+ "NewColumn",
408
+ "Normal",
409
+ "NotEqual",
410
+ "NotSingleValueError",
411
+ "NumdaplotError",
412
+ "NumdaplotWarning",
413
+ "OccupiedCellError",
414
+ "Order",
415
+ "Orientation",
416
+ "OutOfDomainError",
417
+ "Outliers",
418
+ "ParquetReadOptions",
419
+ "Percentages",
420
+ "PeriodUnit",
421
+ "PieChart",
422
+ "PivotTable",
423
+ "Plot",
424
+ "PlotStyle",
425
+ "Preview",
426
+ "Quantile",
427
+ "RandomIntegers",
428
+ "Range",
429
+ "RatioComparison",
430
+ "ReadabilityWarning",
431
+ "RefusedOperationError",
432
+ "RefusedSettingError",
433
+ "Region",
434
+ "Relation",
435
+ "Renaming",
436
+ "Replacement",
437
+ "Round",
438
+ "Rule",
439
+ "SasReadOptions",
440
+ "ScatterChart",
441
+ "Shape",
442
+ "ShapeMismatchError",
443
+ "ShownColumns",
444
+ "Side",
445
+ "Sine",
446
+ "Size",
447
+ "SizeUnit",
448
+ "SortKey",
449
+ "Sorting",
450
+ "Spacing",
451
+ "SquareRoot",
452
+ "StandardDeviation",
453
+ "StataReadOptions",
454
+ "Statistic",
455
+ "Sum",
456
+ "Table",
457
+ "TimeFunction",
458
+ "TimeOverflowError",
459
+ "TimeZone",
460
+ "TimeZoneChange",
461
+ "TimeZoneMismatchError",
462
+ "TimeZoneMode",
463
+ "ToDuration",
464
+ "Type",
465
+ "TypeMatch",
466
+ "Uniform",
467
+ "UnknownTimeZoneError",
468
+ "Unmatched",
469
+ "UnmatchedValueError",
470
+ "UnsupportedImageFormatError",
471
+ "UnsupportedIndexError",
472
+ "UnsupportedMissingError",
473
+ "UnsupportedTypeError",
474
+ "ValueAxis",
475
+ "ValueChange",
476
+ "ValueConversionError",
477
+ "ValueMapping",
478
+ "XptReadOptions",
479
+ ]
480
+
481
+
482
+ def __dir__() -> list[str]:
483
+ """
484
+ Return the names shown by ``dir`` and by the completion of notebooks.
485
+
486
+ The modules loaded by the imports of this file stay out, since they are not part of the API.
487
+
488
+ .. versionadded:: 0.1.0
489
+
490
+ Returns
491
+ -------
492
+ list[str]
493
+ The public names and ``__version__``.
494
+
495
+ Examples
496
+ --------
497
+ >>> import numdaplot as ndp
498
+ >>> "Array" in dir(ndp)
499
+ True
500
+ >>> "arrays" in dir(ndp)
501
+ False
502
+ """
503
+ version_name = "__version__"
504
+ shown_names = [*__all__, version_name]
505
+
506
+ return shown_names
@@ -0,0 +1,5 @@
1
+ """
2
+ The ``ndp.Array`` class and its settings: shapes, distributions, math functions, sorting and replacement.
3
+
4
+ .. versionadded:: 0.1.0
5
+ """
@@ -0,0 +1,92 @@
1
+ """
2
+ The ``ndp.Array`` class: values of one type in one or several dimensions.
3
+
4
+ .. versionadded:: 0.1.0
5
+ """
6
+
7
+ from typing import Any
8
+
9
+ from numpy.typing import NDArray
10
+
11
+ from numdaplot.arrays.array_arithmetic import ArrayArithmetic
12
+ from numdaplot.arrays.array_calculation import ArrayCalculation
13
+ from numdaplot.arrays.array_conversion import ArrayConversion
14
+ from numdaplot.arrays.array_creation import ArrayCreation
15
+ from numdaplot.arrays.array_layout import ArrayLayout
16
+ from numdaplot.arrays.array_logic import ArrayLogic
17
+ from numdaplot.arrays.array_reflected_arithmetic import ArrayReflectedArithmetic
18
+ from numdaplot.arrays.array_refusals import ArrayRefusals
19
+ from numdaplot.arrays.array_selection import ArraySelection
20
+
21
+
22
+ class Array(
23
+ ArrayCreation,
24
+ ArrayConversion,
25
+ ArraySelection,
26
+ ArrayCalculation,
27
+ ArrayLayout,
28
+ ArrayArithmetic,
29
+ ArrayReflectedArithmetic,
30
+ ArrayLogic,
31
+ ArrayRefusals,
32
+ ):
33
+ """
34
+ Values of one type in one or several dimensions, wrapping a numpy array.
35
+
36
+ An Array never changes: every operation returns a new Array.
37
+
38
+ - Create it with ``from_list``, ``from_numpy``, ``filled``, ``from_range``, ``from_spacing``, ``from_date_parts``
39
+ or ``random``.
40
+ - Combine it with ``+``, ``-``, ``*``, ``/``, ``//``, ``%``, ``**``, and booleans with ``&``, ``|``, ``~``.
41
+ - Select values with ``select``, ``check``, ``take`` and ``replace``.
42
+ - Compute with ``compute`` and ``apply``.
43
+ - Rearrange it with ``reshape``, ``transpose``, ``flatten``, ``sort`` and ``unique``.
44
+ - Read it with ``shape``, ``dtype``, ``to_list``, ``to_value``, ``to_numpy`` and ``is_equal``.
45
+
46
+ Calling ``ndp.Array(...)``, comparisons, brackets, ``for``, ``in``, ``len``, ``bool`` and ``@`` are refused
47
+ with ``RefusedOperationError``, which names the method to use instead.
48
+
49
+ .. versionadded:: 0.1.0
50
+
51
+ Examples
52
+ --------
53
+ >>> import numdaplot as ndp
54
+ >>> prices = ndp.Array.from_list([12.5, 8.0, 30.0])
55
+ >>> prices
56
+ Array([12.5, 8. , 30. ], dtype=FLOAT64)
57
+ >>> prices.shape
58
+ Shape(dimensions=[3])
59
+ >>> prices.dtype
60
+ <Type.FLOAT64: 10>
61
+ """
62
+
63
+
64
+ def create_array(values: NDArray[Any]) -> Array:
65
+ """
66
+ Return an Array holding values already stored as numdaplot stores them, for the code of numdaplot.
67
+
68
+ Unlike ``Array.from_numpy``, durations in microseconds stay times of day.
69
+
70
+ .. versionadded:: 0.1.0
71
+
72
+ Parameters
73
+ ----------
74
+ values
75
+ Values in the numpy dtype of a numdaplot type, kept without copy.
76
+
77
+ Returns
78
+ -------
79
+ Array
80
+ The new Array.
81
+
82
+ Examples
83
+ --------
84
+ >>> import numpy
85
+ >>> from numdaplot.arrays.array import create_array
86
+ >>> create_array(numpy.array([60000000], dtype="timedelta64[us]"))
87
+ Array(['00:01:00'], dtype=TIME)
88
+ """
89
+ # The function lives next to the class to create Arrays on behalf of the rest of numdaplot.
90
+ created_array = Array._create(values) # pyright: ignore[reportPrivateUsage]
91
+
92
+ return created_array