*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 communicatins ••• *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/66/45/644565b440925a65e0a1d34d50774fc9f0dba307d98a6576851971def0c2/kipjak-1.0.26.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 communicatins \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.26",
"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": "54abe2ac656b4ded93fb0cbcec75b53c7fc7c7162b3977f0bdb30164f74bb4c1",
"md5": "74dda5e934e1229350761b9f3fb862ec",
"sha256": "b5e4ecb8eba875e471fbb342dccaeb0f4c989f9d6477efed6d7e7ebaf362f8ae"
},
"downloads": -1,
"filename": "kipjak-1.0.26-py3-none-any.whl",
"has_sig": false,
"md5_digest": "74dda5e934e1229350761b9f3fb862ec",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 195004,
"upload_time": "2025-09-06T00:36:06",
"upload_time_iso_8601": "2025-09-06T00:36:06.129840Z",
"url": "https://files.pythonhosted.org/packages/54/ab/e2ac656b4ded93fb0cbcec75b53c7fc7c7162b3977f0bdb30164f74bb4c1/kipjak-1.0.26-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6645644565b440925a65e0a1d34d50774fc9f0dba307d98a6576851971def0c2",
"md5": "e3710fb6809c1b67e96b2d4893f0fe10",
"sha256": "7f992ad1f89f3214ff2c18acdbb010be5adda6f155905fbe255aa43f81b1dc4f"
},
"downloads": -1,
"filename": "kipjak-1.0.26.tar.gz",
"has_sig": false,
"md5_digest": "e3710fb6809c1b67e96b2d4893f0fe10",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 160346,
"upload_time": "2025-09-06T00:36:08",
"upload_time_iso_8601": "2025-09-06T00:36:08.194105Z",
"url": "https://files.pythonhosted.org/packages/66/45/644565b440925a65e0a1d34d50774fc9f0dba307d98a6576851971def0c2/kipjak-1.0.26.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-06 00:36:08",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "kipjak"
}