Metadata-Version: 2.1
Name: anyserver
Version: 0.3.4
Summary: Simple and generic python web server and utils
Home-page: https://github.com/JohnnyBeProgramming/anyserver.py
Download-URL: https://github.com/JohnnyBeProgramming/anyserver.py/archive/refs/tags/0.3.4.tar.gz
Author: Club404
Author-email: info@club404.io
License: MIT
Keywords: simple,http,server
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Description-Content-Type: text/markdown
License-File: LICENSE.txt

# Simple Python Server

Simple and generic python web server, designed with simplicity and extendability in mind.

## Background & motivation

I really like the simplicity and elegance of frameworks like [`FastAPI`](https://fastapi.tiangolo.com/tutorial/first-steps/), [`Flask`](https://flask.palletsprojects.com/en/2.3.x/quickstart/#a-minimal-application), [`Express.js`](https://expressjs.com/en/starter/hello-world.html) and [`Koa.js`](https://koajs.com/#application).

```python
# Typical usage for defining routes
app = FastAPI() # Or some other framework like flask

@app.get("/")
async def root():
    return {"message": "Hello World"}
```

What I don't like, for very simple use cases, is the _boilerplate_ and dependencies.

All of the above frameworks have some requirements and dependencies, meaning its not completely portable to all environments, without the need to download dependencies from the internet.

At its core, this project was designed with the following features in mind:

- Handle `HTTP` routes with a simple `request` - `response` model.
- Support ways to serve static content from a folder (eg: HTML, CSS, JS).
- A zero-dependency `server.py` that just works out of the box as a simple web server.
- Supports multiple response types, with ability to render custom templated responses.

With these basic requirements in place, rapid prototyping is possible with very little overhead.
