Version 1.0
See original GitHub issueIntroduce App
first in README / Docs intro.
- Promote the
app = App()
style, but then go on to demonstrate plain ASGI style example, and discuss design philosophy of “everything is just ASGI” , interoperable, eg. useTestClient
with Channels.
Naming
WebSocketSession
as justWebSocket
? Renamesession
variable aswebsocket
in docs?- Drop
StaticFile
, and just leaveStaticFiles
andFileResponse
. - Module naming - should it be
starlette.requests
/starlette.responses
instead ofstarlette.request
/starlette.response
? Would fitwebsockets
and align better with documentation titles. App
should perhaps beStarlette
instead. Less likely to be confused with plain ASGIApp
class examples, and mirrors eg.flask.Flask
andsanic.Sanic
.- Class based views instead as
HTTPEndpoint
andWebSocketEndpoint
?
- Zero-dependencies
Ensure that requests
is only required if TestClient
is used. Ensure that aiofiles
is only required if FileResponse
/StaticFiles
is used. We could choose to push FileResponse
into the starlette.staticfiles
module, and only ever import aiofiles
from there.
Features
See https://github.com/encode/starlette/milestone/1
- URL Reversing
- Cookies
- Form support
- Class based views
- Exception handling
- Middleware
- StartUp / Shutdown events
- Background tasks
Later
- Server Sent Events
- HTTP/2 (and server push)
Issue Analytics
- State:
- Created 5 years ago
- Reactions:15
- Comments:20 (10 by maintainers)
Top Results From Across the Web
Semantic Versioning 1.0.0
Version 1.0.0 defines the public API. The way in which the version number is incremented after this release is dependent on this public...
Read more >Software versioning - Wikipedia
Software versioning is the process of assigning either unique version names or unique version numbers to unique states of computer software.
Read more >Version 1.0 Release - The Force Engine ·
Version 1.0 Release. 19 Dec 2022. Logo. After 3 years of development, I am ready to announce the Version 1.0 Release of The...
Read more >Version 1.0.0 or 1.0.1? | Apple Developer Forums
Our application was submitted to Apple as version 1.0.0 and approved for release. ... Since we never released 1.0.0 should we up version...
Read more >Version 1.0 | jQuery API Documentation
Create a new jQuery object with elements added to the set of matched elements. Also in: Attributes | Manipulation > Class Attribute |...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Oh, absolutely! We’ll want the documentation to come from a “here’s how you use a Starlette app” first, and a “here’s the low level stuff” second, but it’s really important that Starlette remains both a framework and a toolkit.
At some point the datastructures ought to get some documentation. Also I’m planning on expanding out
concurrency.py
with context managers that let you useasyncio
timeouts and branching in a more structured way. (ie. Take the lessons from trio, and apply the most important bits. Some of this sort of thing ought to start appearing in Python 3.8 too, but we’d probably like good support for it before that’s widespread.)We have everything that I’d originally wanted for 1.0 support.
The only bit of API that’s giving me any pause on a 1.0 jump is the async bits of requests/websockets. eg. request parsing. Ideally we’d like to eventually be able to use fully sync views too, and still have all functionality available to us. Haven’t yet figured how that’d look for the request/websocket APIs.