onetick-py 1.164.0__tar.gz → 1.165.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. {onetick_py-1.164.0 → onetick_py-1.165.0}/PKG-INFO +3 -3
  2. {onetick_py-1.164.0 → onetick_py-1.165.0}/pyproject.toml +2 -2
  3. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/_version.py +1 -1
  4. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/source.py +71 -1
  5. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/render.py +12 -3
  6. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick_py.egg-info/PKG-INFO +3 -3
  7. {onetick_py-1.164.0 → onetick_py-1.165.0}/LICENSE +0 -0
  8. {onetick_py-1.164.0 → onetick_py-1.165.0}/README.md +0 -0
  9. {onetick_py-1.164.0 → onetick_py-1.165.0}/requirements.strict.txt +0 -0
  10. {onetick_py-1.164.0 → onetick_py-1.165.0}/requirements.txt +0 -0
  11. {onetick_py-1.164.0 → onetick_py-1.165.0}/setup.cfg +0 -0
  12. {onetick_py-1.164.0 → onetick_py-1.165.0}/setup.py +0 -0
  13. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/locator_parser/__init__.py +0 -0
  14. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/locator_parser/acl.py +0 -0
  15. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/locator_parser/actions.py +0 -0
  16. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/locator_parser/common.py +0 -0
  17. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/locator_parser/io.py +0 -0
  18. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/locator_parser/locator.py +0 -0
  19. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/__init__.py +0 -0
  20. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/doc_utilities/__init__.py +0 -0
  21. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/doc_utilities/napoleon.py +0 -0
  22. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/doc_utilities/ot_doctest.py +0 -0
  23. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/doc_utilities/snippets.py +0 -0
  24. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/lib/__init__.py +0 -0
  25. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/lib/instance.py +0 -0
  26. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/__init__.py +0 -0
  27. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/_stack_info.py +0 -0
  28. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/aggregations/__init__.py +0 -0
  29. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/aggregations/_base.py +0 -0
  30. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/aggregations/_docs.py +0 -0
  31. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/aggregations/compute.py +0 -0
  32. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/aggregations/functions.py +0 -0
  33. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/aggregations/generic.py +0 -0
  34. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/aggregations/high_low.py +0 -0
  35. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/aggregations/num_distinct.py +0 -0
  36. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/aggregations/order_book.py +0 -0
  37. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/aggregations/other.py +0 -0
  38. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/backports.py +0 -0
  39. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/cache.py +0 -0
  40. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/callback/__init__.py +0 -0
  41. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/callback/callback.py +0 -0
  42. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/callback/callbacks.py +0 -0
  43. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/compatibility.py +0 -0
  44. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/configuration.py +0 -0
  45. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/__init__.py +0 -0
  46. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_csv_inspector.py +0 -0
  47. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_internal/__init__.py +0 -0
  48. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_internal/_manually_bound_value.py +0 -0
  49. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_internal/_nodes_history.py +0 -0
  50. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_internal/_op_utils/__init__.py +0 -0
  51. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_internal/_op_utils/every_operand.py +0 -0
  52. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_internal/_op_utils/is_const.py +0 -0
  53. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_internal/_per_tick_scripts/tick_list_sort_template.script +0 -0
  54. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_internal/_proxy_node.py +0 -0
  55. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_internal/_state_objects.py +0 -0
  56. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_internal/_state_vars.py +0 -0
  57. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/__init__.py +0 -0
  58. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/_symbol_param.py +0 -0
  59. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/schema.py +0 -0
  60. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/__init__.py +0 -0
  61. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/aggregations.py +0 -0
  62. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/applyers.py +0 -0
  63. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/columns.py +0 -0
  64. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/data_quality.py +0 -0
  65. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/debugs.py +0 -0
  66. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/drops.py +0 -0
  67. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/fields.py +0 -0
  68. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/filters.py +0 -0
  69. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/joins.py +0 -0
  70. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/merges.py +0 -0
  71. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/misc.py +0 -0
  72. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/pandases.py +0 -0
  73. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/renames.py +0 -0
  74. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/sorts.py +0 -0
  75. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/switches.py +0 -0
  76. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/symbols.py +0 -0
  77. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/times.py +0 -0
  78. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/source_methods/writes.py +0 -0
  79. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/symbol.py +0 -0
  80. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/_source/tmp_otq.py +0 -0
  81. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column.py +0 -0
  82. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column_operations/__init__.py +0 -0
  83. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column_operations/_methods/__init__.py +0 -0
  84. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column_operations/_methods/_internal.py +0 -0
  85. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column_operations/_methods/conversions.py +0 -0
  86. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column_operations/_methods/methods.py +0 -0
  87. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column_operations/_methods/op_types.py +0 -0
  88. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column_operations/accessors/__init__.py +0 -0
  89. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column_operations/accessors/_accessor.py +0 -0
  90. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column_operations/accessors/decimal_accessor.py +0 -0
  91. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column_operations/accessors/dt_accessor.py +0 -0
  92. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column_operations/accessors/float_accessor.py +0 -0
  93. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column_operations/accessors/str_accessor.py +0 -0
  94. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/column_operations/base.py +0 -0
  95. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/cut_builder.py +0 -0
  96. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/db_constants.py +0 -0
  97. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/eval_query.py +0 -0
  98. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/lambda_object.py +0 -0
  99. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/multi_output_source.py +0 -0
  100. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/per_tick_script.py +0 -0
  101. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/core/query_inspector.py +0 -0
  102. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/db/__init__.py +0 -0
  103. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/db/_inspection.py +0 -0
  104. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/db/db.py +0 -0
  105. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/db/utils.py +0 -0
  106. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/docs/__init__.py +0 -0
  107. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/docs/docstring_parser.py +0 -0
  108. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/docs/utils.py +0 -0
  109. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/functions.py +0 -0
  110. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/license.py +0 -0
  111. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/log.py +0 -0
  112. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/math.py +0 -0
  113. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/misc.py +0 -0
  114. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/oqd/__init__.py +0 -0
  115. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/oqd/eps.py +0 -0
  116. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/oqd/sources.py +0 -0
  117. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/otq.py +0 -0
  118. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/pyomd_mock.py +0 -0
  119. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/run.py +0 -0
  120. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/servers.py +0 -0
  121. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/session.py +0 -0
  122. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/__init__.py +0 -0
  123. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/cache.py +0 -0
  124. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/common.py +0 -0
  125. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/csv.py +0 -0
  126. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/custom.py +0 -0
  127. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/data_file.py +0 -0
  128. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/data_source.py +0 -0
  129. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/empty.py +0 -0
  130. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/odbc.py +0 -0
  131. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/order_book.py +0 -0
  132. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/parquet.py +0 -0
  133. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/pit.py +0 -0
  134. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/query.py +0 -0
  135. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/snapshots.py +0 -0
  136. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/split_query_output_by_symbol.py +0 -0
  137. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/symbology_mapping.py +0 -0
  138. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/symbols.py +0 -0
  139. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sources/ticks.py +0 -0
  140. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/sql.py +0 -0
  141. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/state.py +0 -0
  142. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/types.py +0 -0
  143. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/__init__.py +0 -0
  144. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/acl.py +0 -0
  145. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/config.py +0 -0
  146. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/default.py +0 -0
  147. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/file.py +0 -0
  148. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/helpers.py +0 -0
  149. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/locator.py +0 -0
  150. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/perf.py +0 -0
  151. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/query.py +0 -0
  152. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/script.py +0 -0
  153. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/temp.py +0 -0
  154. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/types.py +0 -0
  155. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick/py/utils/tz.py +0 -0
  156. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick_py.egg-info/SOURCES.txt +0 -0
  157. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick_py.egg-info/dependency_links.txt +0 -0
  158. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick_py.egg-info/entry_points.txt +0 -0
  159. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick_py.egg-info/requires.txt +0 -0
  160. {onetick_py-1.164.0 → onetick_py-1.165.0}/src/onetick_py.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: onetick-py
