Skip to main content

Pretty tornado wrapper for making lightweight REST API services

Project description

cleanapi

Pretty tornado wrapper for making lightweight REST API services


Installation:

pip install cleanapi

Example:

Project folders structure:

.
├── handlers
│   └── example_handler.py
├── server_example.py
├── ssl
│   ├── ca.csr
│   └── ca.key
└── static_html
    └── index.html

server_example.py

from cleanapi import server

if __name__ == '__main__':
    try:
        # protocol = 'https'
        protocol = 'http'

        if protocol == 'https':
            server.start(protocol, 8080, '/', './handlers', './static_html',
                         path_to_ssl='./ssl', ssl_certfile_name='ca.csr', ssl_keyfile_name='ca.key')
        elif protocol == 'http':
            server.start(protocol, 8080, '/', './handlers', './static_html')
        else:
            print(f'Protocol {protocol} is not supported')
    except KeyboardInterrupt:
        print('Server was stopped by user')
        exit()

example_handler.py

Put it to the 'handlers' folder

from cleanapi import BaseHandler

url_tail = '/example.json'


# noinspection PyAbstractClass
class Handler(BaseHandler):
    """
    Test API request handler
    """
    async def get(self):
        self.set_status(200)
        self.write({'status': 'working'})

index.html

Put it to the 'static_html' folder

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Cleanapy demo</title>
  <link rel="icon" href="/favicon.ico" type="image/x-icon" />
 </head>
<body>

<h1>Cleanapy demo page</h1>

<p>Everything OK</p>

</body>
</html>

You also may put 'favicon.ico' file to the 'static_html' folder

Then you can test server responses on http://localhost:8080 and http://localhost:8080/example.json


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

cleanapi-0.1.1.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

cleanapi-0.1.1-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file cleanapi-0.1.1.tar.gz.

File metadata

  • Download URL: cleanapi-0.1.1.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6

File hashes

Hashes for cleanapi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 22223e41703fb04e8c46627b1ba34ac8708a758a3e316e9d484ec7a8b39d1bec
MD5 e46fb05eb34b03c84ae010aa9d604b91
BLAKE2b-256 429adf4b87c0436d67473a9046ac9869797ffcdd8ca08cd41aa0b6bd92120430

See more details on using hashes here.

File details

Details for the file cleanapi-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: cleanapi-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6

File hashes

Hashes for cleanapi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9bd5ff02209dd4322ae0eb19f0ed3a568553229b09e06b6b7922647b33f9c974
MD5 cfeca0758db63a605d91fd4086af6f6b
BLAKE2b-256 7e44aeaca3568b0f8b0b50694772d86145a108e42e88869980a946cf27c69468

See more details on using hashes here.

Supported by

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