the roadmap for adapt to modern tech for backend
- Dominant language
- TypeScript
- Stars
- 156k
- Forks
- 24.6k
- Avg merge
- 22h 9m
- Merged PRs (30d)
- 610
Description
### Self Checks
- [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542).
- [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones.
- [x] I confirm that I am using English to submit this report, otherwise it will be closed.
- [x] Please do not modify this template :) and fill in all the required fields.
### 1. Is this request related to a challenge you're experiencing? Tell me about your story.
flask is painful, it missing type checker.
the roadmap:
1. remove flask-sqlalchemy (doing) https://github.com/langgenius/dify/issues/24138
2. remove reqparse -> BaseModel (doing) https://github.com/langgenius/dify/issues/27513
3. remove api.model -> BaseModel (doing) https://github.com/langgenius/dify/pull/30388
4. ~~maybe change to https://luolingchun.github.io/flask-openapi3/latest/Quickstart/ since it's less hard, but also need to remove model~~
5. ~~adapt fastopenapi https://github.com/mr-fatalyst/fastopenapi (after 2 and 3) , so all the backend api endpoint style is fastapi-style~~
6. ~~flask -> quart https://quart.palletsprojects.com/en/latest/how_to_guides/flask_migration/ (so move to async api) , this need to deal with all the flask plugin, may take long time. and may be optional. draft ~~https://github.com/langgenius/dify/pull/31784
7. quart -> fastapi (currently final goal)
just use fastapi, use WSGI to mount flask.
### 2. Additional context or comments
this will take some time...
### 3. Can you help us with this feature?
- [x] I am interested in contributing to this feature.
Contributor guide
Assessment
This issue has not been assessed yet.