Name | run-one JSON |
Version |
1.2.8
JSON |
| download |
home_page | https://github.com/th2-net/run-one |
Summary | Tool for parsing matrix files, extracting actions and processing them according to user defined logic |
upload_time | 2024-04-02 12:52:52 |
maintainer | None |
docs_url | None |
author | TH2-devs |
requires_python | <4.0,>=3.9 |
license | Apache-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"
}