Skip to main content

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+.

  • threading
  • socket
  • typing
  • logging
  • pathlib
  • re
  • time
  • json
  • urllib
  • mimetypes
  • enum
  • ssl
  • secrets

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

http_pyserver-0.1.4.4.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

http_pyserver-0.1.4.4-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

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

Hashes for http_pyserver-0.1.4.4.tar.gz
Algorithm Hash digest
SHA256 96ba56c3ab8a00fe24ddb54c09f338dd3ae9ba9db03973e9e3de9ef123488af2
MD5 5a8c807e18f679a5f3efc2f66840aaf8
BLAKE2b-256 81433161b96ee1cc74579312c6ad75b17aa6928f481537e39249ae7f8d92f8a4

See more details on using hashes here.

File details

Details for the file http_pyserver-0.1.4.4-py3-none-any.whl.

File metadata

File hashes

Hashes for http_pyserver-0.1.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 cffd42184eb841f84f209e91f9bb8b0cfcc723a12a34d55e0d2acfcdc90c3a39
MD5 27d329126b60305117acff19551fddc9
BLAKE2b-256 5d87cecb5d51dab9d252c552f61c215d86b765a34485ec75dd9b16e1a6576a53

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page