florimondmanca on pip
dependabot[bot] on npm_and_yarn
dependabot[bot] on npm_and_yarn
Bump acorn from 6.1.1 to 6.4.1 … (compare)
Hi Ilyes! Thanks for pitching in, this is an interesting question!
Actually, Bocadillo uses Starlette as an ASGI toolkit, not as a framework. For example, we reuse Starlette’s HTTP request representation (the Request class), as well as various ASGI middleware classes (eg the CORS middleware) and some other features (eg background tasks). But Bocadillo has a different design for views, and other features completely separate from Starlette (eg dependency injection). This hasn’t happened yet, but I’d be very much keen to bring generic enough features back into Starlette (in fact, I am personally a contributor to Starlette and uvicorn). :)
OTOH, it is true that FastAPI can be seen as a framework of a framework. For example, its app class is a direct subclass of ‘Starlette’ class. I think tiangolo is involved in both Starlette and uvicorn as well though.
+---demo ¦ +---demo ¦ ¦ +---app.py ¦ ¦ +---asgi.py ¦ ¦ +---providerconf.py ¦ ¦ +---settings.py ¦ ¦ +---__init__.py ¦ +---templates
(D:\SVNRepo\projects-sw\async_web\trunk\env) D:\SVNRepo\projects-sw\async_web\tr unk\env\projects\demo\demo>uvicorn asgi:app --reload INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: Started reloader process  Process SpawnProcess-1: Traceback (most recent call last): File "d:\svnrepo\projects-sw\async_web\trunk\env\lib\multiprocessing\process.p y", line 297, in _bootstrap self.run() File "d:\svnrepo\projects-sw\async_web\trunk\env\lib\multiprocessing\process.p y", line 99, in run self._target(*self._args, **self._kwargs) File "d:\svnrepo\projects-sw\async_web\trunk\env\lib\site-packages\uvicorn\mai n.py", line 305, in run loop.run_until_complete(self.serve(sockets=sockets)) File "d:\svnrepo\projects-sw\async_web\trunk\env\lib\asyncio\base_events.py", line 584, in run_until_complete return future.result() File "d:\svnrepo\projects-sw\async_web\trunk\env\lib\site-packages\uvicorn\mai n.py", line 312, in serve config.load() File "d:\svnrepo\projects-sw\async_web\trunk\env\lib\site-packages\uvicorn\con fig.py", line 182, in load self.loaded_app = import_from_string(self.app) File "d:\svnrepo\projects-sw\async_web\trunk\env\lib\site-packages\uvicorn\imp orter.py", line 23, in import_from_string raise exc from None File "d:\svnrepo\projects-sw\async_web\trunk\env\lib\site-packages\uvicorn\imp orter.py", line 20, in import_from_string module = importlib.import_module(module_str) File "d:\svnrepo\projects-sw\async_web\trunk\env\lib\importlib\__init__.py", l ine 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 728, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File ".\asgi.py", line 3, in <module> from .app import app ImportError: attempted relative import with no known parent package INFO: Stopping reloader process 
From the tutorial it seems like templates should be in the same subdirectory as app.py but jinja2 throws an error if it is
The docs say that it should be placed in the same directory relative to where the app is run (ie using uvicorn), so that means the location you put it at should work. Doesn’t it?
If I run uvicorn asgi:app --reload in the second demo subdirectory, it errors:
Yes, that is expected, because the generated demo package uses relative imports, which you can’t use in Python unless you’re running from outside of that package. We should probably add a warning/caveat in the docs
Hi peeps, just to let you know that I am planning to close this Gitter chat soon.
The experience I’ve had is that most of the discussions taking place here would benefit from being out there in the open (ie in GitHub issues), indexed, searchable and actionable.
Also, while I enjoy answering questions, the chat or DM system here has been taking up on my attention, and it would be much easier to manage via issues.
So I invite everyone to start using issues for questions (even simple ones!), since this chat should be closed by next week. 👍 Thanks!
slackbecause of ecosystem + mobile app, and I've also heard of https://twist.com which is a
Yep, I think you’ve got a pretty reasonable tech stack then :) If you’re looking for inspiration Tom is building an example Starlette web app with templates + databases + Heroku deployment and what not. It’s grown in size but I think going up the PR history could turn out interesting in terms of « how to setup X » in the context of a Starlette project: https://github.com/encode/hostedapi
the electrical engineers I work with have no idea what I'm talking about with this stuff