Name | netix JSON |
Version |
1.13
JSON |
| download |
home_page | https://github.com/embrake/netix/ |
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. |
upload_time | 2023-11-22 13:41:31 |
maintainer | |
docs_url | None |
author | Pawan kumar |
requires_python | |
license | MIT |
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"
}