In order to make this project work with AiiDA 2.5+, this pr migrates to
pydantic 2
fastapi 0.115.5 (previous version was not comptaibly with pydantic 2)
starlette.graphql (which was removed from starlette/fastapi) was replaced with starlette-graphene3
and as a result, graphene 2 also needed to be migrated to graphene 3
In the process of these migrations, the following things were changed:
tests that start aiida processes needed to be set as async and use an async test client, otherwise there was an event-loop conflict with aiida;
the upload file endpoint was not working with the previous approach, and now uses Fastapi's upload file that can handle large files in a manner that doesn't need to load it fully into memory.
In order to make this project work with AiiDA 2.5+, this pr migrates to
In the process of these migrations, the following things were changed:
Fixes #70