DSL for coroutine orchestration
Project description
# arachno
Utility to orchestrate coroutines via DSL.
## Example
```json
{
"actions": {
"target": {
"operation": "search-api.get_product",
"args": {
"product_id": "${product_id}"
},
"defines": {
"product-category": "result.category",
"product-price": "result.price"
},
"options": {
"timeout": "1s"
}
},
"target-account": {
"operation": "accounts-repository.get",
"args": {
"account_id": "${account_id}"
},
"defines": {
"favorite-categories": "${account.favorite-categories}"
},
"options": {
"timeout": "1s"
}
},
"product-selector": {
"operation": "product-stats.calculate_params",
"args": {
"input": {
"category": "${target.product-category}",
"country": "${target.product-price}",
"segment": "Germany"
},
"jitter_percent": 10
},
"defines": {
"output-args": "value"
}
},
"similar-products": {
"operation": "search-api.search",
"args": {
"product_codes": "${product-selector.output-args}",
"categories": {
"oneof": "${target-account.favorite-categories}"
}
},
"options": {
"timeout": "600ms"
}
}
}
}
```
Utility to orchestrate coroutines via DSL.
## Example
```json
{
"actions": {
"target": {
"operation": "search-api.get_product",
"args": {
"product_id": "${product_id}"
},
"defines": {
"product-category": "result.category",
"product-price": "result.price"
},
"options": {
"timeout": "1s"
}
},
"target-account": {
"operation": "accounts-repository.get",
"args": {
"account_id": "${account_id}"
},
"defines": {
"favorite-categories": "${account.favorite-categories}"
},
"options": {
"timeout": "1s"
}
},
"product-selector": {
"operation": "product-stats.calculate_params",
"args": {
"input": {
"category": "${target.product-category}",
"country": "${target.product-price}",
"segment": "Germany"
},
"jitter_percent": 10
},
"defines": {
"output-args": "value"
}
},
"similar-products": {
"operation": "search-api.search",
"args": {
"product_codes": "${product-selector.output-args}",
"categories": {
"oneof": "${target-account.favorite-categories}"
}
},
"options": {
"timeout": "600ms"
}
}
}
}
```
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
arachno-0.1.0.tar.gz
(8.4 kB
view hashes)
Built Distribution
arachno-0.1.0-py3-none-any.whl
(22.2 kB
view hashes)