3
- Version: 1.164.0
3
+ Version: 1.165.0
4
4
  Summary: Python package that allows you to work with OneTick
5
5
  Author-email: solutions <solutions@onetick.com>
6
6
  License-Expression: MIT
@@ -8,14 +8,14 @@ Project-URL: Documentation, https://docs.pip.distribution.sol.onetick.com
8
8
  Project-URL: OneTick, https://onetick.com/
9
9
  Classifier: Topic :: Database :: Front-Ends
10
10
  Classifier: Topic :: Scientific/Engineering
11
- Classifier: Programming Language :: Python :: 3.8
12
11
  Classifier: Programming Language :: Python :: 3.9
13
12
  Classifier: Programming Language :: Python :: 3.10
14
13
  Classifier: Programming Language :: Python :: 3.11
15
14
  Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
16
  Classifier: Operating System :: OS Independent
17
17
  Classifier: Environment :: Console
18
- Requires-Python: >=3.8
18
+ Requires-Python: >=3.9
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
21
  Requires-Dist: pandas==1.1.5; python_version == "3.6"
@@ -19,15 +19,15 @@ dynamic = [
19
19
  ]
20
20
  license = "MIT"
21
21
  license-files = ["LICENSE"]
22
- requires-python = ">= 3.8"
22
+ requires-python = ">= 3.9"
23
23
  classifiers = [
24
24
  "Topic :: Database :: Front-Ends",
25
25
  "Topic :: Scientific/Engineering",
26
- "Programming Language :: Python :: 3.8",
27
26
  "Programming Language :: Python :: 3.9",
28
27
  "Programming Language :: Python :: 3.10",
29
28
  "Programming Language :: Python :: 3.11",
30
29
  "Programming Language :: Python :: 3.12",
30
+ "Programming Language :: Python :: 3.13",
31
31
  "Operating System :: OS Independent",
32
32
  "Environment :: Console",
33
33
  ]
