Skip to main content

Retica Is A Performant, Easy To Use Web Server Based On Python With HTTPS & Plugins Support.

Project description

Retica Banner

Documentation Status:

Documentation Status

Contact Us:

WhatsApp Discord Twitter

The Retica Backend Server

Retica Is A Performant, Easy To Use Web Server Based On Python With HTTPS & Plugins Support.

Retica V/S Flask

The Following Graph Shows A Performane Comparision Between Flask & Retica.

  1. Total 5,000 Requests with 5 Concurrent Connections
  2. Total 20,000 Requests with 20 Concurrent Connections

Flask V/S Retica

Installing Retica

The easiest way to install Retica is to use the pip command line tool.

$~ pip install retica

Creating A Retica Server

Once you have installed Retica, you can import it into your Python environment. The server class is used to create a server, in which you can add endpoints(locations) and open HTTP(s) ports.

import Retica
retica = Retica.Server(__name__)

Creating An Endpoint

Endpoints are functions that are assigned to a location and are called when a request is made to that location.

@retica.create_endpoint("/hello/{name}")
def index(request: Retica.Request.request, response: Retica.Response.response, **data):
    response.body = f"Hello {data['name']}"

Creating A Socket

Sockets are used to open a server port that listens for incoming connections. The server will listen on the specified port and host. Sockets can use 2 protocols:

  1. HTTP
  2. HTTPS (Certificate & key files are required)
  • You can also create your own protocols(In Development).
http_socket = Retica.Sockets.HTTP_Socket("localhost", 80)
https_socket = Retica.Sockets.HTTPS_Socket("localhost", 443, "cert.pem", "key.pem")

Running the Server

To run the server, you must call the run method on the server. An array of sockets should be passed in as an argument.

if __name__ == "__main__":
    retica.run([
        http_socket,
        https_socket
    ])

Boilerplate

This is the boilerplate code that you will need to create your own server.

import Retica
retica = Retica.Server(__name__)

@retica.create_endpoint("/hello/{name}")
def index(request: Retica.Request.request, response: Retica.Response.response, **data):
    response.body = f"Hello {data['name']}"

http_socket = Retica.Sockets.HTTP_Socket(Retica.Sockets.gethostname(), 80)

if __name__ == "__main__":
    retica.run([http_socket])

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

Retica-1.1.2.tar.gz (10.7 kB view hashes)

Uploaded Source

Supported by

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