Simple way to make complex HTTP servers with python
Project description
Project Description
HTTP-PyServer is a simple, and extremely light-weight solution to create powerful projects relying on the web with the fewest lines of code. It uses python built-in packages to host server's and then handle http requests, as well as responses. It's extremely customizable, and allows you do to almost everything you might want.
HTTP-PyServer is also very flexible on your project layout. It ensures security by allowing you to specify which files to send, and to where. HTTP-PyServer allows you to do everything you need whilst keeping hands relaxed with as few lines of code as possible.
Features
- Return various filetypes (HTML, CSS, JS, JSON, Images, Video)
- Get information from the users request (Headers, IP Addresses, Queries)
- Handle any HTTP request type
- Use a custom logger to record any server activity how you want
- Utilizes multi-threading to ensure quick response times
- Relies on NO NON-NATIVE LIBRARIES which leads to super quick runtimes
- Handle wildcard routes to access different ressources
- Cache information in the server and automaticall delete it after a certain time
- Store user data in sessions to identify profiles
- Integrate python code into your static files with templating
Installing
Install HTTP-PyServer using pip from the command line.
python -m pip install HTTP-PyServer
Simple Example
# Saved as "main.py"
import server
app = server.Server()
@app.route('/')
def _(request):
return 'Hello, world!'
with app:
app.wait('Press Enter to continue...')
$ python main.py
Press Enter to continue...
Contributing
Look on github, and create a fork of HTTP-PyServer. Submit pull requests, and any features will be looked at and potentially implemented.
Used Packages
Although, no external packages were used, the following packages were imported. All packages are native in Python 3.7+.
threadingsockettypingloggingpathlibretimejsonurllibmimetypesenumsslsecrets
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file http_pyserver-0.1.4.4.tar.gz.
File metadata
- Download URL: http_pyserver-0.1.4.4.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96ba56c3ab8a00fe24ddb54c09f338dd3ae9ba9db03973e9e3de9ef123488af2
|
|
| MD5 |
5a8c807e18f679a5f3efc2f66840aaf8
|
|
| BLAKE2b-256 |
81433161b96ee1cc74579312c6ad75b17aa6928f481537e39249ae7f8d92f8a4
|
File details
Details for the file http_pyserver-0.1.4.4-py3-none-any.whl.
File metadata
- Download URL: http_pyserver-0.1.4.4-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cffd42184eb841f84f209e91f9bb8b0cfcc723a12a34d55e0d2acfcdc90c3a39
|
|
| MD5 |
27d329126b60305117acff19551fddc9
|
|
| BLAKE2b-256 |
5d87cecb5d51dab9d252c552f61c215d86b765a34485ec75dd9b16e1a6576a53
|