Implementation best practices¶
To keep the codebase consistent whilst adding new code, please try to stick to the following best practices that have served us well so far (grouped by topic). For example, these best practices make sure it is clear which services touch the filesystem state of Orchest.
API design guidelines¶
New API endpoints should not end with trailing slashes. For example, go with
Don’t use class components do use functional components.
Only write to the
flask.config object on app initialization (Flask’s application factory). Changes to certain values
inside the config object require a restart of the flask application for them to take effect,
therefore the actual state can get out of sync with the state inside the config object when writing
orchest-api is not allowed to read content from the
userdir. It essentially just passes
pointers to the
celery-worker which then does operations on the