*s*•**kipja**•*c*•**k**
A small, pelagic fish from the tuna family. Found in large schools in the
tropical and sub-tropical oceans of the world.




---
The **kipjak** library is applicable to;
* **Large, multiprocess website backends**
* **Applications with complex multithreading requirements**
* **Components requiring one or more subprocesses**
* **Complex, distributed process control systems**
---
The technical goal of the **kipjak** library is to deliver software communications, wherever the
relevant software entities may be located. At the lowest level this involves a message-driven
framework providing for seamless communication between threads, processes and hosts. At higher
levels it delivers responsiveness, concurrency and clarity.
* Sophistication with clarity ••• *separation from the details of threads and networks*
* Quick on-boarding ••• *cookbook of multithreading, multiprocessing and multihosting solutions*
* Optimal throughput ••• *load distribution across threads, processes and hosts*
* Quality client feedback ••• *negative responses to requests during periods of heavy load*
* Simple leveraging of sub-processes ••• *load child processes as callable libraries*
* Process orchestration ••• *definition and execution of persisted process groups*
* System daemons ••• *foreground or background execution*
* True application messaging ••• *send and receive application values; Person, list[Person], dict[UUID,Person], bool, etc*
* Broker-less communications ••• *no middleware, no additional hop, no additional latency*
* Publish-subscribe networking ••• *networking without network addresses*
* Industrial-grade encryption ••• *NaCl (Salt)*
* Automated transport monitoring ••• *discreet keep-alive protocol*
* HTTP integration ••• *RPC or RESTful APIs*
* Technical support ••• *baked-in logging, log storage and log recovery*
A few comparisons of related technologies with **kipjak**;
* HTTP is a blocking, request-response model ••• *fundamentally asynchronous with HTTP integration*
* [ZeroMQ](https://zeromq.org) delegates message serialization, e.g. to [protobuf](https://protobuf.dev) ••• *sends and receives final application values*
* [NATS](https://nats.io) is broker-based middleware ••• *uses direct peer-to-peer connections*
Raw data
{
"_id": null,
"home_page": null,
"name": "kipjak",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "concurrency, multithreading, multiprocessing, asynchronous, networking",
"author": null,
"author_email": "\"S. Woods\" <scott.suzuki@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/23/ff/23a6d2ad3f08cae15f7a53f4ec2be40f3232335659f0005357cc84fe9e3d/kipjak-1.0.27.tar.gz",
"platform": null,
"description": "*s*\u2022**kipja**\u2022*c*\u2022**k**\n\nA small, pelagic fish from the tuna family. Found in large schools in the\ntropical and sub-tropical oceans of the world.\n\n\n\n\n\n\n---\n\nThe **kipjak** library is applicable to;\n\n* **Large, multiprocess website backends**\n* **Applications with complex multithreading requirements**\n* **Components requiring one or more subprocesses**\n* **Complex, distributed process control systems**\n\n---\n\nThe technical goal of the **kipjak** library is to deliver software communications, wherever the\nrelevant software entities may be located. At the lowest level this involves a message-driven\nframework providing for seamless communication between threads, processes and hosts. At higher\nlevels it delivers responsiveness, concurrency and clarity.\n\n* Sophistication with clarity \u2022\u2022\u2022 *separation from the details of threads and networks*\n* Quick on-boarding \u2022\u2022\u2022 *cookbook of multithreading, multiprocessing and multihosting solutions*\n* Optimal throughput \u2022\u2022\u2022 *load distribution across threads, processes and hosts*\n* Quality client feedback \u2022\u2022\u2022 *negative responses to requests during periods of heavy load*\n* Simple leveraging of sub-processes \u2022\u2022\u2022 *load child processes as callable libraries*\n* Process orchestration \u2022\u2022\u2022 *definition and execution of persisted process groups*\n* System daemons \u2022\u2022\u2022 *foreground or background execution*\n* True application messaging \u2022\u2022\u2022 *send and receive application values; Person, list[Person], dict[UUID,Person], bool, etc*\n* Broker-less communications \u2022\u2022\u2022 *no middleware, no additional hop, no additional latency*\n* Publish-subscribe networking \u2022\u2022\u2022 *networking without network addresses*\n* Industrial-grade encryption \u2022\u2022\u2022 *NaCl (Salt)*\n* Automated transport monitoring \u2022\u2022\u2022 *discreet keep-alive protocol*\n* HTTP integration \u2022\u2022\u2022 *RPC or RESTful APIs*\n* Technical support \u2022\u2022\u2022 *baked-in logging, log storage and log recovery*\n\nA few comparisons of related technologies with **kipjak**;\n\n* HTTP is a blocking, request-response model \u2022\u2022\u2022 *fundamentally asynchronous with HTTP integration*\n* [ZeroMQ](https://zeromq.org) delegates message serialization, e.g. to [protobuf](https://protobuf.dev) \u2022\u2022\u2022 *sends and receives final application values*\n* [NATS](https://nats.io) is broker-based middleware \u2022\u2022\u2022 *uses direct peer-to-peer connections*\n",
"bugtrack_url": null,
"license": null,
"summary": "Concurrency via multithreading, multiprocessing and multihosting",
"version": "1.0.27",
"project_urls": {
"Discussion": "https://www.reddit.com/r/kipjak/",
"Documentation": "https://kipjak-manual.s3.ap-southeast-2.amazonaws.com/1.0.0/index.html"
},
"split_keywords": [
"concurrency",
" multithreading",
" multiprocessing",
" asynchronous",
" networking"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "aed21dda620fdaae510f2d27a94ae7682b12c50df51a2116e920dfca4850ed40",
"md5": "86bef371ff0afe1b4cd9ba059b31473e",
"sha256": "260c3b8db0964436a20df2518577103593999215613c4837723d38f857072673"
},
"downloads": -1,
"filename": "kipjak-1.0.27-py3-none-any.whl",
"has_sig": false,
"md5_digest": "86bef371ff0afe1b4cd9ba059b31473e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 195001,
"upload_time": "2025-09-10T05:43:37",
"upload_time_iso_8601": "2025-09-10T05:43:37.140567Z",
"url": "https://files.pythonhosted.org/packages/ae/d2/1dda620fdaae510f2d27a94ae7682b12c50df51a2116e920dfca4850ed40/kipjak-1.0.27-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "23ff23a6d2ad3f08cae15f7a53f4ec2be40f3232335659f0005357cc84fe9e3d",
"md5": "904cfc68931f9187aa8b0c8e4174b109",
"sha256": "03a66cd7cc4bb9df7fde1fb294d4fa3f3f1bbdde3c302c6c67cd81011458ec9c"
},
"downloads": -1,
"filename": "kipjak-1.0.27.tar.gz",
"has_sig": false,
"md5_digest": "904cfc68931f9187aa8b0c8e4174b109",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 160354,
"upload_time": "2025-09-10T05:43:39",
"upload_time_iso_8601": "2025-09-10T05:43:39.017032Z",
"url": "https://files.pythonhosted.org/packages/23/ff/23a6d2ad3f08cae15f7a53f4ec2be40f3232335659f0005357cc84fe9e3d/kipjak-1.0.27.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-10 05:43:39",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "kipjak"
}