@@ -1,2 +1,2 @@
1
1
  # This file was generated automatically. DO NOT CHANGE.
2
- VERSION = '1.164.0'
2
+ VERSION = '1.165.0'
@@ -24,7 +24,7 @@ from onetick.py.core._source.tmp_otq import TmpOtq
24
24
  from onetick.py.core.column import _Column
25
25
  from onetick.py.core.column_operations.base import _Operation, OnetickParameter
26
26
  from onetick.py.core.query_inspector import get_query_parameter_list
27
- from onetick.py.utils import adaptive, adaptive_to_default, default
27
+ from onetick.py.utils import adaptive, adaptive_to_default, default, render_otq
28
28
 
29
29
 
30
30
  def _is_dict_required(symbols):
@@ -939,6 +939,76 @@ class Source:
939
939
  kwargs.setdefault('verbose', True)
940
940
  self.to_graph().render(**kwargs)
941
941
 
942
+ def render_otq(
943
+ self,
944
+ image_path: Optional[str] = None,
945
+ output_format: Optional[str] = None,
946
+ load_external_otqs: bool = True,
947
+ view: bool = False,
948
+ line_limit: Optional[Tuple[int, int]] = (10, 30),
949
+ parse_eval_from_params: bool = False,
950
+ debug: bool = False,
951
+ **kwargs,
952
+ ):
953
+ """
954
+ Render current :py:class:`~onetick.py.Source` graph.
955
+
956
+ Parameters
957
+ ----------
958
+ image_path: str, None
959
+ Path for generated image. If omitted, image will be saved in a temp dir
960
+ output_format: str, None
961
+ `Graphviz` rendering format. Default: `png`.
962
+ If `image_path` contains one of next extensions, `output_format` will be set automatically:
963
+ `png`, `svg`, `dot`.
964
+ load_external_otqs: bool
965
+ If set to `True` (default) dependencies from external .otq files (not listed in ``path`` param)
966
+ will be loaded automatically.
967
+ view: bool
968
+ Defines should generated image be shown after render.
969
+ line_limit: Tuple[int, int], None
970
+ Limit for maximum number of lines and length of some EP parameters strings.
971
+ First param is limit of lines, second - limit of characters in each line.
972
+ If set to None limit disabled.
973
+ If one of tuple values set to zero the corresponding limit disabled.
974
+ parse_eval_from_params: bool
975
+ Enable parsing and printing `eval` sub-queries from EP parameters.
976
+ debug: bool
977
+ Allow to print stdout or stderr from `Graphviz` render.
978
+ kwargs:
979
+ Additional arguments to be passed to :py:meth:`onetick.py.Source.to_otq` method (except
980
+ ``file_name``, ``file_suffix`` and ``query_name`` parameters)
981
+
982
+ Returns
983
+ -------
984
+ Path to rendered image
985
+
986
+ See also
987
+ --------
988
+ :py:func:`render_otq <onetick.py.utils.render_otq>`
989
+
990
+ Examples
991
+ --------
992
+
993
+ >>> data = otp.DataSource(db='US_COMP', tick_type='TRD', symbols='AAA') # doctest: +SKIP
994
+ >>> data1, data2 = data[(data['PRICE'] > 50)] # doctest: +SKIP
995
+ >>> data = otp.merge([data1, data2]) # doctest: +SKIP
996
+ >>> data.render_otq('./path/to/image.png') # doctest: +SKIP
997
+
998
+ .. image:: ../../static/testing/images/render_otq_3.png
999
+ """
1000
+
1001
+ if {'file_name', 'file_suffix', 'query_name'} & kwargs.keys():
1002
+ raise ValueError(
1003
+ 'It\'s not allowed to pass parameters `file_name`, `file_suffix` and `query_name` as `kwargs` '
1004
+ 'in `render_otq` method.'
1005
+ )
1006
+
1007
+ otq_path = self.to_otq(**kwargs)
1008
+ return render_otq(
1009
+ otq_path, image_path, output_format, load_external_otqs, view, line_limit, parse_eval_from_params, debug,
1010
+ )
1011
+
942
1012
  def copy(self, ep=None, columns=None, deep=False) -> 'Source':
