Hot reload enabled for native servers
Use cases, pain points, and background It's much easier to develop without having to find terminals and ctrl+c around all the time to adhoc test new code changes.
Description: We should enable users to test their new code changes without ever spinning up or down their servers.
Design: There is a way to hot reload fastapi servers. https://fastapi.tiangolo.com/vi/deployment/manually/#run-the-server-program. May be as simple as passing some option to the initial server spinup in nemo_gym/cli.py. We should just be able to watch the entire resources_server/xyz_server folder excluding the .venv.
Out of scope: Doesn't need to work for all small edge cases. But needs to work for majority of servers.
Acceptance Criteria:
- [ ] Implementation of the above. I need to be able to spin up some server, make changes to runtime code, and see it take effect on subsequent queries.
- [ ] We need docs on how this is executed so people understand what can be hot reloaded and what cannot be.