Metadata-Version: 2.1
Name: asfquart
Version: 0.1.8
Summary: ASF Quart Framework
License: Apache-2.0
Author: ASF Infrastructure
Author-email: users@infra.apache.org
Requires-Python: >=3.10,<4
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: PyYAML (>=6.0.1,<7.0.0)
Requires-Dist: aiohttp (>=3.9.2,<4.0.0)
Requires-Dist: asfpy (>=0.52,<0.53)
Requires-Dist: asyncinotify (>=4.0.9,<5.0.0)
Requires-Dist: easydict (>=1.13,<1.14)
Requires-Dist: exceptiongroup (>=1.1.0) ; python_version < "3.11"
Requires-Dist: ezt (>=1.1,<1.2)
Requires-Dist: pytest (==7.2.0)
Requires-Dist: pytest-asyncio (>=0.20.3,<0.21.0)
Requires-Dist: pytest-cov (>=4.0.0,<5.0.0)
Requires-Dist: pytest-mock (>=3.10.0,<4.0.0)
Requires-Dist: quart (>=0.19.4,<0.20.0)
Description-Content-Type: text/markdown

  # asfquart - a Quart framework for the ASF
  ![Unit Tests](https://github.com/apache/infrastructure-asfquart/actions/workflows/unit-tests.yml/badge.svg)
  
  This repository will house the future [Quart](https://github.com/pallets/quart/) framework for use 
  within ASF web applications. Nothing much to see here yet...

  For more detailed documentation, see the [documentation page](docs/readme.md).
  
## Primer

~~~python
import asfquart
from asfquart.auth import Requirements as R

def my_app():
    # Construct the quart service. By default, the oauth gateway is enabled at /oauth.
    app = asfquart.construct("my_app_service")

    @app.route("/")
    async def homepage():
        return "Hello!"

    @app.route("/secret")
    @asfquart.auth.require(R.committer)
    async def secret_page():
      return "Secret stuff!"
    
    asfquart.APP.run(port=8000)


if __name__ == "__main__":
    my_app()

~~~

