As noted in this comment on PR #460, the Python service packages have too many parsed CLI arguments. The request-service package is a particularly good/bad example, in large part due to it needing to communicate with the other services, and each setup for such communication involving several similar parameters.
With the adoption of Pydantic (#331), it is relatively easy to build serializable configuration classes. For example, see the conversion of the DMOD CLI client configuration class from PR #424. The Pydantic-based implementation requires roughly 1/3 the lines of code, while also adding some new functionality.
Regardless, we should modify our Python service packages, and corresponding Docker services, to reduce dependence on parsed args.
As noted in this comment on PR #460, the Python service packages have too many parsed CLI arguments. The request-service package is a particularly good/bad example, in large part due to it needing to communicate with the other services, and each setup for such communication involving several similar parameters.
With the adoption of Pydantic (#331), it is relatively easy to build serializable configuration classes. For example, see the conversion of the DMOD CLI client configuration class from PR #424. The Pydantic-based implementation requires roughly 1/3 the lines of code, while also adding some new functionality.
Regardless, we should modify our Python service packages, and corresponding Docker services, to reduce dependence on parsed args.