Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto generate API documentation #74

Open
eboileau opened this issue Jan 24, 2024 · 2 comments
Open

Auto generate API documentation #74

eboileau opened this issue Jan 24, 2024 · 2 comments
Assignees
Labels
Documentation Documentation related
Milestone

Comments

@eboileau
Copy link
Collaborator

Aims/objectives.

To document the API, and the code in general. This should go to https://dieterich-lab.github.io/scimodom/.

A clear and concise description of todo items.

Add/format docstrings, add to docs.

@eboileau eboileau added the Documentation Documentation related label Jan 24, 2024
@eboileau eboileau self-assigned this Jan 24, 2024
@HaraldWilhelmi
Copy link

Consider to switch from Flask to FastAPI. That gives a OpenAPI documentation with very little effort.

@HaraldWilhelmi
Copy link

Explored that option a bit:

Going to FastAPI is more difficult than I thought. Either we should not do it - or -
prepare this step as follows:

  • The code uses Flask CLI commands. IMHO this is unnecessary. The CLI commands could be transformed to standalone commands, removing this Flask dependency completely.
  • Both plugins/cli.py and api/public.py contain SQLAchemy code directly interacting with the database. IMHO all the database related stuff should be moved to something like scimodom/services/data.py so that we have a single spot where concentrate all performance relevant database code and separate it e.g. from validation of user input and decoding/encoding of data for Rest calls.

@eboileau eboileau added this to the API milestone Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Documentation Documentation related
Projects
None yet
Development

No branches or pull requests

2 participants