From 265048e76afe041db74e4a55dca056539d9107aa Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Tue, 20 Feb 2024 16:10:26 +0100 Subject: [PATCH] add demo wsgi project (server + app) --- demo/app.py | 8 ++++++++ demo/config.py | 9 +++++++++ demo/main.py | 9 +++++++++ demo/server.py | 12 ++++++++++++ pyproject.toml | 5 +++++ 5 files changed, 43 insertions(+) create mode 100644 demo/app.py create mode 100644 demo/config.py create mode 100644 demo/main.py create mode 100644 demo/server.py diff --git a/demo/app.py b/demo/app.py new file mode 100644 index 0000000..2f44926 --- /dev/null +++ b/demo/app.py @@ -0,0 +1,8 @@ +# py-scopes/demo/app.py + +def demo_app(environ, start_response): + status = '200 OK' + headers = [("Content-type", "text/plain; charset=utf-8")] + start_response(status, headers) + return ['Hello World'.encode()] + diff --git a/demo/config.py b/demo/config.py new file mode 100644 index 0000000..c4f2668 --- /dev/null +++ b/demo/config.py @@ -0,0 +1,9 @@ +# py-scopes/demo/config.py + +from dotenv import load_dotenv +from os import getenv + +load_dotenv() + +server_port = getenv('SERVER_PORT', '8999') + diff --git a/demo/main.py b/demo/main.py new file mode 100644 index 0000000..4eef565 --- /dev/null +++ b/demo/main.py @@ -0,0 +1,9 @@ +# py-scopes/demo/main.py + +import config + +from app import demo_app +import server + +server.run(demo_app, config) + diff --git a/demo/server.py b/demo/server.py new file mode 100644 index 0000000..aabed33 --- /dev/null +++ b/demo/server.py @@ -0,0 +1,12 @@ +# py-scopes/demo/server.py + +from wsgiref.simple_server import make_server + +def run(app, config): + port = int(config.server_port) + with make_server('', port, app) as httpd: + print(f'Serving on port {port}.') + try: + httpd.serve_forever() + except KeyboardInterrupt: + print('Shutting down.') diff --git a/pyproject.toml b/pyproject.toml index 226e1b5..02a3fe6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,4 +19,9 @@ dependencies = [ ] [project.optional-dependencies] +demo = ["python-dotenv"] test = ["pytest"] + +[tool.setuptools] +packages = ["scopes"] +