Skip to content

Version 1.0 #51

@lovelydinosaur

Description

@lovelydinosaur

Introduce 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. use TestClient with Channels.

Naming

  • WebSocketSession as just WebSocket? Rename session variable as websocket in docs?
  • Drop StaticFile, and just leave StaticFiles and FileResponse.
  • Module naming - should it be starlette.requests/starlette.responses instead of starlette.request/starlette.response? Would fit websockets and align better with documentation titles.
  • App should perhaps be Starlette instead. Less likely to be confused with plain ASGI App class examples, and mirrors eg. flask.Flask and sanic.Sanic.
  • Class based views instead as HTTPEndpoint and WebSocketEndpoint?
  • 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)

Important

  • We're using Polar.sh so you can upvote and help fund this issue.
  • We receive the funding once the issue is completed & confirmed by you.
  • Thank you in advance for helping prioritize & fund our backlog.
Fund with Polar

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions