diff --git a/README.md b/README.md index c140be8..73fa1e5 100644 --- a/README.md +++ b/README.md @@ -12,12 +12,13 @@ [![responder-synopsis](https://farm2.staticflickr.com/1959/43750081370_a4e20752de_o_d.png)](https://responder.readthedocs.io) -Powered by [Starlette](https://www.starlette.io/). That `async` declaration is optional. +Responder is powered by [Starlette](https://www.starlette.io/). [View documentation](https://responder.readthedocs.io). -This gets you a ASGI app, with a production static files server pre-installed, Jinja -templating (without additional imports), and a production webserver based on uvloop, -serving up requests with gzip compression automatically. +Responder gets you an ASGI app, with a production static files server pre-installed, +Jinja templating, and a production webserver based on uvloop, automatically serving +up requests with gzip compression. +The `async` declaration within the example program is optional. ## Testimonials diff --git a/docs/source/backlog.md b/docs/source/backlog.md new file mode 100644 index 0000000..ada0480 --- /dev/null +++ b/docs/source/backlog.md @@ -0,0 +1,10 @@ +# Backlog + +## Iteration +1 +- Release 3.0.0 dev +- Release 3.0.0 GA +- Check if `tour.rst` is still valid. What about running it as a + doctest, or converting it into a text-based notebook using MyST-NB? +- Document all extensions in `responder.ext`. +- Add `index.html` to standard `helloworld.py` example, + so that the user does not receive a 404 Not Found. diff --git a/docs/source/changes.md b/docs/source/changes.md new file mode 120000 index 0000000..699cc9e --- /dev/null +++ b/docs/source/changes.md @@ -0,0 +1 @@ +../../CHANGELOG.md \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index 9ddbe91..791c43b 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -38,12 +38,13 @@ A familiar HTTP Service Framework if __name__ == '__main__': api.run() -Powered by `Starlette`_. That ``async`` declaration is optional. +Responder is powered by `Starlette`_. -The little program demonstrates an `ASGI`_ application using `Responder`_, +The example program demonstrates an `ASGI`_ application using `Responder`_, including production-ready components like the `uvicorn`_ webserver, based on `uvloop`_, the static files server `ServeStatic`_, and the `Jinja`_ templating library pre-installed. +The ``async`` declaration within the example program is optional. Features -------- @@ -68,25 +69,19 @@ Testimonials “Pleasantly very taken with python-responder. `@kennethreitz`_ at his absolute best.” - | - - — Rudraksh M.K. + — Rudraksh M.K. .. "ASGI is going to enable all sorts of new high-performance web services. It's awesome to see Responder starting to take advantage of that." - | - - — Tom Christie, author of `Django REST Framework`_ + — Tom Christie, author of `Django REST Framework`_ .. “I love that you are exploring new patterns. Go go go!” - | - - — Danny Greenfield, author of `Two Scoops of Django`_ + — Danny Greenfield, author of `Two Scoops of Django`_ User Guides @@ -118,14 +113,20 @@ Or use standard pip where ``uv`` is not available. pip install --upgrade 'responder' -Responder supports **Python 3.7+**. If you are looking at installing Responder +Responder supports **Python 3.7+**. + +Development +----------- + +If you are looking at installing Responder for hacking on it, please refer to the :ref:`sandbox` documentation. .. toctree:: - :hidden: - - sandbox + :maxdepth: 1 + changes + Sandbox + backlog The Basic Idea @@ -161,7 +162,7 @@ Indices and tables * :ref:`search` -.. _@kennethreitz: https://x.com/kennethreitz +.. _@kennethreitz: https://x.com/kennethreitz42 .. _ASGI: https://en.wikipedia.org/wiki/Asynchronous_Server_Gateway_Interface .. _Django REST Framework: https://www.django-rest-framework.org/ .. _f-string syntax: https://docs.python.org/3/whatsnew/3.6.html#pep-498-formatted-string-literals diff --git a/docs/source/sandbox.md b/docs/source/sandbox.md index ee19d36..71672b0 100644 --- a/docs/source/sandbox.md +++ b/docs/source/sandbox.md @@ -14,7 +14,7 @@ uv venv Install project in editable mode, including all runtime extensions and development tools. ```shell -uv pip install --editable '.[full,develop,docs,release,test]' +uv pip install --upgrade --editable '.[full,develop,docs,release,test]' ``` ## Operations diff --git a/setup.py b/setup.py index 7b9a3ef..451dc02 100644 --- a/setup.py +++ b/setup.py @@ -137,6 +137,7 @@ setup( "alabaster<1.1", "myst-parser[linkify]", "sphinx>=5,<9", + "sphinx-autobuild", "sphinx-copybutton", "sphinx-design-elements", "sphinxext.opengraph",