Skip to content

mzlotnik/pyashar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

WIP - Still in progress...

pyashar - A Tiny Python Web Server

pyashar is a tiny web server library written in Python. It is intended to be used as a helper for other web applications. It tries to be as simple as possible as way of keeping the code readable and maintainable. The intended result is a secure and reliable web server.

It is compliant with currently the most stable and widely used protocol: HTTP/1.1. Compliance does not mean that all features are implemented. It means that it implements at least the required specification (MUST) and some common optional features (SHOULD). As such is not a full featured web server.

As a guideline, pyashar uses the following Standards (STD):

STD 66 - RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax

STD 97 - RFC 9110 - HTTP Semaantics

STD 98 - RFC 9111 - HTTP Caching

STD 99 - RFC 9112 - HTTP/1.1

Implementation details

It is a single file library that uses only the standard library as way of facilitating deployment and auditing. Simplicity is a priority and a strategy for keeping it secure and reliable.

As a "single threaded" server it uses asyncio to handle multiple connections. However it is not a true single threaded library as the python asyncio library uses threads to handle the tasks.

Security

OpenBSD is a great source of inspiration for this project. It may be considered to implement some of its security features in the future.

About

A tiny web server in python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages