feat: add comprehensive GitHub workflow and development tools

This commit is contained in:
Stiftung Development
2025-09-06 18:31:54 +02:00
commit ab23d7187e
10224 changed files with 2075210 additions and 0 deletions

View File

@@ -0,0 +1 @@
pip

View File

@@ -0,0 +1,23 @@
2009-2024 (c) Benoît Chesneau <benoitc@gunicorn.org>
2009-2015 (c) Paul J. Davis <paul.joseph.davis@gmail.com>
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -0,0 +1,130 @@
Metadata-Version: 2.1
Name: gunicorn
Version: 22.0.0
Summary: WSGI HTTP Server for UNIX
Author-email: Benoit Chesneau <benoitc@gunicorn.org>
License: MIT
Project-URL: Homepage, https://gunicorn.org
Project-URL: Documentation, https://docs.gunicorn.org
Project-URL: Issue tracker, https://github.com/benoitc/gunicorn/issues
Project-URL: Source code, https://github.com/benoitc/gunicorn
Project-URL: Changelog, https://docs.gunicorn.org/en/stable/news.html
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Internet
Classifier: Topic :: Utilities
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Server
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: packaging
Requires-Dist: importlib-metadata ; python_version < "3.8"
Provides-Extra: eventlet
Requires-Dist: eventlet !=0.36.0,>=0.24.1 ; extra == 'eventlet'
Provides-Extra: gevent
Requires-Dist: gevent >=1.4.0 ; extra == 'gevent'
Provides-Extra: gthread
Provides-Extra: setproctitle
Requires-Dist: setproctitle ; extra == 'setproctitle'
Provides-Extra: testing
Requires-Dist: gevent ; extra == 'testing'
Requires-Dist: eventlet ; extra == 'testing'
Requires-Dist: coverage ; extra == 'testing'
Requires-Dist: pytest ; extra == 'testing'
Requires-Dist: pytest-cov ; extra == 'testing'
Provides-Extra: tornado
Requires-Dist: tornado >=0.2 ; extra == 'tornado'
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
.. image:: https://github.com/benoitc/gunicorn/actions/workflows/lint.yml/badge.svg
:alt: Lint Status
:target: https://github.com/benoitc/gunicorn/actions/workflows/lint.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.
Feel free to join us in `#gunicorn`_ on `Libera.chat`_.
Documentation
-------------
The documentation is hosted at https://docs.gunicorn.org.
Installation
------------
Gunicorn requires **Python 3.x >= 3.7**.
Install from PyPI::
$ pip install gunicorn
Usage
-----
Basic usage::
$ gunicorn [OPTIONS] APP_MODULE
Where ``APP_MODULE`` is of the pattern ``$(MODULE_NAME):$(VARIABLE_NAME)``. The
module name can be a full dotted path. The variable name refers to a WSGI
callable that should be found in the specified module.
Example with test app::
$ cd examples
$ gunicorn --workers=2 test:app
Contributing
------------
See `our complete contributor's guide <CONTRIBUTING.md>`_ for more details.
License
-------
Gunicorn is released under the MIT License. See the LICENSE_ file for more
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

@@ -0,0 +1,77 @@
../../Scripts/gunicorn.exe,sha256=qmh5sja1fngK6NXwx3Z9tKZ56axxTi3L5KhysjhyMmo,108392
gunicorn-22.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
gunicorn-22.0.0.dist-info/LICENSE,sha256=ZkbNu6LpnjQh3RjCIXNXmh_eNH6DHa5q3ugO7-Mx6VE,1136
gunicorn-22.0.0.dist-info/METADATA,sha256=YZJ63xwoaVYebiuNdqY9qEKWe0Mn_EAP0TFh4U4SDeQ,4421
gunicorn-22.0.0.dist-info/RECORD,,
gunicorn-22.0.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
gunicorn-22.0.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
gunicorn-22.0.0.dist-info/entry_points.txt,sha256=bF8VNiG4H8W83JfEBcqcPMydv9hl04CS4kwh1KOYrFY,113
gunicorn-22.0.0.dist-info/top_level.txt,sha256=cdMaa2yhxb8do-WioY9qRHUCfwf55YztjwQCncaInoE,9
gunicorn/__init__.py,sha256=0AmvbtjD9zoJULo78di97uC5V6uByzL0PRpQ_B6JUZw,279
gunicorn/__main__.py,sha256=qUdawhG-w8n-KYsstIoCnnYU9gRJlZV6cA5WaF-7gbg,360
gunicorn/__pycache__/__init__.cpython-310.pyc,,
gunicorn/__pycache__/__main__.cpython-310.pyc,,
gunicorn/__pycache__/arbiter.cpython-310.pyc,,
gunicorn/__pycache__/config.cpython-310.pyc,,
gunicorn/__pycache__/debug.cpython-310.pyc,,
gunicorn/__pycache__/errors.cpython-310.pyc,,
gunicorn/__pycache__/glogging.cpython-310.pyc,,
gunicorn/__pycache__/pidfile.cpython-310.pyc,,
gunicorn/__pycache__/reloader.cpython-310.pyc,,
gunicorn/__pycache__/sock.cpython-310.pyc,,
gunicorn/__pycache__/systemd.cpython-310.pyc,,
gunicorn/__pycache__/util.cpython-310.pyc,,
gunicorn/app/__init__.py,sha256=GuqstqdkizeV4HRbd8aGMBn0Q8IDOyRU1wMMNqNe5GY,127
gunicorn/app/__pycache__/__init__.cpython-310.pyc,,
gunicorn/app/__pycache__/base.cpython-310.pyc,,
gunicorn/app/__pycache__/pasterapp.cpython-310.pyc,,
gunicorn/app/__pycache__/wsgiapp.cpython-310.pyc,,
gunicorn/app/base.py,sha256=CWl34bhgOEAGeW_esL4dylax_7mdx-Kbfde_YdC9Pa0,7400
gunicorn/app/pasterapp.py,sha256=Bb0JwQNqZxmZ-gvvZUGWAEc9RX2BdhdhfhJ2a12Xafo,2038
gunicorn/app/wsgiapp.py,sha256=UyEc6-kAm_Sd6Euc8NQQEUGnyBjbGwUfuLkfZKOs-P0,1946
gunicorn/arbiter.py,sha256=J_86aiZmh53bLmRU1CY-yPVjK36iaBnD6jRRGslMrzc,21515
gunicorn/config.py,sha256=qUu2DxU_icNYEJDO7glmXzI04_d_gEUWgAJs0L6uIOg,67744
gunicorn/debug.py,sha256=lxrs_952G7RHeKqpooLHV_szSpvh-b_dO4YEcfT7LUc,2293
gunicorn/errors.py,sha256=JlDBjag90gMiRwLHG3xzEJzDOntSl1iM32R277-U6j0,919
gunicorn/glogging.py,sha256=uP8_tdLRRxmW4t9klPB9uNeKNE0_QvEFIuvNAoqZErA,15303
gunicorn/http/__init__.py,sha256=b4TF3x5F0VYOPTOeNYwRGR1EYHBaPMhZRMoNeuD5-n0,277
gunicorn/http/__pycache__/__init__.cpython-310.pyc,,
gunicorn/http/__pycache__/body.cpython-310.pyc,,
gunicorn/http/__pycache__/errors.cpython-310.pyc,,
gunicorn/http/__pycache__/message.cpython-310.pyc,,
gunicorn/http/__pycache__/parser.cpython-310.pyc,,
gunicorn/http/__pycache__/unreader.cpython-310.pyc,,
gunicorn/http/__pycache__/wsgi.cpython-310.pyc,,
gunicorn/http/body.py,sha256=gtYIs8lRjqVzQU1_-WtcTXRskrOUzj0xDJ_GkisPvCE,7479
gunicorn/http/errors.py,sha256=P9vb83_WzXcyvccWUUwFOAnlsK4ScMIESNpdwusVAQE,3265
gunicorn/http/message.py,sha256=vUi9zdjW0AtVB_AU4CG7xPAdenyKfbjFPd06Gr7yfBw,17022
gunicorn/http/parser.py,sha256=6eNGDUMEURYqzCXsftv3a4hYuD_fBvttZxOJuRbdKNg,1364
gunicorn/http/unreader.py,sha256=pXVde3fNCUIO2FLOSJ0iNtEEpA0m8GH6_R2Sl-cB-J8,1943
gunicorn/http/wsgi.py,sha256=Yf3bJjTJfAab8nvFhz7bg_Z0utGGDs9ofgSH-9Skvfw,12849
gunicorn/instrument/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
gunicorn/instrument/__pycache__/__init__.cpython-310.pyc,,
gunicorn/instrument/__pycache__/statsd.cpython-310.pyc,,
gunicorn/instrument/statsd.py,sha256=Qikvsbn9aGFzmeN1efK9u29tCFsVXLS4zWd1WMdiTEs,4690
gunicorn/pidfile.py,sha256=U3TpoE5_05wQxonGS4pV-aLkq8BMSvql142XJnE2olw,2367
gunicorn/reloader.py,sha256=wgP05Ou1ysQoVa-xpvSGkG_DLcmd1KRdGPPpvhIjao4,3791
gunicorn/sock.py,sha256=a_FQgrf_leQFpdjNQtiRPrMLy2Tpoy--kNVIwoARzSk,6887
gunicorn/systemd.py,sha256=iBnPrn0LcdL_skwjQFPkWV_33HQzGiBMkqHr4gXCeZA,2520
gunicorn/util.py,sha256=KL4KpZiMtP2dleVpXS_wr2wiyQkDHZeSDx0DVGAvRGw,19127
gunicorn/workers/__init__.py,sha256=Gv_JJXKofikyiPbRAUQ0IXIchKxgt0Gu-8y-nYRN9vY,594
gunicorn/workers/__pycache__/__init__.cpython-310.pyc,,
gunicorn/workers/__pycache__/base.cpython-310.pyc,,
gunicorn/workers/__pycache__/base_async.cpython-310.pyc,,
gunicorn/workers/__pycache__/geventlet.cpython-310.pyc,,
gunicorn/workers/__pycache__/ggevent.cpython-310.pyc,,
gunicorn/workers/__pycache__/gthread.cpython-310.pyc,,
gunicorn/workers/__pycache__/gtornado.cpython-310.pyc,,
gunicorn/workers/__pycache__/sync.cpython-310.pyc,,
gunicorn/workers/__pycache__/workertmp.cpython-310.pyc,,
gunicorn/workers/base.py,sha256=ZDErQWgOf3RhgihipjJHUvKMSbrowh-vxEim-FSpcc0,9290
gunicorn/workers/base_async.py,sha256=an_mdkOf2F_F0Ufig6cWL4QjXFo3s7fcyKC8UFMl91c,5685
gunicorn/workers/geventlet.py,sha256=SC7uAaoIoMhHNMdE75i_Kw-b4rwHokef8J-5bC5Eghk,6091
gunicorn/workers/ggevent.py,sha256=OUJAxJMrMP7QR2LzK0H3Hbu0C5cvr3bn4PIGKG_cwP0,5800
gunicorn/workers/gthread.py,sha256=2e4fhNwTmgn1dkw7aAsO8zaF-NKjDg_2EShutCgPaPY,12575
gunicorn/workers/gtornado.py,sha256=4ms0vyMr7h1GgUOfq40CVaSjCWB8brelnRLCQdLyONI,5854
gunicorn/workers/sync.py,sha256=hoe0ROoXj6SzwN6ODMUUIBxQVPVZmoedE1xmCDZUZAk,7276
gunicorn/workers/workertmp.py,sha256=BhX1kRNU1-onJk_NKEi1TOVKJahFYZU5sbbND3bVpV0,1634

View File

@@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.43.0)
Root-Is-Purelib: true
Tag: py3-none-any

View File

@@ -0,0 +1,5 @@
[console_scripts]
gunicorn = gunicorn.app.wsgiapp:run
[paste.server_runner]
main = gunicorn.app.pasterapp:serve

View File

@@ -0,0 +1 @@
gunicorn