FastAPI and Starlette both have tons of files, and even subpackages. Bottle ships as only a single bottle.py file, with no external dependencies (only Python standard library). FastAPI depends on Starlette, and both have a set of optional external dependencies.
> However, it is a bit tricky to run Bottle with production grade servers like gunicorn/uwsgi.
It’s indeed strange to call any WSGI-capable framework (all of them?) tricky to deploy with gunicorn/uwsgi. All you need to do is expose the WSGI object.
> However, it is a bit tricky to run Bottle with production grade servers like gunicorn/uwsgi.
Uh, no? Bottle has docs for deployment: https://bottlepy.org/docs/dev/deployment.html#switching-the-...
They have automated support for gunicorn. uWSGI requires adding one line (`app = bottle.default_app()`) and pointing uWSGI at that.