943
1013
  """
944
1014
  Build an object with copied calculation graph.
@@ -20,6 +20,7 @@ EPS_WITH_QUERIES = {
20
20
  "modify_state_var_from_query": (1, "otq_query"),
21
21
  "create_cache": (1, "otq_file_path"),
22
22
  "read_cache": (4, "create_cache_query"),
23
+ "generic_aggregation": (0, "query_name"),
23
24
  }
24
25
 
25
26
  IF_ELSE_EPS = {
@@ -1018,10 +1019,10 @@ def render_otq(
1018
1019
  `Graphviz` rendering format. Default: `png`.
1019
1020
  If `image_path` contains one of next extensions, `output_format` will be set automatically: `png`, `svg`, `dot`.
1020
1021
  load_external_otqs: bool
1021
- If set to `True` (default) dependencies from external .otq files (not listed in `path` param)
1022
+ If set to `True` (default) dependencies from external .otq files (not listed in ``path`` param)
1022
1023
  will be loaded automatically.
1023
1024
  view: bool
1024
- Defines should generated image be showed after render.
1025
+ Defines should generated image be shown after render.
1025
1026
  line_limit: Tuple[int, int], None
1026
1027
  Limit for maximum number of lines and length of some EP parameters strings.
1027
1028
  First param is limit of lines, second - limit of characters in each line.
@@ -1030,7 +1031,11 @@ def render_otq(
1030
1031
  parse_eval_from_params: bool
1031
1032
  Enable parsing and printing `eval` sub-queries from EP parameters.
1032
1033
  debug: bool
1033
- Allow to print stdout or stderr from `Grapthviz` render.
1034
+ Allow to print stdout or stderr from `Graphviz` render.
1035
+
1036
+ Returns
1037
+ -------
1038
+ Path to rendered image
1034
1039
 
1035
1040
  Examples
1036
1041
  --------
@@ -1039,10 +1044,14 @@ def render_otq(
1039
1044
 
1040
1045
  >>> otp.utils.render_otq("./test.otq") # doctest: +SKIP
1041
1046
 
1047
+ .. image:: ../../static/testing/images/render_otq_1.png
1048
+
1042
1049
  Render multiple files:
1043
1050
 
1044
1051
  >>> otp.utils.render_otq(["./first.otq", "./second.otq"]) # doctest: +SKIP
1045
1052
 
1053
+ .. image:: ../../static/testing/images/render_otq_2.png
1054
+
1046
1055
  Render specific queries from multiple files:
1047
1056
 
1048
1057
  >>> otp.utils.render_otq(["./first.otq", "./second.otq::some_query"]) # doctest: +SKIP
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: onetick-py
3
- Version: 1.164.0
3
+ Version: 1.165.0
4
4
  Summary: Python package that allows you to work with OneTick
5
5
  Author-email: solutions <solutions@onetick.com>
6
6
  License-Expression: MIT
@@ -8,14 +8,14 @@ Project-URL: Documentation, https://docs.pip.distribution.sol.onetick.com
8
8
  Project-URL: OneTick, https://onetick.com/
9
9
  Classifier: Topic :: Database :: Front-Ends
10
10
  Classifier: Topic :: Scientific/Engineering
11
- Classifier: Programming Language :: Python :: 3.8
12
11
  Classifier: Programming Language :: Python :: 3.9
13
12
  Classifier: Programming Language :: Python :: 3.10
14
13
  Classifier: Programming Language :: Python :: 3.11
15
14
  Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
16
  Classifier: Operating System :: OS Independent
17
17
  Classifier: Environment :: Console
18
- Requires-Python: >=3.8
18
+ Requires-Python: >=3.9
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
21
  Requires-Dist: pandas==1.1.5; python_version == "3.6"
File without changes
File without changes
File without changes
File without changes