<commit_before>At a Glance
=============

Skitai is a Python WSGI/HTTP Server for UNIX (Developing is possible on win32).

And simple to run:

Install,

.. code:: bash

  pip3 install -U skitai rs4 aquests sqlphile

Create and mount your app,

.. code:: python

  # myservice.py

  def app (env, start_response):
    start_response ("200 OK", [("Content-Type", "text/plain")])
    return 'Hello World'

  if __name__ == "__main__":
    import skitai

    skitai.mount ('/', app)
    skitai.run (address = "127.0.0.1", port = 5000)

And run.

.. code:: bash

  python3 myservice.py


Your app will work for your thousands or miliions of customers.


Introduce
==============

Skitai is WSGI server and more than that.

Skitai/Atila_ has purpose for providing complete online runtime
environment for Python apps. You can make high concurrency with
async sockect works, threading, processing and subprocessing.
And you can use them with highly consistent manner.

Skitai handles requests with mainly asynchronous event loop and
threading pool and support websocket
within WSGI specification not with ASGI nor asyncio (It use asyncore).

.. _Atila: https://pypi.python.org/pypi/atila

.. contents:: Table of Contents


Installation
=========================

**Requirements**

Python 3.5+
PyPy3

**Installation**

Skitai and other core base dependent libraries is developing on
single milestone, install/upgrade all please. Otherwise it is
highly possible to meet some errors.

With pip

.. code-block:: bash

    pip3 install -U rs4 aquests sqlphile skitai

With git

.. code-block:: bash

    git clone https://gitlab.com/hansroh/skitai.git
    cd skitai
    python3 setup.py install
    pip3 install -U rs4 aquests sqlphile

You have pla to use database engines or protocols which is supported by Skitai, you install them manually.<commit_msg>add chameleon template engine chapter<commit_after>At a Glance
=============

Skitai is a Python WSGI/HTTP Server for UNIX (Developing is possible on win32).

And simple to run:

Install,

.. code:: bash

  pip3 install -U skitai rs4 aquests sqlphile

Create and mount your app,

.. code:: python

  # myservice.py

  def app (env, start_response):
    start_response ("200 OK", [("Content-Type", "text/plain")])
    return 'Hello World'

  if __name__ == "__main__":
    import skitai

    skitai.mount ('/', app)
    skitai.run (address = "127.0.0.1", port = 5000)

And run.

.. code:: bash

  python3 myservice.py


Your app will work for your thousands or miliions of customers.


Introduce
==============

Skitai is WSGI server and more than that.

Skitai/Atila_ has purpose for providing complete online runtime
environment for Python apps. You can make high concurrency with
async sockect works, threading, processing and subprocessing.
And you can use them with highly consistent manner.

Skitai handles requests with mainly asynchronous event loop and
threading pool and support websocket
within WSGI specification not with ASGI nor asyncio (It use asyncore).

.. _Atila: https://pypi.python.org/pypi/atila

.. contents:: Table of Contents


Installation
=========================

**Requirements**

Python 3.5+
PyPy3

**Installation**

Skitai and other core base dependent libraries is developing on
single milestone, install/upgrade all please. Otherwise it is
highly possible to meet some errors.

With pip

.. code-block:: bash

    pip3 install -U skitai

With git

.. code-block:: bash

    git clone https://gitlab.com/hansroh/skitai.git
    cd skitai
    pip3 install -e .

You have pla to use database engines or protocols which is supported by Skitai, you install them manually.
{'fraction_non_alphanumeric': 0.10167628469359714, 'fraction_numerical': 0.013465237702665568, 'mean_word_length': 3.7457627118644066, 'pattern_counts': {'":': 2, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6142547', 'n_tokens_mistral': 1166, 'n_tokens_neox': 1083, 'n_words': 454}