run-one


Namerun-one JSON
Version 1.2.8 PyPI version JSON
download
home_pagehttps://github.com/th2-net/run-one
SummaryTool for parsing matrix files, extracting actions and processing them according to user defined logic
upload_time2024-04-02 12:52:52
maintainerNone
docs_urlNone
authorTH2-devs
requires_python<4.0,>=3.9
licenseApache-2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # run-one
Tool for parsing matrix files, extracting actions and processing them according to user defined logic

### How to setup environment and install dependencies
```bash
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)
```yaml
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
```


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/th2-net/run-one",
    "name": "run-one",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "TH2-devs",
    "author_email": "th2-devs@exactprosystems.com",
    "download_url": "https://files.pythonhosted.org/packages/8a/9e/d230bec964ece5ce594d6d5de0859c04ccdce8e01e505cb1db9d3b81a4ec/run_one-1.2.8.tar.gz",
    "platform": null,
    "description": "# run-one\nTool for parsing matrix files, extracting actions and processing them according to user defined logic\n\n### How to setup environment and install dependencies\n```bash\npython -m venv $VENV_PATH\n$VENV_PATH/bin/pip install -U pip setuptools\n$VENV_PATH/bin/pip install poetry\n$VENV_PATH/bin/poetry install -E th2\n```\nNote: `-E th2` is optional and can be omitted if you don't need th2-related dependencies.\n\n### Config example (using th2 processor)\n```yaml\nmatrix_path: \"matrix_case.csv\" # path to matrix file or directory with matrices\nfilename_pattern: \"*.matrix.csv\" # matching pattern for files (can contain shell-style wildcards)\n\nprocessed_actions: # which actions to process (action name to name of handler class)\n  send: \"TH2ActHandler\"\n  receive: \"TH2Check1Handler\"\n  store: \"TH2EstoreHandler\"\n  sleep: \"SleepHandler\"\n  actSsh: \"TH2ActSSHHandler\"\n\nfield_mapping: # mapping for field renaming (old name to new name)\n  TIF: \"TimeInForce\"\n\nnested_fields: [\"NoPartyIDs\", \"OrderQtyData\", \"Parties\", \"Instrument\"] # which fields to convert to collections\n\nfields_to_drop: # which fields to remove\n  [\"PreviousID\", \"Protocol\", \"CaseName\", \"Seq\"]\n\nfields_to_extract: # which fields to extract and keep as additional information\n  [\"Action\", \"MessageType\", \"Time\", \"User\", \"ID\", \"ExecutionAlias\", \"Direction\", \"Description\"]\n\nregenerate_id_fields: [\"ClOrdID\", \"OrigClOrdID\"] # ID-like fields to regenerate\n\nregenerate_time_fields: [\"TransactTime\"] # Time-like fields to regenerate\n\nprocessor_config: # processor config in free form\n  th2_configs: \"th2_configs\" # path to directory with th2 configs\n  root_event_name: 'run-one root event' # name of created root event\n  book: \"test_book\" # book name\n  scope: \"test_script\" # scope name\n  use_place_method: False # use th2 act place methods (True) or plain send (False)\n  key_fields: # mapping of key fields (message type to list of field names with support of nested fields) for th2-check1 request\n    ExecutionReport:\n      - \"Side\"\n      - \"ClOrdID\"\n      - \"OrigClOrdID\"\n      - Instrument:\n         - \"Symbol\"\n  fail_unexpected: \"NO\" # rule of failing the validation for th2-check1 request if any unexpected field received\n  ignore_fields: # mapping of fields (message type to list of field names) to be ignored in the th2-check1 rule validation\n    ExecutionReport:\n      - \"header\"\n      - \"trailer\"\n  sleep: 1 # delay between each action processing in seconds\n  matrix_delay: 5 # delay between each matrix processing in seconds\n  timestamp_shift: 1 # for how many seconds to the past make a shift for event timestamps\n```\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Tool for parsing matrix files, extracting actions and processing them according to user defined logic",
    "version": "1.2.8",
    "project_urls": {
        "Homepage": "https://github.com/th2-net/run-one",
        "Repository": "https://github.com/th2-net/run-one"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ad22bd86341e513a5d927cbd69034e2ec689cbe5cd319a965798dd1f3672a0db",
                "md5": "f3a2ff3c87b45b7234445d3c6fb6ebf3",
                "sha256": "9e0f9b750623e1ceafb268b120c8d67d045e132120bd1c7461193e7d570cf088"
            },
            "downloads": -1,
            "filename": "run_one-1.2.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f3a2ff3c87b45b7234445d3c6fb6ebf3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 17409,
            "upload_time": "2024-04-02T12:52:50",
            "upload_time_iso_8601": "2024-04-02T12:52:50.986325Z",
            "url": "https://files.pythonhosted.org/packages/ad/22/bd86341e513a5d927cbd69034e2ec689cbe5cd319a965798dd1f3672a0db/run_one-1.2.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8a9ed230bec964ece5ce594d6d5de0859c04ccdce8e01e505cb1db9d3b81a4ec",
                "md5": "1bf2b6d3e9b47e00ea4053e11c91232e",
                "sha256": "ec6c27fb0e32ecc04754f6d1732e969e4d90d27eadf37ed787fd13c6b2d2e0d8"
            },
            "downloads": -1,
            "filename": "run_one-1.2.8.tar.gz",
            "has_sig": false,
            "md5_digest": "1bf2b6d3e9b47e00ea4053e11c91232e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 13268,
            "upload_time": "2024-04-02T12:52:52",
            "upload_time_iso_8601": "2024-04-02T12:52:52.527715Z",
            "url": "https://files.pythonhosted.org/packages/8a/9e/d230bec964ece5ce594d6d5de0859c04ccdce8e01e505cb1db9d3b81a4ec/run_one-1.2.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-02 12:52:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "th2-net",
    "github_project": "run-one",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "run-one"
}
        
Elapsed time: 0.21752s