netix


Namenetix JSON
Version 1.13 PyPI version JSON
download
home_pagehttps://github.com/embrake/netix/
SummaryNetix is a high-performance ASGI (Asynchronous Server Gateway Interface) server designed for efficiently serving ASGI web applications and APIs. It offers a robust, customizable, and easy-to-use platform for deploying your ASGI applications.
upload_time2023-11-22 13:41:31
maintainer
docs_urlNone
authorPawan kumar
requires_python
licenseMIT
keywords asgi server user-friendly high concurrancy
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Netix ASGI Server

Netix is a high-performance ASGI (Asynchronous Server Gateway Interface) server designed for efficiently serving ASGI web applications and APIs. It offers a robust, customizable, and easy-to-use platform for deploying your ASGI applications.

## Table of Contents

- [Features](#features)
- [Installation](#installation)
- [Getting Started](#getting-started)
- [Configuration](#configuration)
  - [Available Commands and Options](#available-commands-and-options)
- [Middleware Support](#middleware-support)
- [Contributing](#contributing)
- [License](#license)
- [Acknowledgments](#acknowledgments)
- [Support and Feedback](#support-and-feedback)

## Features

- **Concurrency Control**: Easily set the number of worker processes to manage concurrent requests efficiently.
- **Socket Options**: Support for both Unix sockets and network sockets with customizable socket options.
- **Middleware Support**: Implement request and response middlewares to customize the behavior of your ASGI application.
- **Daemon Mode**: Run Netix as a daemon to keep it running in the background, detached from the terminal.
- **Status Monitoring**: Schedule status checks to monitor the health of your ASGI server.

## Installation

You can install Netix via `pip`, making it a breeze to get started:

```bash
pip install netix
```

## Configuration

### Available Commands and Options

You can control and configure Netix using various command-line options when starting the server:

- `--host`: Listen host. Defaults to "127.0.0.1".
- `--daemon`: Start the daemon mode to run the server in the background. Use `--daemon main:app` or `@app module` to daemonize.
- `--port`: Listen port. Defaults to 8000.
- `--bind`: Address to bind. You can use this option instead of `--host` and `--port`. For example, "127.0.0.1:8000" or "/tmp/file.sock".
- `--reuse-port`: Use `SO_REUSEPORT` when available.
- `--worker-num`: Number of worker processes. Defaults to 1.
- `--backlog`: Maximum number of pending connections. Defaults to 100.
- `--ssl-cert`: SSL certificate location. For example, "/path/to/fullchain.pem".
- `--ssl-key`: SSL private key location. For example, "/path/to/privkey.pem".
- `--debug`: Enable debug mode. Intended for development.
- `--no-ws`: Disable built-in WebSocket support.
- `--log-level`: Defaults to "DEBUG". For available log levels, see [Python Logging Levels](https://docs.python.org/3/library/logging.html#levels).
- `--download-rate`: Limits the sending speed to the client. Defaults to 1048576, which means 1 MiB/s.
- `--upload-rate`: Limits the upload / POST speed. Defaults to 1048576, which means 1 MiB/s.
- `--buffer-size`: Defaults to 16384, or 16 KiB.
- `--client-max-body-size`: Defaults to 2 * 1048576, or 2 MiB.
- `--request-timeout`: Defaults to 30 seconds.
- `--keepalive-timeout`: Defaults to 30 seconds.
- `--keepalive-connections`: Maximum number of keep-alive connections per worker. Defaults to 512 connections per worker.
- `--root-path`: Set the ASGI root_path. Defaults to an empty string.

For example, you can run Netix with these options:

```bash
python3 -m netix --debug --port 8080 example:app
python3 -m netix --daemon example:app

or 

netix --debug --port 8080 example:app
netix --daemon example:app
```

## Example

- Run the Lexan ASGI Framework App using Netix Server.
```bash
$ netix --bind 127.0.0.1:8000 example:app
```
- Output:

```bash
Starting Netix v1.11 (cpython 3.11.4, linux)
------------------------------------------------------------------------
Settings: [
  host=127.0.0.1, port=8000, reuse_port=True, worker_num=1, ssl={}, app=test:app, log_level=DEBUG 
]
------------------------------------------------------------------------
[2023-10-21 23:02:39] Starting Netix ASGI server for /\  Aquilify
[2023-10-21 23:02:39,890] INFO: lifespan: startup
[2023-10-21 23:02:40] Netix (ASGI) (pid 69334) is started at 127.0.0.1:8000 (Press CTRL+C to quit)
```




            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/embrake/netix/",
    "name": "netix",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "ASGI Server user-friendly high concurrancy",
    "author": "Pawan kumar",
    "author_email": "embrakeproject@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/a5/8b/9d9a6fc5f1e4f4a4f03fc61baa7f26a9dd80c2d564ca52219abd49945b6e/netix-1.13.tar.gz",
    "platform": null,
    "description": "# Netix ASGI Server\n\nNetix is a high-performance ASGI (Asynchronous Server Gateway Interface) server designed for efficiently serving ASGI web applications and APIs. It offers a robust, customizable, and easy-to-use platform for deploying your ASGI applications.\n\n## Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Getting Started](#getting-started)\n- [Configuration](#configuration)\n  - [Available Commands and Options](#available-commands-and-options)\n- [Middleware Support](#middleware-support)\n- [Contributing](#contributing)\n- [License](#license)\n- [Acknowledgments](#acknowledgments)\n- [Support and Feedback](#support-and-feedback)\n\n## Features\n\n- **Concurrency Control**: Easily set the number of worker processes to manage concurrent requests efficiently.\n- **Socket Options**: Support for both Unix sockets and network sockets with customizable socket options.\n- **Middleware Support**: Implement request and response middlewares to customize the behavior of your ASGI application.\n- **Daemon Mode**: Run Netix as a daemon to keep it running in the background, detached from the terminal.\n- **Status Monitoring**: Schedule status checks to monitor the health of your ASGI server.\n\n## Installation\n\nYou can install Netix via `pip`, making it a breeze to get started:\n\n```bash\npip install netix\n```\n\n## Configuration\n\n### Available Commands and Options\n\nYou can control and configure Netix using various command-line options when starting the server:\n\n- `--host`: Listen host. Defaults to \"127.0.0.1\".\n- `--daemon`: Start the daemon mode to run the server in the background. Use `--daemon main:app` or `@app module` to daemonize.\n- `--port`: Listen port. Defaults to 8000.\n- `--bind`: Address to bind. You can use this option instead of `--host` and `--port`. For example, \"127.0.0.1:8000\" or \"/tmp/file.sock\".\n- `--reuse-port`: Use `SO_REUSEPORT` when available.\n- `--worker-num`: Number of worker processes. Defaults to 1.\n- `--backlog`: Maximum number of pending connections. Defaults to 100.\n- `--ssl-cert`: SSL certificate location. For example, \"/path/to/fullchain.pem\".\n- `--ssl-key`: SSL private key location. For example, \"/path/to/privkey.pem\".\n- `--debug`: Enable debug mode. Intended for development.\n- `--no-ws`: Disable built-in WebSocket support.\n- `--log-level`: Defaults to \"DEBUG\". For available log levels, see [Python Logging Levels](https://docs.python.org/3/library/logging.html#levels).\n- `--download-rate`: Limits the sending speed to the client. Defaults to 1048576, which means 1 MiB/s.\n- `--upload-rate`: Limits the upload / POST speed. Defaults to 1048576, which means 1 MiB/s.\n- `--buffer-size`: Defaults to 16384, or 16 KiB.\n- `--client-max-body-size`: Defaults to 2 * 1048576, or 2 MiB.\n- `--request-timeout`: Defaults to 30 seconds.\n- `--keepalive-timeout`: Defaults to 30 seconds.\n- `--keepalive-connections`: Maximum number of keep-alive connections per worker. Defaults to 512 connections per worker.\n- `--root-path`: Set the ASGI root_path. Defaults to an empty string.\n\nFor example, you can run Netix with these options:\n\n```bash\npython3 -m netix --debug --port 8080 example:app\npython3 -m netix --daemon example:app\n\nor \n\nnetix --debug --port 8080 example:app\nnetix --daemon example:app\n```\n\n## Example\n\n- Run the Lexan ASGI Framework App using Netix Server.\n```bash\n$ netix --bind 127.0.0.1:8000 example:app\n```\n- Output:\n\n```bash\nStarting Netix v1.11 (cpython 3.11.4, linux)\n------------------------------------------------------------------------\nSettings: [\n  host=127.0.0.1, port=8000, reuse_port=True, worker_num=1, ssl={}, app=test:app, log_level=DEBUG \n]\n------------------------------------------------------------------------\n[2023-10-21 23:02:39] Starting Netix ASGI server for /\\  Aquilify\n[2023-10-21 23:02:39,890] INFO: lifespan: startup\n[2023-10-21 23:02:40] Netix (ASGI) (pid 69334) is started at 127.0.0.1:8000 (Press CTRL+C to quit)\n```\n\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Netix is a high-performance ASGI (Asynchronous Server Gateway Interface) server designed for efficiently serving ASGI web applications and APIs. It offers a robust, customizable, and easy-to-use platform for deploying your ASGI applications.",
    "version": "1.13",
    "project_urls": {
        "Homepage": "https://github.com/embrake/netix/"
    },
    "split_keywords": [
        "asgi",
        "server",
        "user-friendly",
        "high",
        "concurrancy"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cec6cbb1f0d9fb4800f5dbdf6e4c774aa0803e06142444203e1399cea2c90671",
                "md5": "9df8b64ded40e2c4a8aef46dc7516448",
                "sha256": "27586efbfe7af26950183d8897316b2f098a2d008eeda4563b3766a9281b2036"
            },
            "downloads": -1,
            "filename": "netix-1.13-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9df8b64ded40e2c4a8aef46dc7516448",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 45637,
            "upload_time": "2023-11-22T13:41:29",
            "upload_time_iso_8601": "2023-11-22T13:41:29.106637Z",
            "url": "https://files.pythonhosted.org/packages/ce/c6/cbb1f0d9fb4800f5dbdf6e4c774aa0803e06142444203e1399cea2c90671/netix-1.13-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a58b9d9a6fc5f1e4f4a4f03fc61baa7f26a9dd80c2d564ca52219abd49945b6e",
                "md5": "3a8330c47c70f4b8aa8d07cb8f80e9a0",
                "sha256": "5bc78f71ba4b0e900037dd2526fff4dc24441803e33a59aa8d26d564f8997326"
            },
            "downloads": -1,
            "filename": "netix-1.13.tar.gz",
            "has_sig": false,
            "md5_digest": "3a8330c47c70f4b8aa8d07cb8f80e9a0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 38371,
            "upload_time": "2023-11-22T13:41:31",
            "upload_time_iso_8601": "2023-11-22T13:41:31.992034Z",
            "url": "https://files.pythonhosted.org/packages/a5/8b/9d9a6fc5f1e4f4a4f03fc61baa7f26a9dd80c2d564ca52219abd49945b6e/netix-1.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-22 13:41:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "embrake",
    "github_project": "netix",
    "github_not_found": true,
    "lcname": "netix"
}
        
Elapsed time: 0.14053s