Skip to main content

Tool for parsing matrix files, extracting actions and processing them according to user defined logic

Project description

run-one

Tool for parsing matrix files, extracting actions and processing them according to user defined logic

How to setup environment and install dependencies

python -m venv $VENV_PATH
$VENV_PATH/bin/pip install -U pip setuptools
$VENV_PATH/bin/pip install poetry
$VENV_PATH/bin/poetry install -E th2

Note: -E th2 is optional and can be omitted if you don't need th2-related dependencies.

Config example (using th2 processor)

matrix_path: "matrix_case.csv" # path to matrix file or directory with matrices
filename_pattern: "*.matrix.csv" # matching pattern for files (can contain shell-style wildcards)

processed_actions: # which actions to process (action name to name of handler class)
  send: "TH2ActHandler"
  receive: "TH2Check1Handler"
  store: "TH2EstoreHandler"
  sleep: "SleepHandler"
  actSsh: "TH2ActSSHHandler"

field_mapping: # mapping for field renaming (old name to new name)
  TIF: "TimeInForce"

nested_fields: ["NoPartyIDs", "OrderQtyData", "Parties", "Instrument"] # which fields to convert to collections

fields_to_drop: # which fields to remove
  ["PreviousID", "Protocol", "CaseName", "Seq"]

fields_to_extract: # which fields to extract and keep as additional information
  ["Action", "MessageType", "Time", "User", "ID", "ExecutionAlias", "Direction", "Description"]

regenerate_id_fields: ["ClOrdID", "OrigClOrdID"] # ID-like fields to regenerate

regenerate_time_fields: ["TransactTime"] # Time-like fields to regenerate

processor_config: # processor config in free form
  th2_configs: "th2_configs" # path to directory with th2 configs
  root_event_name: 'run-one root event' # name of created root event
  book: "test_book" # book name
  scope: "test_script" # scope name
  use_place_method: False # use th2 act place methods (True) or plain send (False)
  key_fields: # mapping of key fields (message type to list of field names with support of nested fields) for th2-check1 request
    ExecutionReport:
      - "Side"
      - "ClOrdID"
      - "OrigClOrdID"
      - Instrument:
         - "Symbol"
  fail_unexpected: "NO" # rule of failing the validation for th2-check1 request if any unexpected field received
  ignore_fields: # mapping of fields (message type to list of field names) to be ignored in the th2-check1 rule validation
    ExecutionReport:
      - "header"
      - "trailer"
  sleep: 1 # delay between each action processing in seconds
  matrix_delay: 5 # delay between each matrix processing in seconds
  timestamp_shift: 1 # for how many seconds to the past make a shift for event timestamps

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

run_one-1.2.9.dev8537800085.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

run_one-1.2.9.dev8537800085-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file run_one-1.2.9.dev8537800085.tar.gz.

File metadata

  • Download URL: run_one-1.2.9.dev8537800085.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for run_one-1.2.9.dev8537800085.tar.gz
Algorithm Hash digest
SHA256 9906ce62c105f787a88d13e4d081f8fb60920f00b7dbbc69d357382b10dc2fb7
MD5 e636d46b00fb0b9463052eb7e9c248e0
BLAKE2b-256 bff8a7e418818c3f2abe66deb174089bfa733eed220781523347e1f1e0e0320d

See more details on using hashes here.

File details

Details for the file run_one-1.2.9.dev8537800085-py3-none-any.whl.

File metadata

File hashes

Hashes for run_one-1.2.9.dev8537800085-py3-none-any.whl
Algorithm Hash digest
SHA256 8c77fb58d8b0e668cebf414e3763b81d228be12f57cc720c6b57dcfb43ad4473
MD5 7310cf207cf763ad532e85b87a602e16
BLAKE2b-256 bc8d2b534eb974d376c7cb5dda99120d903c4194daf5ae55ee457d6394872f1a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page