onetick-py 1.167.0__tar.gz → 1.168.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.
- {onetick_py-1.167.0 → onetick_py-1.168.0}/PKG-INFO +1 -1
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/lib/instance.py +1 -1
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/__init__.py +3 -2
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/_version.py +1 -1
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/compatibility.py +9 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/joins.py +43 -28
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick_py.egg-info/PKG-INFO +1 -1
- {onetick_py-1.167.0 → onetick_py-1.168.0}/LICENSE +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/README.md +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/pyproject.toml +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/requirements.strict.txt +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/requirements.txt +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/setup.cfg +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/setup.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/locator_parser/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/locator_parser/acl.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/locator_parser/actions.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/locator_parser/common.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/locator_parser/io.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/locator_parser/locator.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/doc_utilities/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/doc_utilities/napoleon.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/doc_utilities/ot_doctest.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/doc_utilities/snippets.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/lib/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/_stack_info.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/aggregations/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/aggregations/_base.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/aggregations/_docs.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/aggregations/compute.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/aggregations/functions.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/aggregations/generic.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/aggregations/high_low.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/aggregations/num_distinct.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/aggregations/order_book.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/aggregations/other.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/backports.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/cache.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/callback/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/callback/callback.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/callback/callbacks.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/configuration.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_csv_inspector.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/_manually_bound_value.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/_nodes_history.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/_op_utils/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/_op_utils/every_operand.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/_op_utils/is_const.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/_per_tick_scripts/tick_list_sort_template.script +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/_proxy_node.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/_state_objects.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/_state_vars.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/_symbol_param.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/schema.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/aggregations.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/applyers.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/columns.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/data_quality.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/debugs.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/drops.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/fields.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/filters.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/merges.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/misc.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/pandases.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/renames.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/sorts.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/switches.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/symbols.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/times.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/writes.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/symbol.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/tmp_otq.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/_methods/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/_methods/_internal.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/_methods/conversions.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/_methods/methods.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/_methods/op_types.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/accessors/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/accessors/_accessor.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/accessors/decimal_accessor.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/accessors/dt_accessor.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/accessors/float_accessor.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/accessors/str_accessor.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/base.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/cut_builder.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/db_constants.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/eval_query.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/lambda_object.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/multi_output_source.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/per_tick_script.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/query_inspector.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/source.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/db/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/db/_inspection.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/db/db.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/db/utils.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/docs/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/docs/docstring_parser.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/docs/utils.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/functions.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/license.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/log.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/math.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/misc.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/oqd/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/oqd/eps.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/oqd/sources.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/otq.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/pyomd_mock.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/run.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/servers.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/session.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/cache.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/common.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/csv.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/custom.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/data_file.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/data_source.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/empty.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/odbc.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/order_book.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/parquet.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/pit.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/query.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/snapshots.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/split_query_output_by_symbol.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/symbology_mapping.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/symbols.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/ticks.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sql.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/state.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/types.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/__init__.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/acl.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/config.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/default.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/file.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/helpers.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/locator.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/perf.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/query.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/render.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/script.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/temp.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/types.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/utils/tz.py +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick_py.egg-info/SOURCES.txt +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick_py.egg-info/dependency_links.txt +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick_py.egg-info/entry_points.txt +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick_py.egg-info/requires.txt +0 -0
- {onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick_py.egg-info/top_level.txt +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import os
|
|
3
3
|
from . import _version
|
|
4
4
|
__version__ = _version.VERSION
|
|
5
|
-
__webapi__: bool =
|
|
5
|
+
__webapi__: bool = os.getenv('OTP_WEBAPI', default='').lower() not in ('0', 'false', 'no', '')
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def __validate_onetick_query_integration(): # noqa
|
|
@@ -77,7 +77,8 @@ def __validate_onetick_query_integration(): # noqa
|
|
|
77
77
|
if _otq_import_ex is None:
|
|
78
78
|
return
|
|
79
79
|
|
|
80
|
-
#
|
|
80
|
+
# PY-1033: if we can't import onetick.query, but can import onetick.query_webapi
|
|
81
|
+
# then we can just use it and don't need to raise any exception (even if OTP_WEBAPI is not set)
|
|
81
82
|
try:
|
|
82
83
|
import onetick.query_webapi
|
|
83
84
|
__webapi__ = True
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# This file was generated automatically. DO NOT CHANGE.
|
|
2
|
-
VERSION = '1.
|
|
2
|
+
VERSION = '1.168.0'
|
|
@@ -758,3 +758,12 @@ def is_include_market_order_ticks_supported(**kwargs):
|
|
|
758
758
|
return _is_min_build_or_version(1.25, 20241229055942,
|
|
759
759
|
20240812120000, min_update_number=2,
|
|
760
760
|
**kwargs)
|
|
761
|
+
|
|
762
|
+
|
|
763
|
+
def is_join_with_query_symbol_time_otq_supported():
|
|
764
|
+
# 20241209: Fixed 0034770: hours/minutes/seconds part of otq parameter _SYMBOL_TIME, expressed in
|
|
765
|
+
# milliseconds since 1970/01/01 00:00:00 GMT, is ignored
|
|
766
|
+
# 20250219: Implemented 0035092: passing otq param _SYMBOL_TIME should be just like setting symbol_date
|
|
767
|
+
# to the equivalent value, except in YYYYMMDDhhmmss format
|
|
768
|
+
return _is_min_build_or_version(None, None,
|
|
769
|
+
20250227120000)
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/joins.py
RENAMED
|
@@ -14,6 +14,7 @@ from onetick.py.core.eval_query import prepare_params
|
|
|
14
14
|
from onetick.py.otq import otq
|
|
15
15
|
from onetick.py.compatibility import (
|
|
16
16
|
is_supported_point_in_time,
|
|
17
|
+
is_join_with_query_symbol_time_otq_supported,
|
|
17
18
|
is_join_with_snapshot_snapshot_fields_parameter_supported,
|
|
18
19
|
)
|
|
19
20
|
|
|
@@ -72,6 +73,19 @@ def _columns_to_params_for_joins(columns, query_params=False):
|
|
|
72
73
|
else:
|
|
73
74
|
raise ValueError('Parameter symbol_time has to be a datetime value!')
|
|
74
75
|
|
|
76
|
+
elif key == '_SYMBOL_TIME' and query_params:
|
|
77
|
+
# hack to support passing _SYMBOL_TIME to called query as a parameter
|
|
78
|
+
if dtype is otp.nsectime:
|
|
79
|
+
convert_rule += get_msecs_expression(ott.value2str(value))
|
|
80
|
+
elif dtype is str:
|
|
81
|
+
ns = f'PARSE_NSECTIME("%Y%m%d%H%M%S", {ott.value2str(value)}, _TIMEZONE)'
|
|
82
|
+
convert_rule += get_msecs_expression(ns)
|
|
83
|
+
elif dtype is otp.msectime:
|
|
84
|
+
# for backward compatibility
|
|
85
|
+
convert_rule += get_msecs_expression(value)
|
|
86
|
+
else:
|
|
87
|
+
raise ValueError('Parameter symbol_time has to be a datetime value!')
|
|
88
|
+
|
|
75
89
|
elif dtype is str:
|
|
76
90
|
if are_strings(getattr(value, "dtype", None)):
|
|
77
91
|
convert_rule += str(value)
|
|
@@ -80,17 +94,7 @@ def _columns_to_params_for_joins(columns, query_params=False):
|
|
|
80
94
|
elif dtype is otp.msectime:
|
|
81
95
|
convert_rule += get_msecs_expression(value)
|
|
82
96
|
elif dtype is otp.nsectime:
|
|
83
|
-
if
|
|
84
|
-
# hack to support passing _SYMBOL_TIME to called query as a parameter
|
|
85
|
-
warnings.warn(
|
|
86
|
-
'Query parameter _SYMBOL_TIME passed to join_with_query! '
|
|
87
|
-
'This is deprecated. Please use a dedicated `symbol_time` parameter of the '
|
|
88
|
-
'join_with_query function',
|
|
89
|
-
FutureWarning,
|
|
90
|
-
stacklevel=3,
|
|
91
|
-
)
|
|
92
|
-
convert_rule += get_msecs_expression(value)
|
|
93
|
-
elif query_params:
|
|
97
|
+
if query_params:
|
|
94
98
|
# this can be used for query params but cannot be used for symbol params
|
|
95
99
|
# overall it's better
|
|
96
100
|
convert_rule += "'NSECTIME('+tostring(NSECTIME_TO_LONG(" + str(value) + "))+')'"
|
|
@@ -672,10 +676,10 @@ def join_with_query(
|
|
|
672
676
|
Function object as query is also supported (Note it will be executed only once in python's code):
|
|
673
677
|
|
|
674
678
|
>>> def func(symbol):
|
|
675
|
-
...
|
|
676
|
-
...
|
|
677
|
-
...
|
|
678
|
-
...
|
|
679
|
+
... d = otp.Ticks(TYPE=["six"])
|
|
680
|
+
... d = d.update(dict(TYPE="three"), where=(symbol.name == "3")) # symbol is always converted to string
|
|
681
|
+
... d["TYPE"] = symbol['PREF'] + d["TYPE"] + symbol['POST']
|
|
682
|
+
... return d
|
|
679
683
|
>>> # OTdirective: snippet-name: Special functions.join with query.with a function
|
|
680
684
|
>>> data = otp.Ticks(A=[1, 2], B=[2, 4])
|
|
681
685
|
>>> res = data.join_with_query(func, how='inner', symbol=(data['A'] + data['B'], dict(PREF="_", POST="$")))
|
|
@@ -689,9 +693,9 @@ def join_with_query(
|
|
|
689
693
|
accessible through the "symbol" object:
|
|
690
694
|
|
|
691
695
|
>>> def func(symbol):
|
|
692
|
-
...
|
|
693
|
-
...
|
|
694
|
-
...
|
|
696
|
+
... d = otp.Ticks(TYPE=["six"])
|
|
697
|
+
... d["TYPE"] = symbol['PREF'] + d["TYPE"] + symbol['POST']
|
|
698
|
+
... return d
|
|
695
699
|
>>> # OTdirective: snippet-name: 'Source' operations.join with query.source as symbol;
|
|
696
700
|
>>> data = otp.Ticks(A=[1, 2], B=[2, 4], PREF=["_", "$"], POST=["$", "_"])
|
|
697
701
|
>>> res = data.join_with_query(func, how='inner', symbol=data)
|
|
@@ -834,22 +838,20 @@ def join_with_query(
|
|
|
834
838
|
'object (dict or Source), or a tuple containing both'
|
|
835
839
|
)
|
|
836
840
|
|
|
837
|
-
# adding symbol time
|
|
838
841
|
if '_PARAM_SYMBOL_TIME' in converted_symbol_param_columns.keys():
|
|
839
842
|
warnings.warn(
|
|
840
843
|
'"_PARAM_SYMBOL_TIME" explicitly passed among join_with_query symbol parameters! '
|
|
841
|
-
'This is deprecated - please use symbol_time parameter instead.
|
|
842
|
-
|
|
844
|
+
'This is deprecated - please use symbol_time parameter instead.',
|
|
845
|
+
FutureWarning,
|
|
846
|
+
stacklevel=2,
|
|
847
|
+
)
|
|
848
|
+
if '_SYMBOL_TIME' in params.keys():
|
|
849
|
+
warnings.warn(
|
|
850
|
+
'Query parameter "_SYMBOL_TIME" passed to join_with_query! '
|
|
851
|
+
'This is deprecated. Please use a dedicated `symbol_time` parameter.',
|
|
843
852
|
FutureWarning,
|
|
844
853
|
stacklevel=2,
|
|
845
854
|
)
|
|
846
|
-
if symbol_time is not None:
|
|
847
|
-
if ott.get_object_type(symbol_time) is not otp.nsectime and ott.get_object_type(symbol_time) is not str:
|
|
848
|
-
raise ValueError(
|
|
849
|
-
f'Parameter of type {ott.get_object_type(symbol_time)} passed as symbol_time! '
|
|
850
|
-
'This parameter only supports datetime values or strings'
|
|
851
|
-
)
|
|
852
|
-
converted_symbol_param_columns['_PARAM_SYMBOL_TIME'] = symbol_time
|
|
853
855
|
|
|
854
856
|
# prepare temporary file
|
|
855
857
|
# ------------------------------------ #
|
|
@@ -875,6 +877,19 @@ def join_with_query(
|
|
|
875
877
|
if not sub_source._is_unbound_required():
|
|
876
878
|
sub_source += otp.Empty()
|
|
877
879
|
|
|
880
|
+
# adding symbol time
|
|
881
|
+
if symbol_time is not None:
|
|
882
|
+
if ott.get_object_type(symbol_time) is not otp.nsectime and ott.get_object_type(symbol_time) is not str:
|
|
883
|
+
raise ValueError(
|
|
884
|
+
f'Parameter of type {ott.get_object_type(symbol_time)} passed as symbol_time! '
|
|
885
|
+
'This parameter only supports datetime values or strings'
|
|
886
|
+
)
|
|
887
|
+
if is_join_with_query_symbol_time_otq_supported():
|
|
888
|
+
params = params.copy()
|
|
889
|
+
params['_SYMBOL_TIME'] = symbol_time
|
|
890
|
+
else:
|
|
891
|
+
converted_symbol_param_columns['_PARAM_SYMBOL_TIME'] = symbol_time
|
|
892
|
+
|
|
878
893
|
params_str = _columns_to_params_for_joins(params, query_params=True)
|
|
879
894
|
symbol_params_str = _columns_to_params_for_joins(converted_symbol_param_columns)
|
|
880
895
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/_manually_bound_value.py
RENAMED
|
File without changes
|
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/_op_utils/__init__.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/_op_utils/every_operand.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_internal/_op_utils/is_const.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/__init__.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/aggregations.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/applyers.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/columns.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/data_quality.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/debugs.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/drops.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/fields.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/filters.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/merges.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/misc.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/pandases.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/renames.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/sorts.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/switches.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/symbols.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/times.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/_source/source_methods/writes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/_methods/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/_methods/methods.py
RENAMED
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/core/column_operations/_methods/op_types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onetick_py-1.167.0 → onetick_py-1.168.0}/src/onetick/py/sources/split_query_output_by_symbol.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|