Closed khvn26 closed 6 months ago
@khvn26 resolved the comment. Do you want to add some detail to the readme (maybe moving over the code in contributing.md added here and fix the conflicts, then we can get this merged?
I'm keen to do this sooner rather than later, otherwise we're going to be in a constant state of fixing conflicts.
Do you want to add some detail to the readme
Done, @matthewelwell. Also improved the whole config.json
experience (see the PR description).
This is a chunky one:
Rye
We rely on Rye for setting up the dev environment and managing dependencies now. By design, Rye adheres to standards as much as it can, so we can use
pyproject.toml
to list dependencies. Rye's UX is a lot like Cargo's of Rust fame, so given that we have Rye installed, we're able to just clone the project and runto have a working and usable developer environment.
Entrypoints, project layout, and default
config.json
generationThe project now uses the
src
layout correctly, so a simplepip install -r requirements.lock
will add the code intoPYTHONPATH
. Additionally, installing the project now adds the following entrypoints:edge-proxy-serve
— runs the Edge Proxy server.host
,port
andreload
Uvicorn configuration entries now settable via Edge Proxy configuration, under theserver
key.edge-proxy-render-config
— writes an example config to stdout and the path specified inCONFIG_PATH
(./config.json
by default).I felt that having
edge-proxy-render-config
will greatly reduce maintenance overhead for keeping theconfig.json
up to date.config.json
The following settings have been renamed, with backwards compatibility retained:
api_poll_frequency
toapi_poll_frequency_seconds
.api_poll_timeout
toapi_poll_timeout_seconds
.