Development

Release

1. Create a branch for development 1. Make code changes 1. Ensure tests pass 1. Check that docs render correctly (including the fastapi server docs) 1. Build docker & run docker tests (ensure container shutdown to prevent interference with future local tests) 1. Update version in recipe/recipe.yaml using symantic versioning 1. Create a pull request to merge in changes 1. Merge changes after tests pass 1. Publish a relase on Github and create a tag on release that matches the version in recipe/recipe.yaml with the “v” prefix 1. Verify that the publish-to-pypi GitHub action publishes to PyPI 1. Update the simulatr-feedstock repo to publish to the conda-forge

If you want to update a running simulator service and/or n8n tool then

1. Redeploy to beam 1. Update SIMULATR_REMOTE_SERVER_ADDRESS in test environment 1. Run remote tests in tests/test_server.py 1. Update the n8n tool 1. Stop old deployment on beam once n8n tool working

To do

General

  • [ ] Add soil file parsing

  • [ ] Improve human readable prompt for CLI and fix set/get description

Server

Short term
  • [ ] Mark file parameters with os.PathLike

  • [ ] Handle file uploads in n8n form generation (weather, soil, model files)

  • [ ] Add bearer token authentication when using pod deployment & redeploy since the pod deployment does not seem to implement beam bearer credential

Long term
  • [ ] Improved documentation

  • [ ] Endpoint for getting a list of state variables (this would require parsing C# files)

  • [ ] Auto test API examples/defaults