chore: replace README.rst with README.md, remove modernization-plan.md

This commit is contained in:
Benoit Chesneau 2026-02-01 09:18:11 +01:00
parent d5ab5dc6c1
commit 7ff671bca3
4 changed files with 60 additions and 115 deletions

59
README.md Normal file
View File

@ -0,0 +1,59 @@
# Gunicorn
[![PyPI version](https://img.shields.io/pypi/v/gunicorn.svg?style=flat)](https://pypi.python.org/pypi/gunicorn)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/gunicorn.svg)](https://pypi.python.org/pypi/gunicorn)
[![Build Status](https://github.com/benoitc/gunicorn/actions/workflows/tox.yml/badge.svg)](https://github.com/benoitc/gunicorn/actions/workflows/tox.yml)
Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX. It's a pre-fork
worker model ported from Ruby's [Unicorn](https://bogomips.org/unicorn/) project. The Gunicorn server is broadly
compatible with various web frameworks, simply implemented, light on server
resource usage, and fairly speedy.
**New in v25**: Per-app worker allocation for dirty arbiters, HTTP/2 support (beta)!
## Quick Start
```bash
pip install gunicorn
gunicorn myapp:app --workers 4
```
For ASGI applications (FastAPI, Starlette):
```bash
gunicorn myapp:app --worker-class asgi
```
## Features
- WSGI support for Django, Flask, Pyramid, and any WSGI framework
- **ASGI support** (beta) for FastAPI, Starlette, Quart
- **HTTP/2 support** (beta) with multiplexed streams
- **Dirty Arbiters** for heavy workloads (ML models, long-running tasks)
- uWSGI binary protocol for nginx integration
- Multiple worker types: sync, gthread, gevent, eventlet, asgi
- Graceful worker process management
- Compatible with Python 3.9+
## Documentation
Full documentation at https://gunicorn.org
- [Quickstart](https://gunicorn.org/quickstart/)
- [Configuration](https://gunicorn.org/configure/)
- [Deployment](https://gunicorn.org/deploy/)
- [Settings Reference](https://gunicorn.org/reference/settings/)
## Community
- Report bugs on [GitHub Issues](https://github.com/benoitc/gunicorn/issues)
- Chat in [#gunicorn](https://web.libera.chat/?channels=#gunicorn) on [Libera.chat](https://libera.chat/)
- See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines
## Sponsors
Gunicorn is maintained thanks to our sponsors. [Become a sponsor](https://github.com/sponsors/benoitc).
## License
Gunicorn is released under the MIT License. See the [LICENSE](https://github.com/benoitc/gunicorn/blob/master/LICENSE) file for details.

View File

@ -1,79 +0,0 @@
Gunicorn
========
.. image:: https://img.shields.io/pypi/v/gunicorn.svg?style=flat
:alt: PyPI version
:target: https://pypi.python.org/pypi/gunicorn
.. image:: https://img.shields.io/pypi/pyversions/gunicorn.svg
:alt: Supported Python versions
:target: https://pypi.python.org/pypi/gunicorn
.. image:: https://github.com/benoitc/gunicorn/actions/workflows/tox.yml/badge.svg
:alt: Build Status
:target: https://github.com/benoitc/gunicorn/actions/workflows/tox.yml
Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX. It's a pre-fork
worker model ported from Ruby's Unicorn_ project. The Gunicorn server is broadly
compatible with various web frameworks, simply implemented, light on server
resource usage, and fairly speedy.
**New in v24**: Native ASGI support (beta) for async frameworks like FastAPI!
Quick Start
-----------
.. code-block:: bash
pip install gunicorn
gunicorn myapp:app --workers 4
For ASGI applications (FastAPI, Starlette):
.. code-block:: bash
gunicorn myapp:app --worker-class asgi
Features
--------
- WSGI support for Django, Flask, Pyramid, and any WSGI framework
- **ASGI support** (beta) for FastAPI, Starlette, Quart
- uWSGI binary protocol for nginx integration
- Multiple worker types: sync, gthread, gevent, eventlet, asgi
- Graceful worker process management
- Compatible with Python 3.12+
Documentation
-------------
Full documentation at https://gunicorn.org
- `Quickstart <https://gunicorn.org/quickstart/>`_
- `Configuration <https://gunicorn.org/configure/>`_
- `Deployment <https://gunicorn.org/deploy/>`_
- `Settings Reference <https://gunicorn.org/reference/settings/>`_
Community
---------
- Report bugs on `GitHub Issues <https://github.com/benoitc/gunicorn/issues>`_
- Chat in `#gunicorn`_ on `Libera.chat`_
- See `CONTRIBUTING.md <CONTRIBUTING.md>`_ for contribution guidelines
Sponsors
--------
Gunicorn is maintained thanks to our sponsors. `Become a sponsor <https://github.com/sponsors/benoitc>`_.
.. Sponsor logos will appear here
License
-------
Gunicorn is released under the MIT License. See the LICENSE_ file for details.
.. _Unicorn: https://bogomips.org/unicorn/
.. _`#gunicorn`: https://web.libera.chat/?channels=#gunicorn
.. _`Libera.chat`: https://libera.chat/
.. _LICENSE: https://github.com/benoitc/gunicorn/blob/master/LICENSE

View File

@ -1,35 +0,0 @@
# Website Modernization Plan
## Goals
- Serve a single, canonical domain backed by a static MkDocs build.
- Keep the documentation authoring experience entirely in Markdown.
- Modernize the marketing home page with a refreshed visual identity.
- Preserve the generated settings reference sourced from Python code.
## Architecture Overview
- **Static site generator:** MkDocs with the Material theme.
- **Content layout:** Markdown files in `docs/content/`, grouped by guides, reference, and news archives.
- **Styling:** Lightweight CSS overrides in `docs/content/styles/overrides.css` for hero, feature cards, and color palette.
- **Dynamic data:** `docs/macros.py` exposes the Gunicorn version, while `scripts/build_settings_doc.py` renders the settings reference into Markdown during every build.
- **Assets:** SVG mascot and hero art live under `docs/content/assets/` so both the homepage and docs share the same branding.
## Completed Work
- Removed Sphinx configuration, themes, and the legacy static snapshot under `docs/site/`.
- Converted the entire content library (guides, FAQ, design notes, yearly news) from MyST/RST to MkDocs-friendly Markdown.
- Rebuilt the homepage using Materials layout primitives with responsive hero, CTAs, and feature cards.
- Added CSS overrides that mirror Gunicorns brand colors and support light/dark modes.
- Replaced the Sphinx extension with a standalone Markdown generator for the settings reference.
- Introduced an automated MkDocs workflow (`.github/workflows/docs.yml`) that builds on every push and deploys to `gh-pages` from the `main` branch.
## Remaining Enhancements
1. **Visual polish:** produce updated screenshots/asciicasts for quickstart and deployment examples; add Open Graph imagery.
2. **Content review:** prune outdated news entries, tighten FAQs, and add framework-specific quickstarts (FastAPI, Flask, Django).
3. **Accessibility & internationalization:** run axe audits, ensure color contrast, and consider adding minimal localization support.
4. **Performance extras:** enable MkDocs search index minification and gzip the GitHub Pages output (served automatically once deployed).
5. **Contributor docs:** extend `CONTRIBUTING.md` with MkDocs authoring tips, link to preview artifacts, and describe the `mkdocs serve` workflow.
## Deployment Checklist
- [x] Update DNS to point away from ReadTheDocs once `gh-pages` is published.
- [x] Verify `site_url` in `mkdocs.yml` for canonical URLs and sitemap generation.
- [x] Ensure `CNAME` (if required) is checked into `gh-pages` during deployment.
- [ ] Announce the migration to end-users and update links in READMEs and PyPI metadata.

View File

@ -9,7 +9,7 @@ authors = [{name = "Benoit Chesneau", email = "benoitc@gunicorn.org"}]
license = "MIT"
license-files = ["LICENSE"]
description = "WSGI HTTP Server for UNIX"
readme = "README.rst"
readme = "README.md"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Other Environment",