Changelog#
[Unreleased]#
Added#
Changed#
Fixed#
Removed#
[1.89.0] - 2024-01-15#
Added#
Added an example into the
Source.aggAPI doc for theflexiblebucket interval parameterAdded test checking segfault when reloading locator
Added
otp.Source.update_timestamp()methodparameter
large_intsforfirst,last,min,maxaggregations
Changed#
refactor changelog sections
set
autosectionlabel_maxdepth=2when generating Sphinx documentationimproved parsing OneTick version in
otp.compatibilityturned warnings into errors
Fixed#
The
otp.corp_actionsfunction doesn’t change passed source, and copy it insteadfixed all warnings in tests, made some refactoring
fixed setting output schema in aggregations without input column
fixed converting
SymbolType.get()default value to stringfixed wrong schema detection in
otp.DataSourcewhen tick type is a parameterdon’t raise warning when using
otp.nsectime(0)fixed unclosed files when using
locator_parser.FileReaderfix adding fields from parameters in
otp.DataSourcewithmanual_strictschema policyFixed trying to find field of
otp.stringtype with tick set’s.find()method
Removed#
[1.88.0] - 2024-01-01#
Added#
add
otp.throw_exceptionper-tick script functionadded
otp.Source.where_clauseadded
otp.Source.whereadd
otp.ObSummary,otp.agg.ob_summaryandSource.ob_summaryadded info about logging symbols in
Debuggingguide
Fixed#
fix
otp.datetime.endbehaviour if next day is after DST/timezone transition time
Changed#
do not skip fault tolerance test
warning message regarding subtraction of timestamps marked as deprecated now and ask user to explicitly specify time unit
[1.87.0] - 2023-12-25#
Added#
add
encodingparameter tootp.runadded documentation for generating ticks in “Getting started” guide
added documentation about
copy_tickmethod available on input tick object in per-tick scriptchecking correctness of created field names
Fixed#
fixed script
send_onetick_release.shfailing in Gitlab job againfixed logic for parameter
redirect_logsinotp.Sessionupdated command to install
onetick-query-stubswith specifiedonetick-pyversion
[1.86.0] - 2023-12-19#
Added#
added
otp.logfper-tick script function andotp.Source.logfmethoddebugging chapter in the documentation
add
otp.Source.modify_symbol_name
Fixed#
fixed building documentation
fixed using remote queries in
otp.query
Changed#
update onetick-py-test version to pick up the
--show-stack-tracefeature
[1.85.0] - 2023-12-11#
Added#
parameter
log_symbolforotp.run
Fixed#
fixed script
send_onetick_release.shfailing in Gitlab jobfixed output types after aggregations
apply()methodfixed parsing config with include and env vars
sphinx documentation for testing
Changed#
updated
Source.agg()documentation to indicate thatend_condition_per_group=Trueapplies to all bucketing conditions
[1.84.0] - 2023-12-04#
Added#
info about symlinks on Windows in
CONTRIBUTING.mdscript to upload source code and docs of latest onetick-py release to Slack and FTP
support for comments and included files in
otp.utils.get_config_paramimproved documentation for
otp.Symbolspatternparameterability to pass desired schema to created tick sequences
added missing parameters to
otp.merge
Fixed#
printing datetime subtraction warning
fix unit tests after bug with
evaltruncating timestamps in tick sets was fixed in OneTick release
Changed#
improved documentation in different places
disallow
otp.Tickcreation withbucket_time=endand set non-zerooffsetparamsparameter
symbolofotp.Queryconstructor is limited to be onlyNoneorotp.adaptive
[1.83.0] - 2023-11-13#
Added#
added
mypystatic type checker to CI/CD pipelineadded new string accessor function
like()otp.Source.throwmethodNew method
otp.datetime.to_operation
Fixed#
added missing per-tick script files to
onetick-pydistributionadd support for selecting columns with regular expressions
Changed#
order and naming of sections in documentation API reference
raise exception when indexing state variables
deprecated using tuples with name and type in
otp.Source.__getitem__
[1.82.0] - 2023-11-06#
Added#
docs and example with using function as a
queryparameter inotp.runadded
otp.Source.Symbol.get()method with ability to passdefaultparameterAll methods of
_inspection.DBclass usecontextproperty of the class
Fixed#
optimized getting last loaded date for the database
[1.81.0] - 2023-10-30#
Added#
pip install onetick-py[strict]is now available for installing onetick-py with strict dependenciesadded
onetick-pyand OneTick versions to the exception message inotp.runSource.write(),DB.add()andwrite_to_db()now havestart/endparameters for multiple dates writing.otp.Column.cumsum()functionParameter
inplacefor aggregationsapply()methodParameter
overwrite_output_fieldfor aggregations
Fixed#
fixed some documentation pages to not be platform-specific
fixed unstable tests
Changed#
default documentation page
[1.80.0] - 2023-10-23#
Added#
otp.Source.join_with_collectionfunctioncheck_schemaparameter for tick’s get/set value functionsadded
protocolandresourceparameters forotp.RemoteTS
Fixed#
Documentation upload and CI/CD requirements fixed
compatibility issues with OneTick release 1.22 and 1.23
method to check if OneTick feature is supported
fix source’s schema after applying order book aggregations
compatibility issues with Python 3.7, 3.8 and 3.11
[1.79.0] - 2023-10-16#
Added#
otp.default_by_typefunction__repr__implementations for onetick-py types
Fixed#
adding
fieldsto real schema in.insert_tick()
Changed#
Switched cloud from MiniC to dev cloud
Compatibility tests now use tags instead of branches
[1.78.0] - 2023-10-10#
Added#
.str.strptimefunction (alias to.str.to_datetime())
Fixed#
do not run
windowsanddocstests on release creation pipelinefixed import error with
Literalon python 3.7tests on compatibility with OneTick release 1.23
fixed all warnings when building documentation, turned warnings into errors
fixed the name of
timezoneparameter for most datetime accessor functions
Changed#
more flexible
numpyversion requirements, 1.26.0 is now supportedmultiversion docs now also supports
masterbranch version (published only on GitLab Pages)multiversion docs now based on tags instead of branches
[1.77.0] - 2023-10-02#
Added#
quote_charparameter forotp.CSVsupport updating state variables in
otp.Source.update()methodotp.formatfunction
Fixed#
Fixed signature in documentation for some aggregations
Added compare method for date difference object
pylintjob moved tolintersstagesome “out-of-order” jobs now depend on
trigger releaseremoved
__init__.pyfile from project’s root
Changed#
make job
pages-multi-versionoptional
[1.76.0] - 2023-09-25#
Added#
an example of using ISN with OHLCV in Getting Started Guides
dtypeparameter forget_long_valueandget_string_valueLink to the video tutorial in the documentation
Gitlab CI/CD variables to create release automatically in Jira project
changelog linter, that fails when changelog have no changes in MR
automatically generated compatibility tests in docs
script for multiple version documentation building
Fixed#
get_valuecan now return subclasses of string and integerdifferent
otp.stringtypes can be used indesired_schemaforotp.DataSourceFixed spelling in the documentation
Noneis now equal tootp.nanwhen applying functionotp.dtcan be used forotp.config['default_start_time']andotp.config['default_end_time']
[1.75.0] - 2023-09-18#
Added#
Linter for markdown files
Support for inner functions in per-tick script
Fixed#
Fixed using parameter
bucket_unitson old OneTick versionsFixed
triggerpipelines in Gitlab CIDon’t use
stack_infoparameter of EP objects to save stack trace.
Changed#
all_fieldsparameter forotp.aggcan now be set toHighTickorLowTickwhich allows to set the input fieldGetting database interval with database name as symbol, not
LOCAL::
[1.74.0] - 2023-09-11#
Added#
otp.Symbolnow has__getitem__method which allows to set type of the symbol parameterunitparameter forto_datetime()method forotp.Operation.strotp.Tick: added parameterbucket_units
Fixed#
otp.CSVnow can be used with both file and symbol at the same time
Changed#
otp.by_symbolsingle_invocationparameter default value is nowFalseotp.CSVwill be sorted bytimestamp_namecolumnonparameter forotp.join()can now be list of string
[1.73.0] - 2023-09-04#
Added#
otp.derived_databasesand parameterderivedforotp.databases
[1.72.0] - 2023-08-31#
Changed#
Change gitlab CI release pipeline, use automatic versioning
[1.71.11]#
Fixed#
otp.joinnow doesn’t add additional fields to the joined sources
[1.71.10]#
Added#
otp.agg.generic: addedparamsparameter to.apply()method, which allows to pass parameters to the aggregation function
[1.71.9]#
Fixed#
support
otp.decimal,otp.uint,otp.shortandotp.bytein aggregations
[1.71.8]#
Added#
handle_escaped_charsparam inotp.CSV()to handle backslash escaped characters in CSV files.
[1.71.7]#
Fixed#
it doesn’t fail now when we run aggregation with
all_fieldsin[True, "last", "first", "high", "low"]on data with changing schema
[1.71.6]#
Fixed#
Fixed some compatibility with Python 3.7-3.8
[1.71.5]#
Changed#
onetick import exception message and warnings logic
[1.71.4]#
Added#
otp.runparameterdate
[1.71.3]#
Added#
field_delimitersparameter forotp.CSV
Fixed#
otp.CSVnow works correctly whenfirst_line_is_title=Falseandnamesis set
[1.71.2]#
Fixed#
Updated pandas version requirements for Python 3.10 compatibility
[1.71.1]#
Fixed#
Use
onetick-initproject to use correctonetick/__init__.pyfile
[1.71.0]#
Added#
slice()method forotp.Operation.str[]syntax forotp.Operation.str.get
[1.70.3]#
Fixed#
Added
functools.cachetobackportsfor backward compatibility with python <= 3.8
[1.70.2]#
Added#
default database now has
heartbeat_generatorCEP adapter and can be used with tick generator in CEP queriestemporary files can be created with non-random names
[1.70.1]#
Fixed#
Fixed
omd_dist_path()function logic whenMAIN_ONE_TICK_DIRvariable is used
[1.70.0]#
Added#
date_trunc()method forotp.Operation.dtday_name()method forotp.Operation.dtday_of_month()method forotp.Operation.dtday_of_year()method forotp.Operation.dthour()method forotp.Operation.dtminute()method forotp.Operation.dtmonth()method forotp.Operation.dtmonth_name()method forotp.Operation.dtquarter()method forotp.Operation.dtsecond()method forotp.Operation.dtweek()method forotp.Operation.dtyear()method forotp.Operation.dt
[1.69.0]#
Added#
support using
MAIN_ONE_TICK_DIRenvironment variable to find the path to onetick python libraries instead ofPYTHONPATH
[1.68.1]#
Changed#
it is possible to pass any config variables into
otp.session.Configviavariables
[1.68.0]#
Added#
get()method forotp.Operation.strconcat()method forotp.Operation.strinsert()method forotp.Operation.strfirst()method forotp.Operation.strlast()method forotp.Operation.strstartswith()method forotp.Operation.strendswith()method forotp.Operation.str
Changed#
find()method forotp.Operation.strhas new parameterstart
[1.67.1]#
Fixed#
OneTick release version and build date now both used to check compatibility for specific features, to avoid issues with older OneTick releases patched.
[1.67.0]#
Added#
ability to specify a db on the CSV source to determine a destination where the csv file will be processed
[1.66.0]#
Added#
erase()method forotp.stat.tick_list
[1.65.5]#
Fixed#
using
.apply(int),.apply(otp.nsectime)and.dt.day_of_week()methods in per-tick script
[1.65.4]#
Fixed#
fixed docs for str accessors
[1.65.3]#
Fixed#
otp.CSV()now supports specifying path with symbol name
[1.65.2]#
Added#
auto_increment_timestampsparameter forotp.CSVsource
[1.65.1]#
Fixed#
otp.CSV()now supports big int values without trimming it.str to int column change now also supports big int values without trimming it.
[1.65.0]#
Added#
max_back_ticks_to_prependparameter forotp.DataSourcewhere_clause_for_back_ticksparameter forotp.DataSource
[1.64.2]#
Fixed#
added support for passing symbol time to
join_with_queryas string
[1.64.1]#
Changed#
otp.corp_actionschangesadjustment_date_tzvalue toGMTifadjustment_datehas YYYYMMDD format
[1.64.0]#
Added#
inputproperty of tick inside script
[1.63.2]#
Added#
New parameters for
Source.join_with_query:default_fields_for_outer_joinsymbol_timeconcurrency
Changed#
join_with_querynow by default uses timezone of the main query and nototp.tz
Fixed#
nanosecond-precision query parameters are now being passed to joined query without precision loss
[1.63.1]#
Fixed#
do not add pseudo fields in schema when calling
.rename()with regexp
[1.63.0]#
Added#
otp.decimal
Fixed#
detecting new types in
_inspection.DB.schema()
[1.62.1]#
Fixed#
otp.CSV: fix default timestamps with nanoseconds
[1.62.0]#
Added#
otp.math.floorfunction
[1.61.2]#
Fixed#
otp.Source.renamenow works with regexp
[1.61.1]#
Fixed#
otp.math.max/minnow works inotp.script
[1.61.0]#
Added#
added
otp.agg.varianceaggregation
[1.60.8]#
Changed#
enable
include_memdbforDB.tick_types()method
[1.60.7]#
Fixed#
aggregations with
Operationingroup_byparameter now returnGROUP_{i}column
[1.60.6]#
Fixed#
dtypeparameter forotp.CSVnow works correctly
[1.60.5]#
Fixed#
computewithall_fields=Truenow works correctly for aggregations on time based columns
[1.60.4]#
Fixed#
tick_set.find()now allows to pass string columns of different lengths as key valueotp.Oncerenamed tootp.once
[1.60.3]#
Fixed#
do not require
numpydirectory on latest OneTick builds
[1.60.2]#
Fixed#
otp.varstringnow works withotp.state.tick_set
[1.60.1]#
Removed#
parameter
add_default_dbforotp.Locatorparameter
add_default_db_to_locatorforotp.Config
[1.60.0]#
Added#
columnsandignore_columnsparameters forotp.Source.add_prefixandotp.Source.add_suffixmethods
[1.59.3]#
Added#
parameter
add_default_dbforotp.Locatorparameter
add_default_db_to_locatorforotp.Config
[1.59.2]#
Added#
parameter
num_threadsfor methodotp.Source.process_by_group()
[1.59.1]#
Changed#
runningflag ofotp.run()now applies only to main graph, and not to any sub graphs (symbols,join_with_query, etc.)
[1.59.0]#
Added#
slicing select for ticks with
otp.Source.__getitem__()
[1.58.9]#
Changed#
simplified
nsectimeto int conversion
[1.58.8]#
Fixed#
otp.run()warnings regarding OntTick build version is now show both installed and required versions
[1.58.7]#
Added#
testing script intended to be used in OneTick build release process
[1.58.6]#
Added#
otp.Source.show_symbol_name_in_db()
[1.58.5]#
Added#
spell-checking when building documentation
[1.58.4]#
Fixed#
TickSet.findnow works withoutkey_fieldswhenthrow=True
[1.58.3]#
Added#
otp.Source.mean
Changed#
deprecated datetime subtraction
[1.58.2]#
Added#
otp.ulongotp.uintotp.shortotp.byte
[1.58.1]#
Added#
support for multiple
pandasversions for python 3.9 and 3.11
[1.58.0]#
Added#
support using
otp.Oncein per-tick script
[1.57.5]#
Fixed#
iteration through list of strings in per-tick script now works correctly
[1.57.4]#
Added#
support
otp.Operationmethods inExpressionDefinedTimeOffset
[1.57.3]#
Fixed#
ott.stringnow have default length None to distinguish fromstring[64]to avoid broken conversion intable()
[1.57.2]#
Fixed#
TickList.push_back()now changes tick list’s schema
[1.57.1]#
Changed#
improving docs for
otp.configandConfigurationpages
[1.57.0]#
Added#
get/set functions for ticks in per-tick script to use with value or
Operationget/set functions for
TickSequenceTickandDynamicTickcan also useOperation
[1.56.2]#
Changed#
setting configuration for
getting_starteddocs
[1.56.1]#
Added#
otp.DB:db_raw_dataanddb_feedparametersotp.DB:raw_dataandfeedproperties
[1.56.0]#
Added#
subsetparameter added tootp.Source.dropna()
[1.55.10]#
Fixed#
TickSetnow support.erase()with one or twoTickSequenceTickTickSequenceTickupdates schema when used inTickSet.find()
[1.55.9]#
Changed#
speed up adding multiple databases, locators, acls to the session
[1.55.8]#
Changed#
support updating source schema with complex types and objects
[1.55.7]#
Fixed#
otp.Ticksdataframe modification
[1.55.6]#
Changed#
deprecate
otp.Source.to_df()andotp.Source.__call__()
[1.55.5]#
Fixed#
allow
otp.agg.option_priceto be used inotp.Source.agg
[1.55.4]#
Fixed#
while deducing schema use last day with selected tick type
[1.55.3]#
Added#
support for
numpydata types in some operations
[1.55.2]#
Changed#
use PRESORT in
otp.DataSourcewith multiple symbols
[1.55.1]#
Added#
otp.DataSourcestrict schema policies
[1.55.0]#
Added#
support reading onetick-py config from
OTP_DEFAULT_CONFIG_PATHenv variablesupport
OTP_SHOW_STACK_INFOenv variable
[1.54.2]#
Added#
whilestatement in per-tick script
[1.54.1]#
Fixed#
changing column type from
floattointnow works correctly
[1.54.0]#
Added#
added possibility to log symbol in
otp.runthroughOTP_LOG_SYMBOL
[1.53.4]#
Fixed#
set
otp.config.show_stack_infotoFalseby default
[1.53.3]#
Changed#
changed changelog formatting
[1.53.2]#
Changed#
otp.Source.time_filterdefault timezone parameter
[1.53.1]#
Fixed#
warning if database with the same case-insensitive name is added
[1.53.0]#
Added#
otp.Source.modify_query_timesotp.Source.time_interval_shiftotp.Source.time_interval_change
[1.52.0]#
Added#
otp.config.show_stack_infostack trace for all
onetick.queryEPs
[1.51.0]#
Added#
added
otp.TestSessionwhich sets up default values
[1.50.2]#
Fixed#
fixed
SharesOutstandingtimestamp out of bounds
[1.50.1]#
Added#
parameter
max_expected_ticks_per_symbolforotp.runotp.config.max_expected_ticks_per_symbol
[1.50.0]#
Added#
parameter
passwordforotp.runotp.config.default_auth_username,otp.config.default_password
[1.49.1]#
Fixed#
otp.CSV: support fixed-length strings and varstrings
[1.49.0]#
Added#
Support multiple endpoints in the
servers.RemoteTSentityIntroduced
LoadBalancingforRemoteTSIntroduced
FaultToleranceforRemoteTS
[1.48.4]#
Changed#
rename
start_timeandend_timeparameters tostartandendinjoin_with_queryand other places
[1.48.3]#
Fixed#
Sphinx documentation
Added ability import
otp.corp_actionsas an alias forotp.functions.corp_actionspolicyparameter in thejoin_by_timetakes lower case values
[1.48.2]#
Fixed#
fix
inplaceparameter forotp.Source.insert_tick()
[1.48.1]#
Fixed#
custom start and end time in evaluated first-stage queries
[1.48.0]#
Added#
Added support for Python 3.7-3.10,
onetick.py.backportsmodule added for all common backward compatible imports.
[1.47.0]#
Added#
otp.agg.num_distinct
[1.46.1]#
Fixed#
remove null-characters when converting string to varstring
[1.46.0]#
Added#
otp.Source.insert_tick()method
[1.45.4]#
Changed#
do not create temporary directory in case
otp.DBlocations are specified by user
[1.45.3]#
Added#
sort() function for tick lists
[1.45.2]#
Added#
changelog page in docs
[1.45.1]#
Added#
otp.Source.dump: message<no data>
[1.45.0]#
Added#
ranking aggregation class and method
[1.44.0]#
Added#
exposed
otp.OneTickLibotp.OneTickLib().set_authentication_token()method
[1.43.2]#
Fixed#
make generic aggregation tests pass on newest onetick builds again
[1.43.1]#
Changed#
otp.DataSource: search days back to find schema with tolerant schema policy
Fixed#
last_not_empty_date()method will not go beyond locator boundaries
[1.43.0]#
Added#
more
nsectime/msectimeconversions in column’s.apply()method
[1.42.0]#
Added#
convert from/to
otp.stringin column’s.apply()method
[1.41.5]#
Fixed#
make generic aggregation tests pass on newest onetick builds
[1.41.4]#
Fixed#
Column.str.to_datetime()now preserve nanoseconds when accessor is the same column
[1.41.3]#
Fixed#
merging string and varstring column
concatenating varstring with string
[1.41.2]#
Changed#
join_by_time now checks types in
onparameter columns only ifcheck_schemaisTrue
[1.41.1]#
Fixed#
node is not checked if result is empty
[1.41.0]#
Added#
Source.time_filter()method added to filter ticks by time
[1.40.1]#
Backward incompatible change#
join_by_time now raise TypeError if
onparameter is set and sources have different types of this column
[1.40.0]#
Added#
added
otp.agg.option_priceaggregation
[1.39.0]#
support callback mode in
otp.runotp.CallbackBaseclass
[1.38.0]#
Added#
support
remote://inotp.query
[1.37.1]#
Fixed#
Fix
otp.run()error when query property repository not initialized
[1.37.0]#
Added#
added
OTP_DEFAULT_FAULT_TOLERANCEconfig value
[1.36.2]#
Fixed#
otp.agg.genericimprovementsremove
all_fieldsparameter from docssave aggregation sub-query to the same file
[1.36.1]#
Fixed#
updated requirements.dev.txt with strict versions of sub-dependencies to shorten the installation time
[1.36.0]#
Added#
added
CORRELATIONaggregation
[1.35.3]#
Added#
otp.agg.stddevnow supportsbiasedparameter
[1.35.2]#
Fixed#
float to string conversion in float accessor methods
[1.35.1]#
Changed#
removed timezone warning when creating stubs database locator
[1.35.0]#
Added#
parameter
defaultforotp.Operation.map()
[1.34.0]#
Changed#
ignore unsupported field types when inspecting database
Fixed#
detect
otp.varstringtype when reading database
[1.33.0]#
Added#
yieldandcopy_tick()for per-tick script
[1.32.0]#
Added#
otp.rawclass for specifying raw OneTick expressions
Fixed#
converting string literals to OneTick syntax
Backward incompatible change#
hack with string surrounded by double quotes is removed
[1.31.0]#
Added#
otp.oqd.sources.SharesOutstandingsource with is actuallyOQD_SOURCE_SHO EP
[1.30.0]#
Changed#
removed
otp.utils.memoizeotp.utilsmodule refactoring
[1.29.0]#
Added#
otp.string[...]and a shortcut for itotp.varstringwhich representvarstring
[1.28.0]#
Fixed#
otp.join_by_timenow can be used inotp.agg.generic
Added#
parameter
use_rename_epforotp.join_by_time
[1.27.1]#
Fixed#
pandas.DataFrameinotp.Ticks()now supportsnanon Windows
[1.27.0]#
Added#
add_prefixandadd_suffixfunctions tootp.Source
[1.26.0]#
Changed#
use
TmpDirinstead ofGeneratedDirto create database directories
Added#
parameter
rel_pathforTmpDir
Backward incompatible change#
other
TmpDirparameters are changed to be keyword-only
[1.25.0]#
Added#
otp.agg.generic
[1.24.0]#
Fixed#
automatically set default db/symbol/times for queries where possible
[1.23.0]#
Fixed#
inplaceparameter forSource.update()
Backward incompatible change#
default
inplacelogic changed to False
[1.22.0]#
Added#
added
otp.Operation.__round__methodfixed docs
[1.21.2]#
Fixed#
float('nan')behaves the same way asotp.nan
[1.21.1]#
Changed#
otp.functions.corp_actions()parameteradjustment_datenow supportsotp.datetime,otp.date,datetime.date,datetime.datetime,strtypes
[1.21.0]#
Added#
inplaceparameter forSource.write()support using
otp.Columns assymbolandtick_typeparametersadded all OneTick parameters to
Source.write()
Fixed#
fix wrong merge logic for
Source.write()whenpropagate_ticks=True
Changed#
unify
DB.add(),DB.put(),Source.write(),otp.db.write_to_db()as much as we can
[1.20.0]#
Added#
added ability to use
pandas.DataFrameinotp.Ticks()
[1.19.0]#
Fixed#
removed overriding of
tempfilemodule’s private function
Added#
mkstemp,mkdtemp,ONE_TICK_TMP_DIRfunctions inotp.utils
Changed#
refactoring of tmp files and database creation logic
remove usage of
SKIP_NAME_GENERATIONandDISABLE_COOL_TMP_NAMESenvironment variables
[1.18.1]#
Fixed#
disable emulation in inner .apply() functions
[1.18.0]#
Backward incompatible change#
deleted ability to use built-in
min/maxfunctions forotp.sourcesnow only
otp.math.min/otp.math.maxshould be used forotp.sourcesIf there are any usage of built-inmin/maxfunctions forotp.sources, please, replace them withotp.math.min/otp.math.max.
[1.17.4]#
Fixed#
fixed path checking for PYTHONPATH
[1.17.3]#
Fixed#
calling inner functions with tick fields in
.apply()method
[1.17.2]#
Fixed#
protected from accidentally adding new attributes to the
otp.configobject
[1.17.1]#
Added#
large_intsparameter forFirstandLastaggregations
Fixed#
support
nsectimebyFirstandLastaggregations
[1.17.0]#
Added#
OTP_DEFAULT_LICENSE_DIRandOTP_DEFAULT_LICENSE_FILEconfiguration environment variables to set the location of license files
[1.16.5]#
Fixed#
per-tick script local variables
[1.16.4]#
Fixed#
state variables can be updated with simple values
[1.16.3]#
Fixed#
nanoseconds precision is not lost when using min/max functions with datetime arguments
[1.16.2]#
Added#
otp.config.default_concurrencyotp.config.default_batch_size
Changed#
default concurrency is set to the number of cores on the machine, previously concurrency was disabled
[1.16.1]#
Jupyterlab-snippets support added with command
jupyter onetick_snippets jupyterlab_snippets
[1.16.0]#
Changed#
change default config parameters
default timezone is changed from
EST5EDTto localdefault start time, end time, database and symbol are removed
otp.DEFAULT_*variables are fixed, but deprecated
[1.15.12]#
Added#
Columns.map()function that mimicspandas.Series.map()
[1.15.11]#
Fixed#
forbid using pseudo-fields in .table()
[1.15.10]#
Fixed#
support using operations with
_TIMEZONEinotp.joinsupport using
datediffoperation inotp.joinbug with some columns filtered out with
otp.join
[1.15.9]#
Fixed#
change default timezone for datetime functions
[1.15.8]#
Added#
otp.functions.save_sources_to_single_file()
[1.15.7]#
Fixed#
don’t use cache in
otp.DB.tick_types()
[1.15.6]#
Added#
otp.meta_fieldsclassotp.exprclassotp.Operation.exprpropertysupport for using
otp.exprinotp.DataSourceparameterback_to_first_tick
[1.15.5]#
Added#
otp.RefDBclass
[1.15.4]#
Fixed#
support
otp.stringin tick sequences functions
[1.15.3]#
Fixed#
otp.DB.last_datenow returns first no empty date
Added#
otp.DB.last_not_empty_date()function
[1.15.2]#
Changed#
delete legacy code with
_CompareEmulator
[1.15.1]#
Changed#
numpyversion from 1.19.5 to 1.23.0
[1.15.0]#
Added#
otp.dateandotp.datetimetimezone awarenesssupport
otp.date,datetime.dateandpandas.Timestampinotp.Source.table()support
otp.dateas absolute time inotp.Ticksandotp.Ticksupport creating
otp.datetimewithotp.datesupport adding
otp.dateas columnremoved
otp.types.datetime2str, addedotp.types.datetime2exprinstead
Fixed#
fix
ott.time2nsectime()function
[1.14.48]#
Added#
support empty return in per-tick script
[1.14.47]#
Added#
otp.oqd.sources.OqdSourceDesandotp.oqd.funcs.corp_actions
[1.14.46]#
Added#
support many tick types in
otp.DataSource
[1.14.45]#
Changed#
updated
onetick-py-test==1.1.30
Fixed#
otp.config: added.get()methodotp.Source.write(): new default value fordateparameter
[1.14.44]#
Fixed#
default end time is next day’s midnight
otp.date:__add__and__sub__methods
[1.14.43]#
Fixed#
otp.DBwill raise exception when ticks do not fall into the time range determined by DAY_BOUNDARY_TZ
[1.14.42]#
Fixed#
sources.CSV now support relative CSV file path located inside CSV_FILE_PATH folder
[1.14.41]#
Added#
otp.state.tick_list,otp.state.tick_set,otp.state.tick_dequeotp.Source.executesupport iterating over tick sequences in per-tick script
[1.14.40]#
Added#
otp.remotedecorator for apply functions used in ray remote context
[1.14.39]#
Added#
otp.oqdmodule withoqdevent processors and sources
[1.14.38]#
Added#
otp.by_symbolfunction that allows to split query by symbols and use result with unbound symbolsadded ability to pass in the
otp.CSVfile buffer created using theotp.utils.filein remote execution environment
[1.14.37]#
Changed#
Improving
otp.CSVtypes inspection, added timestamp field argument, mimics pandas argumentsnames=,converters=anddtype=.
[1.14.36]#
Fixed#
schema dates lookup interval increased to get 5 five days back
fixed operation with Nanoseconds and constant
dtobjects
[1.14.35]#
Fixed#
fix apply() method with brackets, change lambda token parser
[1.14.34]#
Fixed#
min/max aggregation object modification when used on datetime columns
[1.14.33]#
Changed#
Changed method for converting python code to OneTick’s per-tick script and case() function
Improving performance of .script() and .apply() methods in more complex functions
[1.14.32]#
Changed#
All defaults moved to
otp.config.[...]. E.g.otp.config.tzorotp.config.default_start_timeOptions can also be accessed like
otp.config['tz']otp.DEFAULT_[...]are preserved for backward compatibility;otp.Source.DEFAULT_[...]no longer exist.
Added#
config.default_symbologyto set default symbology for all databases created byonetick.py
[1.14.31]#
Added#
otp.DataSource:keep_first_tick_timestampparameter
[1.14.30]#
Changed#
rearranged docs to exclude sphinx and jupyter dependencies from the dist package
Added#
script that helps to pack artifacts for OT integration
[1.14.29]#
Added#
otp.Sourcemethods:ob_snapshot(),ob_snapshot_wide(),ob_snapshot_flat()
[1.14.28]#
Added#
time_series_typeparameter for First, Last, FirstTime, LastTime, FirstTick, LastTick, HighTime, LowTime
Fixed#
inheritance parameters for
HighTick,LowTick,HighTime,LowTime
[1.14.27]#
Changed#
onetick.docsmoved into theonetick.py.docs
[1.14.26]#
Added#
otp.MultiOutputSourceclass to create queries that return multiple outputs
[1.14.25]#
Added#
Possibility pass timezone with Operation type to
stranddtaccessor forto_datetimeandstrftimemethod
[1.14.24]#
Added#
Sphinx doc: added overview, getting started and concepts into the doc. Added documentation to the data inspection api.
otp.config['context']config variable
Removed#
pytzdependencyold version of the data inspection mechanism
[1.14.23]#
Added#
otp.coalesce()
[1.14.22]#
Added#
fix adding string columns in
otp.Source.script()
[1.14.21]#
Added#
otp.utils.TmpFilenow use__del__()instead ofweakref.finilize()
[1.14.20]#
Added#
Aggregations:
otp.agg.ob_snapshot,otp.agg.ob_snapshot_wide,otp.agg.ob_snapshot_flatSources:
otp.ObSnapshot,otp.ObSnapshotWide,otp.ObSnapshotFlat
[1.14.19]#
Added#
otp.SymbologyMappingsourcesymbology and
show_original_symbolsparameters forotp.Symbols
[1.14.18]#
Added#
Environment variable
OTP_SKIP_OTQ_VALIDATIONnow force to skip__validate_onetick_query_integration()
[1.14.17]#
Fixed#
otp.DB: try to get schema from db again without using cache if we failed to get it the first time
[1.14.16]#
Added#
argument
all_fieldsofotp.agg()could set policy to choose tick for all fields: first, last, high, low.
[1.14.15]#
Fixed#
otp.cut,otp.qcut: raise exception when number of labels is not equal to number of binshandle case when using cut functions on one field several times
[1.14.14]#
Fixed#
added logic to support changed behaviour of newer OneTick builds with respect to timezones passed to
otp.run()
[1.14.13]#
Fixed#
keep_everything_generatedproperty for the classesTmpFile,TmpDirandGeneratedDirto control tmp file cleanup
[1.14.12]#
Fixed#
‘members’ default
autodocoption
[1.14.11]#
Added#
ability to use
otp.Operationin aggregations
[1.14.10]#
Added#
docs for datetime classes
Fixed#
otp.Year,otp.Quarter, andotp.Monthdatetime offsets
[1.14.9]#
Added#
added documentation
Fixed#
fixed wrong documentation substitution for aggregations methods
[1.14.8]#
Changed#
improved doctest for
applyand__getitem__on the Sourceadded ability to use external queries from the
doctest_resourcessubfolder
[1.14.7]#
Added#
otp.math.pi()functionimproved docs for all
otp.mathfunctions
[1.14.6]#
Added#
Sourceslicedata[['x', 'y']:]now works like handy shortcut forSource.table(strict=False)
[1.14.5]#
Changed#
otp.Source.high_timeandotp.Source.low_timedeprecated (useotp.agg.high/low_timeinstead)
Fixed#
Field collision in
Source.agg()withall_fields=Trueand non-emptygroup_by
[1.14.4]#
Added#
otp.DataSource(orotp.Custom) now haveback_to_first_tickparameter.
[1.14.3]#
Fixed#
Proper error message for using full tick aggregation on column.
[1.14.2]#
Added#
new optional flag -i (–name-info) for
jupyter onetick_snippets(shows snippets name tree)
[1.14.1]#
Fixed#
Fix updating datetime columns with datetime functions
[1.14.0]#
Fixed#
Inconsistency in UPDATE_FIELD EP changing column type with datetime functions
[1.13.0]#
Changed#
API documentation structure changed
[1.12.1]#
Fixed#
Warning instead of an error when using source with improper schema as an FSQ
Restored support for passing _SYMBOL_TIME query parameter to “join_with_query” method
[1.12.0]#
Fixed#
objects designed to be protected moved to protected space
[1.11.1]#
Added#
ability to use absolute time instead of offset in
otp.Tick()andotp.Ticks()ability to pass the whole source as a list of symbol parameters in
join_with_query()
[1.11.0]#
Added#
Added
otp.functions.cut()andotp.functions.qcut(), that mimicspandas.cut()andpandas.qcut()
[1.10.3]#
Fixed#
nodes history rebuilding in
otp.Source.deepcopy()method
[1.10.2]#
Fixed#
Method
tick_typesin inspectionDBclass can accept None date then assignself.last_dateif it is None,self.last_datealso can be None and when we pass arguments tootp.runwe create ‘end’ viadate + timedelta(days=1)that triggered Exception. Now it passes ‘utils.adaptive’ start and end in the case when date is finally None.
[1.10.1]#
Added#
_TIMEZONEmeta column of theotp.Sourceobject
Fixed#
If you use
otp.run()with a query as graph file and symbols asotp.Source, timezone is now being passed to the symbols query correctly
[1.10.0]#
Added#
jupyter-onetick_snippetsexecutable - configure snippets fornbextensionsnippets/snippets_menu
[1.9.0]#
Added#
Added scripts which allows running QueryDesigner.exe on Windows for test case and dashboard on Linux
[1.8.0]#
Added#
math module with OneTick math methods there
[1.7.1]#
Fixed#
Datetime fields are now correctly converted to integers when passed as filter conditions
[1.7.0]#
Added#
Support
numpy==1.19.5for python3.9
[1.6.1]#
Changed#
otp.agg.<aggregation>is now function and return aggregation instance
Added#
MedianaggregationSource.aggwill now work ifrunning=Falseandall_fields=True- first tick in bucket used forall_fieldsmethod
applyfor all aggregations that allows to apply aggregation toSourceSource methods
high,low,first,last,high_time,low_time,distinctnow support all parameters from relevant aggregation
[1.6.0]#
Changed#
all calls to
_Sourcechanged toself.__class__where possiblecopy()function now create subclass instance instead of_Sourceoutput_type_indexparameter formerge(),join(),join_by_time()andapply_query()all standard
otp.Sourcesubclasses now supportnodeand**kwargsparameters for__init__()from this point all subclasses of
otp.Sourcemust supportnodeand**kwargsparameters for__init__()
Fixed#
fixed problem with
otp.Source.drop_columns()deleting custom properties
[1.5.24]#
Fixed#
otp.eval(source_func, symbol)now passes the whole symbol (_SymbolParamSource()) object to thesource_funcand not only symbol nameInternal graphs for sources and
evalused as merge symbols are now stored in the main query file and not as separate filesSource.distinct()now aligns schema properly to have only key fields after the aggregation
[1.5.23]#
Changed#
if
keep_timestamp==Falsesource aggregations won’t add any reorderingsource aggregation
add_sortparameter deprecated and has no effect anymore.if
keep_timestamp==Truesource aggregations won’t add redundant reordering and will dropTICK_TIMEfield
[1.5.22]#
Fixed#
pass all parameters from
otp.runtootq.run
[1.5.21]#
Fixed#
The .update method works properly with string constants as values, and starts to return a resulting object
[1.5.20]#
Fixed#
Fixed passing milliseconds with proper conversion into the constructor of
otp.nsectimeto support backward compatibility
[1.5.19]#
Added#
support setting nanosecond constant to a column
[1.5.18]#
Fixed#
allowed to be
otp.Symbolswithout specified db, helpful when databases comes as symbols from symbols flowSource.count()failed in case of no ticks
[1.5.17]#
Added#
otp.Source.deepcopy()method andotp.Source.copy(deep)parameter
Changed#
_NodesHistoryclass refactoring: saving history as classes, not as closures
[1.5.16]#
Fixed#
source columns after
join_with_query(prefix=...)
[1.5.15]#
Added#
distinctto support list of keys
[1.5.14]#
Added#
day_of_weekfunction for datetime accessor
[1.5.13]#
Added#
otp.agg.maxandotp.agg.mintime_series_typeparameter
Fixed#
parameter iteration logic for
_Aggregationclassseveral typos in other aggregation’s parameters
[1.5.12]#
Fixed#
otp.Customwon’t fail if wore than one db passed as symbol param
[1.5.11]#
Fixed#
otp.Symbols(..., keep_db=False)worked incorrectly when symbol name contained a colon
[1.5.10]#
Added#
OTP_BASE_FOLDER_FOR_GENERATED_RESOURCE env variable that control where to save generated resources
[1.5.9]#
Changed#
Removed marking of nan values as special
[1.5.8]#
Added#
whereparameter forjoin_with_query
[1.5.7]#
Added#
LocalCSVTicksfunction, to read ticks from local csv file and create ticks object from them
[1.5.6]#
Added#
Support dateparts in the
Ticksoffsets, i.e.Hour,Nano,Minute, but without expressions
[1.5.5]#
Added#
Ability to pass parameters to
evalotp.Sourcefiltering supportseval_DBNAMEmeta field_TICK_TYPEmeta field
[1.5.4]#
Fixed#
the
.tabledoes not extend schema with new columns ifstrict=False
[1.5.3]#
Added#
keep_fields_not_in_schemaoption for theotp.functions.join()preserves fields from sources that were not in the schemas
[1.5.2]#
Added#
Support for CEP queries
Added the
.write()method on the sourceAdded the
.count()method on the source that returns number of ticksSupport the FLOAT type for return OneTick schema
[1.5.1]#
Added#
Ability to pass
pd.DataFrameas a symbol list tootp.run()andSource.to_otq()
Changed#
run.sh script that is generated for test cases now uses explicitly passed port by default and not
MAIN_TS_PORT
Fixed#
Fixed timezone conversions in database inspection
Fix setting
day_boundary_tzon database creation
[1.5.0]#
Added#
Ability to pass expressions in the
group_byparameter for aggregationsIntroduced the
otp.DEFAUT_TZ,otp.DEFAULT_START_TIME,otp.DEFAULT_END_TIME,otp.DEFAULT_DBThey can be configured using the corresponding env variables:
OTP_DEFAULT_TZ,OTP_DEFAULT_START_TIME,OTP_DEFAULT_END_TIME,OTP_DEFAULT_TZThe
otp.DEFAULT_TZis set to EST5EDT by default, andOTP_DEFAULT_TZcontrols every place that works with timezonesExposed the
otp.databases()function that returns all available databases, where each database has corresponding methods for getting available tick types, symbols, dates with data and schemaReworked mechanic of schema deducing, currently it is based on the
otp.databases(): it does not use symbols under the hood anymore, that radically speeds up the algorithm and makes it timezone agnosticAdded ability to pass callables as a query for the
otp.run. It supports functions and methods that have only single parameter that reflects upcoming symbol.Added ability to pass
otp.dtin the join with query
[1.4.20]#
Fixed#
Fix bool type for multiple ticks in
otp.Ticks.
[1.4.19]#
Added#
Add ability to use flexible buckets for
Source.aggmethod.
[1.4.18]#
Added#
keep_timestampparameter for “first”, “last”, “high” and “low” functions of Source class.
[1.4.17]#
Added#
Added names for Source objects. Names are used for display purposes when saving queries to disk.
Ability to save all sub-queries (JWQ,
eval, etc) to the same.otqfile when running a queryget_query_parameter_listfunction of the query inspector
Changed#
Sourceobjects are now always saved to disk as.otqfiles when running.to_graphfunction of theSourceclass is now deprecated for complex queries
[1.4.16]#
Added#
Add
tw_averageaggregation
[1.4.15]#
Fixed#
Fixed ability to omit the
n_bytesparameter in thestr.substr
[1.4.14]#
Added#
Add
same_sizeoption to join sources with same size directly
[1.4.13]#
Fixed#
Fixed HighTime, LowTime aggregations can now accept column name
[1.4.12]#
Added#
Add
alloption in join function
[1.4.11]#
Fixed#
Remove using the onetick.test.data module in tests
[1.4.10]#
Changed#
Remove unnecessary packages from the requirements.txt
[1.4.9]#
Added#
Possibility to specify
db_locationsindb.DBwith derived databases
[1.4.8]#
Added#
Double check initialization of OneTickLib in the
otp.run
[1.4.7]#
Added#
Overloaded
>>and>>=operators for sources that duplicateSource.sink()method
[1.4.6]#
Fixed#
Problem related in the
get_schemathat could return no results due the timezone
[1.4.5]#
Changed#
Ability to pass schema deduction policy to
get_schema()
[1.4.4]#
Fixed#
Custom()now works correctly with empty actual schema
[1.4.3]#
Changed#
Changed hardcoded date to 2030
[1.4.2]#
Changed#
Set onetick-lib version to 1.0.4
[1.4.1]#
Added#
Ability to call custom onetick script
[1.4.0]#
Changed#
Rename
Source.joinmethod tounite_columns.
[1.3.118]#
Changed#
Removed warnings from
otp.utils, they seems to happen quite often and annoying for end usersMoved
onetick.testpackage to the 1.1.26
[1.3.117]#
Changed#
Migrate from
pytztodateutilin inner usages.
[1.3.116]#
Added#
Source.joinmethod for joining several columns into the one string.
[1.3.115]#
Added#
datemethod todtaccessor, for date extraction from time fields
Fixed#
Fields and state variable now can be initialized with
otp.date
[1.3.114]#
Fixed#
bucket_timeargument tootp.Tick.
[1.3.113]#
Fixed#
minandmaxaggregations are now working at the same time onnsectimefields.
[1.3.112]#
Added#
start_time_expressionandend_time_expressionarguments tootp.runstart_time_expression,end_time_expressionandquery_paramarguments toSource.to_df
Changed#
time2nsectimefunction moved tootp.typesmodule
[1.3.111]#
Added#
DISABLE_COOL_TMP_NAMESenv allowing to disable patching of tmp file name generator withcoolnameimplementation
[1.3.110]#
Fixed#
nsectimecolumns loose nanoseconds after theminandmaxaggregations
[1.3.109]#
Added#
stddevaggregation
[1.3.108]#
Changed#
pandas requirement change to 1.1.4.
[1.3.107]#
Added#
__repr__method tootp.datetimeclass.
[1.3.106]#
Fixed#
Problems with initialization and arithmetic operations written in science notation
[1.3.105]#
Added#
double comparison by
cmpandeqmethods
[1.3.104]#
Added#
otp.runmethodSymbol parameters now accessible via
Source.Symbol.<parameter_name>otp.dateobject now can be created fromotp.datetime, pandas.Timestamp or datetime.datetimedatemethod tootp.datetimeobjectto_strmethod tootp.dateobjectotp.datetimenow can be created from anotherotp.datetimeobject
Fixed#
time-value column comparison
[1.3.103]#
Fixed#
Symbolargument ofotp.Ticksnow fills_SYMBOL_NAMEvalue.
[1.3.102]#
Fixed#
comparison of time column with time constants is now possible
[1.3.101]#
Fixed#
the
group_bymethod applied a pin for a single output that broke binding with nested queries
[1.3.100]#
Added#
method of class can be used as parameter of
otp.eval
[1.3.99]#
Fixed#
dumpmethod now add labels if columns parameter was specified
Added#
callback parameter to
dumpmethod to preprocess data before dumpingdumpmethod now accept string as columns parameter in such case only one column with such name and label (if specified) will be printed.
[1.3.98]#
Fixed#
otp.evalused NestedOtq EP that lead to strange problems in case of using external query as a source for theotp.Customsymbols
[1.3.97]#
Added#
match_if_identical_timesargument tojoin_by_timemethod
[1.3.96]#
Fixed#
str.upperandstr.lowerhadinttype instead ofstrotp.Symbolshad no option to filter by the tick type, was introduced thefor_tick_typeparameter; introduced usability, addedpatternandshow_tick_typeas parametersFixed bug in the
.dumpmethod: a query with dump generated multiple outputs and.to_df()returned a random oneAdded ability to fetch sub-schema from the
schemaproperty on the Source using the list of columns, i.e.data.schema[['QTY', 'PRICE']]Fixed bug that
query_inspectortried to parse a python file withotq.query_creatoras a first stage query and generated QueryNotFoundErrorAccess to non existing column in the schema led to creating a new column in the schema with the
floattypeDeprecated
TTicksAdded the
strictparameter to thetableequal to thekeep_input_fieldsflag in OTAdded conversion from int to
nsectime
[1.3.95]#
Added#
Added the
high_time,low_timeaggregations (standalone box & compute)
[1.3.94]#
Added#
Introduced the
dumpmethod
[1.3.93]#
Added#
Validation that path to Onetick binary is in $PATH environment variable on Windows
[1.3.92]#
Fixed#
Dateparts objects (
otp.Second,otp.Milliand so on) are now correctly support initialization with difference between two lag operators
[1.3.91]#
Fixed#
Timestamp field assignment with
_START_TIMEand_END_TIMEis now possible
[1.3.90]#
Added#
Support state variables assignment with
otp.datetime
[1.3.89]#
Added#
Support a forward lag operator for add and update (via temporary column) fields
[1.3.88]#
Fixed#
derived databases are now saved after tests with
--keep-generatedflag
[1.3.87]#
Added#
Support a column assignment with
otp.datetime
[1.3.86]#
Added#
schema for the symbol param source
type conversion from
nsectimeto intpresort support for merge with bound symbols
Fixed#
ability to create a
otp.dtfrom anotherotp.dtobjectupdate the
.Timecolumn based on operation
[1.3.85]#
Added#
Support the TABLE EP as the
.tablemethod on the Source
Removed#
Custom database like TAQ_NBBO are removed from the package, because they are custom
[1.3.84]#
Added#
now it is possible to call methods (e.g.
fillna,round, etc.) on expression, not only columnspython way expressions for user filter, no need to compare with 0 or empty string\zero timestamp
Fixed#
string + operation now doesn’t fail with 3 or more operands
accessors now works on state variables
[1.3.83]#
Changed#
quotes in
evalstatements are now escaped with slashes, notexpras it was before
[1.3.82]#
Added#
adaptive tick type documentation
windows short path configuration description
[1.3.81]#
Changed#
add otp.eval function for specifying symbol and start/end time of evaluated query or Source
otp.query now supports expressions as parameter
Fixed#
now it is possible to create timezone-aware
otp.datetimeobject from datetime with no default timezone
[1.3.80]#
Changed#
move onetick-py-test to 1.1.25 to grab cleaning unused file handlers
[1.3.79]#
Changed#
move onetick-py-test to 1.1.24 version
[1.3.78]#
Fixed#
passing
otp.sources.queryobjects to theCustomas a symbol
[1.3.77]#
Added#
add
pylamastatic code checker to CI
[1.3.76]#
Added#
add_passthroughflag toSource.to_graph()method
[1.3.75]#
Added#
added supporting per-tick-script logic through the
.scriptmethod on theSourcesupports only if-else, adding column and return statementintroduced
BaseSchemaas property of the_Sourceintroduced
Sourceas alias for the_Source
[1.3.74]#
Added#
TicksandTickcan handle specialutils.adaptivevalue intick_typeargument to use a tick type from the sync node.
[1.3.73]#
Added#
apply_queryandotp.sources.querynow handle both queries with unbound and bound symbols (used to work only with bound)
[1.3.72]#
Added#
otp.datetimenow has nanoseconds precisionotp.Nanoand so on supports column and expression as the argument
[1.3.71]#
Added#
Added ability to add external users into the generated acl files
[1.3.70]#
Added#
process_by_groupmethod toSourceobject
[1.3.69]#
Fixed#
Changed type of Exception in case if query would not found
[1.3.68]#
Fixed#
OMDSEQ field isn’t renamed anymore by
join_by_timefunction
[1.3.67]#
Fixed#
Moved onetick-py-test version to get fix related to the using per-tick-script
[1.3.66]#
Added#
properties
.dband.tick_typeto theCustomsource
[1.3.65]#
Added#
isinmethod for checking if column’s value in items
[1.3.64]#
Added#
ability to the join_by_time to set several leading sources
[1.3.63]#
Fixed#
otp.queryparam substitution is taken quotes and slashes into account
[1.3.62]#
Changed#
Speed up the Ticks() performance for simple cases
[1.3.61]#
Changed#
Moved conftest.py logic into the onetick-py-test==1.1.21, and moved dependency forward
[1.3.60]#
Fixed#
OTQ_PATHincludes keep generated folder for sessionstick_timestamp_typedb property is set to NANOS by default
[1.3.59]#
Changed#
state variables are now collected in
.state_varsfield of the_Source
Removed#
otp.state.varmethod
Fixed#
stacking
otp.funcs.joinwithrprefixspecified doesn’t cause an error anymorestate variables weren’t been copied after copy, merge and join operation
[1.3.58]#
Added#
auto escaping in
otp.queryparametersability to use onetick.py expression as
otp.queryparameters
[1.3.57]#
Added#
otp.inffor double positive infinity
[1.3.56]#
Added#
Numeric and boolean constants as indexes of source will cause ValueError
[1.3.55]#
Added#
ability to pass tick-dependent expressions to
join_with_queryparametersstart_timeandend_time
[1.3.54]#
Added#
set_schemamethod to specify schema in python part
[1.3.53]#
Fixed#
query_inspectornow works correctly with commented nodes and bound securities
[1.3.52]#
Added#
otp.Querycan now work on queries without unbound symbols without specifyingsymbol=Noneotp.Querynow accepts an optional parameterparams, which can contain a dictionary of parameters to be passed to the underlying query
Fixed#
query_inspectornow properly considerssymbol_param-dependenteval()queries as needing a lower bound (or unbound) symbol
[1.3.51]#
Fixed#
GeneratedDirmight fail in the concurrent runs during the already existing directories
[1.3.50]#
Fixed#
otp.Customwith symbol asotp.querynow returns merged data, not dict
[1.3.49]#
Added#
Add derived databases support in the
otp.DB
[1.3.48]#
Added#
Ability to add pins to a query
[1.3.47]#
Changed#
Usability of debugging scripts
[1.3.46]#
Changed#
Added pid to the base temp directory name to get rid of problems in multiprocessing environment
[1.3.45]#
Changed#
Updated version of onetick.test
[1.3.44]#
Fixed#
removed debug output
[1.3.43]#
Fixed#
query_inspector now parses some old NESTED_OTQ formats properly
[1.3.42]#
Added#
logic that allows to integrate debugging logic for temporary generated objects
[1.3.41]#
Added#
query_inspector now can determine whether a query needs an unbound symbol list
[1.3.40]#
Fixed#
fixed bug related to the defining types using the
__getitem__method
[1.3.39]#
Added#
specifying PYTHON_VERSION by default
[1.3.38]#
Added#
caching and prefix parameters to
join_with_query
[1.3.37]#
Added#
Add symbols parameter to merge function to specify bound symbols for reading from db
otp.Customnow accept_Sourceobject and collections (but not dicts) as symbols.the
otp.Emptysourceability to pass many databases in the
Session.usemethod
Changed#
the
keep_dbflag set to False by default in the Symbols sourcethe
joinoption in thejoin_with_querymethod to how, according to other join operations
[1.3.36]#
Added#
Implemented date difference in datepart units
[1.3.35]#
Fixed#
Added ability to use the Custom source with API binding using the ONE_TICK_CONFIG environment variable
[1.3.34]#
Fixed#
Time and TIMESTAMP columns type changed from the
msectimetonsectimeby default
[1.3.33]#
Fixed#
the query_inspector did not work with DECLARE_STATE_VARIABLES nodes, that has a different format that other EPs
[1.3.32]#
Added#
Check db name to be string
[1.3.31]#
Added#
join_with_querymethod toSourceobject
Removed#
join_with_funcfunction
Deprecated#
symbolmethod of Source object
[1.3.30]#
Fixed#
Earlier the Symbols returned symbols with a database prefix, but we introduce a
keep_dbflag and default value broke backward-compatibility. Set default to True to keep compatibility
[1.3.29]#
Fixed#
Nested queries short path doesn’t work, when there is no
otp.Session, butONE_TICK_CONFIGis defined
[1.3.28]#
Fixed#
Issue related to the hardcoded name of input and output pins for the nested queries
Added#
query_inspectorthat reads a passed query and reveals a query structure
[1.3.27]#
Added#
Support external unbound symbols syntax
Fixed#
Bug of applying nested queries due the legacy
passthrough
[1.3.26]#
Added#
otp.Year,otp.Quarter, …,otp.Nanoclasses can be used as parameter for + operation with timestamps
[1.3.25]#
Changed#
set onetick-lib version to 1.0.3 (works only with version of OneTick >= update3_20190927120000)
[1.3.24]#
Added#
regex support for
dropmethod
[1.3.23]#
Fixed#
join_by_time didn’t assign name to a node in some conditions, that led to an error that one source didn’t have name specified
[1.3.22]#
Added#
check_schema flag to join_by_time for avoiding exception on joining Sources with columns’s names changed by sink event processor
[1.3.21]#
Fixed#
REGEX_EXTRACT supports case changing groups, while REGEX_REPLACE doesn’t
[1.3.20]#
Added#
automatically call
rtrimonreplacewith column as a parameter
[1.3.19]#
Added#
DISTINCT aggregation
[1.3.18]#
Added#
.floataccessor andstrmethod to it
[1.3.17]#
Deprecated#
guess_schemaargument ofCustomconstructor is deprecated
Added#
Custom constructor argument
schema_policy(allowed values: manual, tolerant, fail) for better tuning of the schema guess behaviour
[1.3.16]#
Added#
str.substrfunction
[1.3.15]#
Added#
str.extractfunction
[1.3.14]#
Added#
str.repeatfunction and string by non-negative int multiplication based on this function
[1.3.13]#
Added#
str.findfunction
[1.3.12]#
Changed#
Moved
locator_parserforward to 1.0.4
[1.3.11]#
Added#
str.replaceandstr.regex_replacefunctions
[1.3.10]#
Added#
utils
omd_dist_paththat finds OneTick build path bases on PYTHONPATH
[1.3.9]#
Added#
str.lowerandstr.upperfunctions
[1.3.8]#
Added#
str.trim,str.ltrimandstr.rtrimfunctions
[1.3.7]#
Added#
columns generated by token saves parent dtype from now
[1.3.6]#
Added#
ability to change config file for a session
[1.3.5]#
Added#
str.lenandstr.containsfunctions
[1.3.4]#
Added#
Random seed setup at the beginning from session
[1.3.3]#
Fixed#
Logging in temporary files that creates a lot of captured logs with pytest, that happens when logging file destroyed before temporary objects destruction
[1.3.2]#
Fixed#
Problem with overridden min/max functions: they missed
kwargsparams
[1.3.1]#
Changed#
Update pytest dependency from 4.x to 5.x
Update other pytest related dependencies
[1.2.54]#
Added#
Parameter
shared_state_variables_listto functionapply_query
[1.2.53]#
Fixed#
Fixed bug with query params which had not propagated by
apply_querymethod in caseotp.sources.query.otp_queryused as query parameter
[1.2.52]#
Fixed#
Partially defined DB locations. Also it starts to support optional location options like DAY_BOUNDARY_TZ
[1.2.51]#
Fixed#
Add ability to pass pd.Timestamp values, because it is know about DST. Also fixed a bug that did not allow to set datetime with finer precision than seconds.
[1.2.50]#
Fixed#
Added check for integration with onetick.query. Check raises a user friendly descriptive error message what to do. Also it cover a case when you had libraries for python with the standard malloc allocator in PYTHONPATH, but used python with the
py-mallocallocator, then code rose magic problems on running queries but not on importing the onetick.query package.
[1.2.49]#
Fixed#
get_schema()and the like now support derived databases properly
[1.2.48]#
Fixed#
remove pytest-profiling
[1.2.47]#
Added#
get_schema()set of utils;guess_schemaparameter for Custom sources.
[1.2.46]#
Fixed#
Remove ALERTS database from the dummy locator
[1.2.45]#
Added#
Average aggregation; alternative (non-second) units for aggregations.
[1.2.44]#
Fixed#
Redirected OneTick logs into a temporary log file
[1.2.43]#
Fixed#
TmpFile does not take the confusing ‘path’ parameter
[1.2.42]#
Added#
Short version of conditions in lambdas and functions, i.e.
<> if row.x else <>
[1.2.41]#
Added#
Support min and max functions
[1.2.40]#
Added#
Partially support JWQ
[1.2.39]#
Added#
Support the lag operation on a column
[1.2.38]#
Fixed#
Remove quotes if they are passed when fill config file
[1.2.36]#
Added#
Fixed support lambdas for sources
[1.2.35]#
Added#
Added new accessor
matchwhich is equivalent toregex_matchbuilt-in function from OneTick.
[1.2.34]#
Added#
Mod operation support.
[1.2.33]#
Added#
querysource config now supports dicts and lists as definitions of output columns.
[1.2.32]#
Added#
Support custom and server based license
[1.2.31]#
Fixed#
Assignment to timestamp field now applies a pre-sort.
[1.2.30]#
Added#
Added
tokenaccessor for string which call “token” built-in function from OneTick.
[1.2.29]#
Added#
Function
get_schema()for getting the tick descriptors out of existing databases.
[1.2.28]#
Fixed#
Restored public interface for write_to_db.
[1.2.27]#
Added#
Support accessor for datetime and string
[1.2.26]#
Fixed#
Sessions are allowed to use COMMAND_EXECUTE EP.
[1.2.25]#
Fixed#
Fixed passing directory fixtures from the onetick.test packages to the Config constructor as
otq_pathandcsv_pathparameters without casting to string
[1.2.24]#
Added#
Support for
join_by_timeSAME_TIMESTAMP_JOIN_POLICY.
[1.2.23]#
Changed#
Interfaces for
joinandjoin_by_timefunctions.Added
mergefunction that repeats theconcatfunctions
[1.2.22]#
Added#
Supported simple state variables
[1.2.21]#
Fixed#
Tests for ticks taking dates as input now work on Windows.
[1.2.20]#
Fixed#
Removing database from locator when some internal action was done (db.symbols, db.add …)
[1.2.19]#
Added#
Added property symbols to database object that returns all symbols in db.
Added source with symbols to get object we can work with
[1.2.18]#
Fixed#
Ability to add to db after session uses db
[1.2.17]#
Added#
Tick and Ticks objects can now be generated with datetime values as parameters, which will be cast to OneTick nanosecond-precision timestamps. (Module datetime itself doesn’t support nanosecond time, so the initial values can only have microsecond precision.)
[1.2.16]#
Fixed#
CSV times are now read in proper (nanosecond) resolution.
START/END timestamps are presented in proper (nanosecond) resolution.
[1.2.15]#
Fixed#
to_otqquery withevalin symbols
[1.2.14]#
Added#
Added symbol params support
[1.2.13]#
Added#
use_local_licenseflag to theConfig; it is helpful when you don’t want to use local license and want to use remote license from a tick server
[1.2.12]#
Added#
Ability to add ‘destroy’ flag to acl for db
[1.2.11]#
Added#
It’s now possible to use pandas DataFrame’s as a source for databases.
[1.2.10]#
Added#
Ability to pass
evalas an unbound symbol andotp.source.queryas a symbol there
[1.2.9]#
Fixed#
Fixed the
Ticksfor case when columns has non-None values, but with different types
[1.2.8]#
Fixed#
to_graph()method to build the final graph instead of intermediate
[1.2.7.1]#
Added#
emptyflag to the locator, that allows to create a locator without stubs
[1.2.7]#
Added#
Restriction to have multiple active sessions simultaneously
[1.2.6]#
Added#
.splitand.switchmethods on the Source objects, that allows to split data. Cover SWITCH EP
[1.2.5]#
Added#
Ability to include reference to a locator into a locator using
Locator().add(Locator('path/to/another.locator')Default values for a location in the
DBconstructor.Allowed
WRITE_TEXTin the default locator
[1.2.4]#
Changed#
Predefined databases became singletons instead of instances. Example: before was
onetick.py.db.NYSE_TAQ(), but changed toonetick.py.db.NYSE_TAQ.
[1.2.3]#
Fixed#
Predefined db
NYSE_TAQ
[1.2.2]#
Added#
Ability to add and remove “Admin user” to an ACL