<h1 align="center"><i>✨ siokcp ✨ </i></h1>
<h3 align="center">The python binding for <a href="https://github.com/skywind3000/kcp">kcp</a> </h3>
[![pypi](https://img.shields.io/pypi/v/siokcp.svg)](https://pypi.org/project/siokcp/)
![python](https://img.shields.io/pypi/pyversions/siokcp)
![implementation](https://img.shields.io/pypi/implementation/siokcp)
![wheel](https://img.shields.io/pypi/wheel/siokcp)
![license](https://img.shields.io/github/license/synodriver/siokcp.svg)
![action](https://img.shields.io/github/workflow/status/synodriver/siokcp/build%20wheel)
# Usage
```
from siokcp import KCPConnection
con = KCPConnection(1, send_callback, log_callback)
con.receive_data(somedata)
p = con.next_event()
```
```python
import asyncio
from siokcp.asyncio import start_kcp_server, open_kcp_connection
async def serve(event):
async def cb(reader: asyncio.StreamReader, writer):
data = await reader.read(1024)
writer.write(data)
await writer.drain()
writer.close()
await writer.wait_closed()
tr, pro = await start_kcp_server(cb, ("0.0.0.0", 11000), print)
await event.wait()
tr.close()
async def main():
ev = asyncio.Event()
ev.clear()
asyncio.create_task(serve(ev))
r, w = await open_kcp_connection(("127.0.0.1", 11000), 10, print)
w.write(b"Hello, world!")
await w.drain()
print(await r.read(100))
ev.set()
asyncio.run(main())
```
# Public functions
```python
from typing import Optional
IKCP_LOG_INPUT: int
IKCP_LOG_IN_ACK: int
IKCP_LOG_IN_DATA: int
IKCP_LOG_IN_PROBE: int
IKCP_LOG_IN_WINS: int
IKCP_LOG_OUTPUT: int
IKCP_LOG_OUT_ACK: int
IKCP_LOG_OUT_DATA: int
IKCP_LOG_OUT_PROBE: int
IKCP_LOG_OUT_WINS: int
IKCP_LOG_RECV: int
IKCP_LOG_SEND: int
def get_conv(data: bytes) -> int: ...
class KCPConnection:
conv: int
current: int
cwnd: int
dead_link: int
fastlimit: int
fastresend: int
incr: int
interval: int
logmask: int
mss: int
mtu: int
nocwnd: int
nodelay_: int
nrcv_buf: int
nrcv_que: int
nsnd_buf: int
nsnd_que: int
probe: int
probe_wait: int
rcv_nxt: int
rcv_wnd: int
rmt_wnd: int
rx_minrto: int
rx_rto: int
rx_rttval: int
rx_srtt: int
send_cb: object
snd_nxt: int
snd_una: int
snd_wnd: int
ssthresh: int
state: int
stream: int
ts_flush: int
ts_lastack: int
ts_probe: int
ts_recent: int
updated: int
xmit: int
@classmethod
def __init__(cls, conv: int, send_cb: object, log_cb: object) -> None: ...
def check(self, current: int) -> int: ...
def flush(self) -> None: ...
def log(self, mask: int, data: str) -> None: ...
def next_event(self) -> Optional[bytes]: ...
def next_event_into(self, buffer: bytearray) -> int: ...
def nodelay(self, nodelay: int, interval: int, resend: int, nc: int) -> int: ...
def peeksize(self) -> int: ...
def receive_data(self, data: bytes) -> int: ...
def send(self, data: bytes) -> int: ...
def setmtu(self, mtu: int) -> int: ...
def update(self, current: int) -> int: ...
def waitsnd(self) -> int: ...
def wndsize(self, sndwnd: int, rcvwnd: int) -> int: ...
```
### siokcp.asyncio
```python
from typing import Callable, Awaitable, Any, Literal
from socket import socket
import asyncio
async def create_kcp_connection(
loop: asyncio.AbstractEventLoop,
protocol_factory: Callable[[], asyncio.Protocol],
conv: int,
remote_addr: tuple[str, int] | str | None,
log: Callable[[str], Any],
pre_processor: Callable[[bytes], tuple[int, bytes]] | None = None,
post_processor: Callable[[bytes], bytes] | None = None,
timer: Callable[[], None] | None = None,
update_policy: Literal["normal", "lazy", "eager"] = "eager",
local_addr: tuple[str, int] | str | None = None,
*,
family: int = 0,
proto: int = 0,
flags: int = 0,
reuse_port: bool | None = None,
allow_broadcast: bool | None = None,
sock: socket | None = None
): ...
async def open_kcp_connection(
remote_addr: tuple[str, int] | str | None,
conv: int,
log: Callable[[str], Any],
pre_processor: Callable[[bytes], tuple[int, bytes]] | None = None,
post_processor: Callable[[bytes], bytes] | None = None,
*,
limit=...,
**kwds
): ...
async def create_kcp_server(
loop: asyncio.AbstractEventLoop,
protocol_factory: Callable[[], asyncio.Protocol],
local_addr: tuple[str, int] | str | None,
log: Callable[[str], Any],
pre_processor: Callable[[bytes], tuple[int, bytes]] | None = None,
post_processor: Callable[[bytes], bytes] | None = None,
timer: Callable[[int], None] | None = None,
update_policy: Literal["normal", "lazy", "eager"] = "eager",
remote_addr: tuple[str, int] | str | None = None,
*,
family: int = 0,
proto: int = 0,
flags: int = 0,
reuse_port: bool | None = None,
allow_broadcast: bool | None = None,
sock: socket | None = None
): ...
async def start_kcp_server(
client_connected_cb: Callable[
[asyncio.StreamReader, asyncio.StreamWriter], Any | Awaitable[Any]
],
local_addr: tuple[str, int] | str | None,
log: Callable[[str], Any],
pre_processor: Callable[[bytes], tuple[int, bytes]] | None = None,
post_processor: Callable[[bytes], bytes] | None = None,
*,
limit: int = ...,
**kwds
): ...
```
Raw data
{
"_id": null,
"home_page": "https://github.com/synodriver/siokcp",
"name": "siokcp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "kcp",
"author": "synodriver",
"author_email": "diguohuangjiajinweijun@gmail.com",
"download_url": null,
"platform": null,
"description": "<h1 align=\"center\"><i>\u2728 siokcp \u2728 </i></h1>\n\n<h3 align=\"center\">The python binding for <a href=\"https://github.com/skywind3000/kcp\">kcp</a> </h3>\n\n\n\n[![pypi](https://img.shields.io/pypi/v/siokcp.svg)](https://pypi.org/project/siokcp/)\n![python](https://img.shields.io/pypi/pyversions/siokcp)\n![implementation](https://img.shields.io/pypi/implementation/siokcp)\n![wheel](https://img.shields.io/pypi/wheel/siokcp)\n![license](https://img.shields.io/github/license/synodriver/siokcp.svg)\n![action](https://img.shields.io/github/workflow/status/synodriver/siokcp/build%20wheel)\n\n\n# Usage \n```\nfrom siokcp import KCPConnection\n\ncon = KCPConnection(1, send_callback, log_callback)\ncon.receive_data(somedata)\np = con.next_event()\n\n```\n\n```python\nimport asyncio\nfrom siokcp.asyncio import start_kcp_server, open_kcp_connection\n\nasync def serve(event):\n async def cb(reader: asyncio.StreamReader, writer):\n data = await reader.read(1024)\n writer.write(data)\n await writer.drain()\n writer.close()\n await writer.wait_closed()\n\n tr, pro = await start_kcp_server(cb, (\"0.0.0.0\", 11000), print)\n await event.wait()\n tr.close()\n \nasync def main():\n ev = asyncio.Event()\n ev.clear()\n asyncio.create_task(serve(ev))\n r, w = await open_kcp_connection((\"127.0.0.1\", 11000), 10, print)\n w.write(b\"Hello, world!\")\n await w.drain()\n print(await r.read(100))\n ev.set()\n\nasyncio.run(main())\n```\n\n\n# Public functions\n```python\nfrom typing import Optional\n\nIKCP_LOG_INPUT: int\nIKCP_LOG_IN_ACK: int\nIKCP_LOG_IN_DATA: int\nIKCP_LOG_IN_PROBE: int\nIKCP_LOG_IN_WINS: int\nIKCP_LOG_OUTPUT: int\nIKCP_LOG_OUT_ACK: int\nIKCP_LOG_OUT_DATA: int\nIKCP_LOG_OUT_PROBE: int\nIKCP_LOG_OUT_WINS: int\nIKCP_LOG_RECV: int\nIKCP_LOG_SEND: int\n\n\ndef get_conv(data: bytes) -> int: ...\n\nclass KCPConnection:\n conv: int\n current: int\n cwnd: int\n dead_link: int\n fastlimit: int\n fastresend: int\n incr: int\n interval: int\n logmask: int\n mss: int\n mtu: int\n nocwnd: int\n nodelay_: int\n nrcv_buf: int\n nrcv_que: int\n nsnd_buf: int\n nsnd_que: int\n probe: int\n probe_wait: int\n rcv_nxt: int\n rcv_wnd: int\n rmt_wnd: int\n rx_minrto: int\n rx_rto: int\n rx_rttval: int\n rx_srtt: int\n send_cb: object\n snd_nxt: int\n snd_una: int\n snd_wnd: int\n ssthresh: int\n state: int\n stream: int\n ts_flush: int\n ts_lastack: int\n ts_probe: int\n ts_recent: int\n updated: int\n xmit: int\n @classmethod\n def __init__(cls, conv: int, send_cb: object, log_cb: object) -> None: ...\n def check(self, current: int) -> int: ...\n def flush(self) -> None: ...\n def log(self, mask: int, data: str) -> None: ...\n def next_event(self) -> Optional[bytes]: ...\n def next_event_into(self, buffer: bytearray) -> int: ...\n def nodelay(self, nodelay: int, interval: int, resend: int, nc: int) -> int: ...\n def peeksize(self) -> int: ...\n def receive_data(self, data: bytes) -> int: ...\n def send(self, data: bytes) -> int: ...\n def setmtu(self, mtu: int) -> int: ...\n def update(self, current: int) -> int: ...\n def waitsnd(self) -> int: ...\n def wndsize(self, sndwnd: int, rcvwnd: int) -> int: ...\n```\n### siokcp.asyncio\n```python\nfrom typing import Callable, Awaitable, Any, Literal\nfrom socket import socket\nimport asyncio\n\nasync def create_kcp_connection(\n loop: asyncio.AbstractEventLoop,\n protocol_factory: Callable[[], asyncio.Protocol],\n conv: int,\n remote_addr: tuple[str, int] | str | None,\n log: Callable[[str], Any],\n pre_processor: Callable[[bytes], tuple[int, bytes]] | None = None,\n post_processor: Callable[[bytes], bytes] | None = None,\n timer: Callable[[], None] | None = None,\n update_policy: Literal[\"normal\", \"lazy\", \"eager\"] = \"eager\",\n local_addr: tuple[str, int] | str | None = None,\n *,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n reuse_port: bool | None = None,\n allow_broadcast: bool | None = None,\n sock: socket | None = None\n): ...\nasync def open_kcp_connection(\n remote_addr: tuple[str, int] | str | None,\n conv: int,\n log: Callable[[str], Any],\n pre_processor: Callable[[bytes], tuple[int, bytes]] | None = None,\n post_processor: Callable[[bytes], bytes] | None = None,\n *,\n limit=...,\n **kwds\n): ...\nasync def create_kcp_server(\n loop: asyncio.AbstractEventLoop,\n protocol_factory: Callable[[], asyncio.Protocol],\n local_addr: tuple[str, int] | str | None,\n log: Callable[[str], Any],\n pre_processor: Callable[[bytes], tuple[int, bytes]] | None = None,\n post_processor: Callable[[bytes], bytes] | None = None,\n timer: Callable[[int], None] | None = None,\n update_policy: Literal[\"normal\", \"lazy\", \"eager\"] = \"eager\",\n remote_addr: tuple[str, int] | str | None = None,\n *,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n reuse_port: bool | None = None,\n allow_broadcast: bool | None = None,\n sock: socket | None = None\n): ...\nasync def start_kcp_server(\n client_connected_cb: Callable[\n [asyncio.StreamReader, asyncio.StreamWriter], Any | Awaitable[Any]\n ],\n local_addr: tuple[str, int] | str | None,\n log: Callable[[str], Any],\n pre_processor: Callable[[bytes], tuple[int, bytes]] | None = None,\n post_processor: Callable[[bytes], bytes] | None = None,\n *,\n limit: int = ...,\n **kwds\n): ...\n\n```\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "sans-io style kcp",
"version": "0.0.5",
"project_urls": {
"Homepage": "https://github.com/synodriver/siokcp"
},
"split_keywords": [
"kcp"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "dd0ea9ef67c1d2b4daf6e87bbaecb409477edbe8732d9fa176d5370c3ddcddca",
"md5": "97d8aa75acf7c56dceda192bdfc9a609",
"sha256": "862326533dbe64ebe9d8d669f462b71f5fd0e86a00e35baa341f767edc92fcd9"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp310-cp310-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "97d8aa75acf7c56dceda192bdfc9a609",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 341712,
"upload_time": "2025-02-01T14:38:42",
"upload_time_iso_8601": "2025-02-01T14:38:42.337426Z",
"url": "https://files.pythonhosted.org/packages/dd/0e/a9ef67c1d2b4daf6e87bbaecb409477edbe8732d9fa176d5370c3ddcddca/siokcp-0.0.5-cp310-cp310-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e0b50ccc0160b9ccb27cd6fb93a789e9cd16806921e25a1a4cf3aa50f4db064d",
"md5": "785bd97df6d9faeb3efcfb182e4555c2",
"sha256": "a4e9ca910ead310d8bb748e4cc61b92c516097b57501d2dddb8f30d4d6febe8e"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "785bd97df6d9faeb3efcfb182e4555c2",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 261676,
"upload_time": "2025-02-01T14:38:44",
"upload_time_iso_8601": "2025-02-01T14:38:44.355039Z",
"url": "https://files.pythonhosted.org/packages/e0/b5/0ccc0160b9ccb27cd6fb93a789e9cd16806921e25a1a4cf3aa50f4db064d/siokcp-0.0.5-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bd82ade75ac9ede798841f6bddf3237b638ceb3226a8236a8c3cd2c3f1f92ae8",
"md5": "0dfc1a598eff236a5907da51bd10ed80",
"sha256": "1f067622b8728525bcb2c0f7b39c5aa4cbe4cbb99ad0b33540e7c38fcad24f86"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "0dfc1a598eff236a5907da51bd10ed80",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 255817,
"upload_time": "2025-02-01T14:38:46",
"upload_time_iso_8601": "2025-02-01T14:38:46.220305Z",
"url": "https://files.pythonhosted.org/packages/bd/82/ade75ac9ede798841f6bddf3237b638ceb3226a8236a8c3cd2c3f1f92ae8/siokcp-0.0.5-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "afcc1966fd1b8e30f4c8f655f51c0892dd11b4fe925697d13a100f8b3aaaeb14",
"md5": "092c7d889383cba27a66a407adb9f0ca",
"sha256": "31c71bc9184ab4ad91b5114b98d2292b12ae577abb6d1f4d90a0e778b37bc493"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "092c7d889383cba27a66a407adb9f0ca",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 242899,
"upload_time": "2025-02-01T14:39:27",
"upload_time_iso_8601": "2025-02-01T14:39:27.563807Z",
"url": "https://files.pythonhosted.org/packages/af/cc/1966fd1b8e30f4c8f655f51c0892dd11b4fe925697d13a100f8b3aaaeb14/siokcp-0.0.5-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f8b50af5780246ccb4df66df0359a90e0d830ede4b09fc52538cd301a9ca90d9",
"md5": "d92ccdb306ca6e8de79a05f7439ee59c",
"sha256": "98e22c8c15d680ab045179f927614f60bd08efc8c6f9c79ec5526ec8a593b4ec"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "d92ccdb306ca6e8de79a05f7439ee59c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 258052,
"upload_time": "2025-02-01T14:39:29",
"upload_time_iso_8601": "2025-02-01T14:39:29.352286Z",
"url": "https://files.pythonhosted.org/packages/f8/b5/0af5780246ccb4df66df0359a90e0d830ede4b09fc52538cd301a9ca90d9/siokcp-0.0.5-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "15ffd2faaef575424de0d5fcdb81d3a0fb62d6a7851655c0591171d4a2623ee1",
"md5": "e650fbaac2b9f3ab5327a64a93ed3af2",
"sha256": "0f7fffd2ed6163666cbce4e13712f470a43dfe0f6e983833191feb1a1b26595f"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp311-cp311-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "e650fbaac2b9f3ab5327a64a93ed3af2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 342274,
"upload_time": "2025-02-01T14:38:48",
"upload_time_iso_8601": "2025-02-01T14:38:48.283706Z",
"url": "https://files.pythonhosted.org/packages/15/ff/d2faaef575424de0d5fcdb81d3a0fb62d6a7851655c0591171d4a2623ee1/siokcp-0.0.5-cp311-cp311-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "63f0b87e5438210f02ca03d362d575537eb70dd140433ae1d1912c8c28fe33b5",
"md5": "b6dec685eb961ace8ad6278442052bb0",
"sha256": "36a6d01851c2c579e9c61eb1761ea11c99645fe92b1fdc26099465514bccd000"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "b6dec685eb961ace8ad6278442052bb0",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 262048,
"upload_time": "2025-02-01T14:38:49",
"upload_time_iso_8601": "2025-02-01T14:38:49.925327Z",
"url": "https://files.pythonhosted.org/packages/63/f0/b87e5438210f02ca03d362d575537eb70dd140433ae1d1912c8c28fe33b5/siokcp-0.0.5-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f89b4758a97cf50d540cb5a4bf0f36635af255007264a9bf20d1bb258ae9728b",
"md5": "aafae110e4900e7cfdc6819def5dbee1",
"sha256": "33dd87ac4da4d87e687eb7794b261783a49127ad7d4945ad189c11f0fb1ff0c4"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "aafae110e4900e7cfdc6819def5dbee1",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 256068,
"upload_time": "2025-02-01T14:38:51",
"upload_time_iso_8601": "2025-02-01T14:38:51.034163Z",
"url": "https://files.pythonhosted.org/packages/f8/9b/4758a97cf50d540cb5a4bf0f36635af255007264a9bf20d1bb258ae9728b/siokcp-0.0.5-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "be3477af873d7060b9bd8d121c553d44284c46aab0767241b1a751c835566ef2",
"md5": "26e90192e98fbc72a08b7d288e013803",
"sha256": "4485874f07cbcd2aefeca40ef2c4def53858be98816e8f9fe4dbcec5eaea5827"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "26e90192e98fbc72a08b7d288e013803",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 242589,
"upload_time": "2025-02-01T14:39:30",
"upload_time_iso_8601": "2025-02-01T14:39:30.944849Z",
"url": "https://files.pythonhosted.org/packages/be/34/77af873d7060b9bd8d121c553d44284c46aab0767241b1a751c835566ef2/siokcp-0.0.5-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "07ef0456c6380858c4dfcbb682498321f7758749ec34c78942233309133add13",
"md5": "13fcba9916afb0c9cce5688134ade92f",
"sha256": "0a652ccf2fd16d3d6d0f00b0f359e4fa93823db8ff9cb6857c2030c9d870a2a2"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "13fcba9916afb0c9cce5688134ade92f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 258075,
"upload_time": "2025-02-01T14:39:32",
"upload_time_iso_8601": "2025-02-01T14:39:32.061942Z",
"url": "https://files.pythonhosted.org/packages/07/ef/0456c6380858c4dfcbb682498321f7758749ec34c78942233309133add13/siokcp-0.0.5-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0e411c42d479254ba279f57594c21f31122f8f3209771285e7be44beeadef8e5",
"md5": "736c5d1245dd00808869218ddc1a2aa0",
"sha256": "24a5cc3b6f262e2375f2934cb9034dc51418bdbfc1f8ce893eeb9cdf1650f203"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp312-cp312-macosx_10_13_universal2.whl",
"has_sig": false,
"md5_digest": "736c5d1245dd00808869218ddc1a2aa0",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 345080,
"upload_time": "2025-02-01T14:38:52",
"upload_time_iso_8601": "2025-02-01T14:38:52.800274Z",
"url": "https://files.pythonhosted.org/packages/0e/41/1c42d479254ba279f57594c21f31122f8f3209771285e7be44beeadef8e5/siokcp-0.0.5-cp312-cp312-macosx_10_13_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5a73cd2f39c9e781d6e136a9ce7e648f506725853c35de7b88151ae75c06ed5d",
"md5": "21e3d2461060c88ff1bebff1f26fb5a8",
"sha256": "75c77342b82dd43292d74afe2b45b11ec5ad3610ba5110ece724273e02c9580d"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp312-cp312-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "21e3d2461060c88ff1bebff1f26fb5a8",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 263730,
"upload_time": "2025-02-01T14:38:54",
"upload_time_iso_8601": "2025-02-01T14:38:54.992834Z",
"url": "https://files.pythonhosted.org/packages/5a/73/cd2f39c9e781d6e136a9ce7e648f506725853c35de7b88151ae75c06ed5d/siokcp-0.0.5-cp312-cp312-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1c3ce802016e2ff7a68669142a86c5c41dde4d74403921fae654d242250646bb",
"md5": "b5519a86edf9a09ff170ed6258033c1c",
"sha256": "b6e79ad2b63c950bc22433b83e1a5a67281e3d6ec003c36f49aaa9ee7ab2076a"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "b5519a86edf9a09ff170ed6258033c1c",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 257113,
"upload_time": "2025-02-01T14:38:56",
"upload_time_iso_8601": "2025-02-01T14:38:56.758963Z",
"url": "https://files.pythonhosted.org/packages/1c/3c/e802016e2ff7a68669142a86c5c41dde4d74403921fae654d242250646bb/siokcp-0.0.5-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "dbb81c3a3e3226c356e2c537bc52d4317bcbcd245e8dd9ddac6f2bf3c5c7be1e",
"md5": "67d30ecb64dd15695cf6f9c3f5d3ee44",
"sha256": "a105bfad1e604cbf39316dd4a33a9cdcab57b33c7069f162ed39cab343a2d773"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "67d30ecb64dd15695cf6f9c3f5d3ee44",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 243468,
"upload_time": "2025-02-01T14:39:33",
"upload_time_iso_8601": "2025-02-01T14:39:33.151446Z",
"url": "https://files.pythonhosted.org/packages/db/b8/1c3a3e3226c356e2c537bc52d4317bcbcd245e8dd9ddac6f2bf3c5c7be1e/siokcp-0.0.5-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a0b6b0081d208ca9ffee0bd937ac35d951a22f0be3cd4147c4ca5acc735e19c4",
"md5": "27ca0e19360cfb52c9983026acc7accd",
"sha256": "447adbffbb9a40b7c35d74d59f3c0d0c8c8109fc2f6d36a83ae780415563eaeb"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "27ca0e19360cfb52c9983026acc7accd",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 259205,
"upload_time": "2025-02-01T14:39:34",
"upload_time_iso_8601": "2025-02-01T14:39:34.280733Z",
"url": "https://files.pythonhosted.org/packages/a0/b6/b0081d208ca9ffee0bd937ac35d951a22f0be3cd4147c4ca5acc735e19c4/siokcp-0.0.5-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5b5901581b30d4d598e145423f2777247a3d53e4291b5e039b4f7fd455799072",
"md5": "ea790941b47a42059e40ddd12cb5a23f",
"sha256": "260dd7eae9a7a6889e06a7e1a9ab4ef29400286bbc45daecc4790c81573ef033"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp313-cp313-macosx_10_13_universal2.whl",
"has_sig": false,
"md5_digest": "ea790941b47a42059e40ddd12cb5a23f",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 343631,
"upload_time": "2025-02-01T14:38:58",
"upload_time_iso_8601": "2025-02-01T14:38:58.019322Z",
"url": "https://files.pythonhosted.org/packages/5b/59/01581b30d4d598e145423f2777247a3d53e4291b5e039b4f7fd455799072/siokcp-0.0.5-cp313-cp313-macosx_10_13_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0d3514cca99155727aa255d9f9a9f4618d430c5886f0d8b3cc9edbc9f1ce9101",
"md5": "b8330acf50f61294d186343d6855056d",
"sha256": "ec046a2aa3daa2318a005e55120ef15978b35f234e702bf11d5c778bcd87e779"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp313-cp313-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "b8330acf50f61294d186343d6855056d",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 263171,
"upload_time": "2025-02-01T14:38:59",
"upload_time_iso_8601": "2025-02-01T14:38:59.041621Z",
"url": "https://files.pythonhosted.org/packages/0d/35/14cca99155727aa255d9f9a9f4618d430c5886f0d8b3cc9edbc9f1ce9101/siokcp-0.0.5-cp313-cp313-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6f00040780bf372fa7ef218a2db04d108fcdd48f7209b326e546b34a6e4dfe80",
"md5": "9d3b9c0a377ffbef8d6bdd818a8635e6",
"sha256": "bec02ce2ac405740556b6823a17a6f7fa59d802137cecdbd37384ef5f7bffe6f"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "9d3b9c0a377ffbef8d6bdd818a8635e6",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 256288,
"upload_time": "2025-02-01T14:39:00",
"upload_time_iso_8601": "2025-02-01T14:39:00.475490Z",
"url": "https://files.pythonhosted.org/packages/6f/00/040780bf372fa7ef218a2db04d108fcdd48f7209b326e546b34a6e4dfe80/siokcp-0.0.5-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3317c253e940c2b32abe05f8d7014d29e284f257b52a6d4b5faa17e5056dcf04",
"md5": "ef9bacf47c663afc19e72adc6f87f363",
"sha256": "7edf690e6d0a6a9c4900823d6ccfd078bc5e96498ff04dbaa2ae57d9f8df355f"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp313-cp313t-macosx_10_13_universal2.whl",
"has_sig": false,
"md5_digest": "ef9bacf47c663afc19e72adc6f87f363",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 353942,
"upload_time": "2025-02-01T14:39:01",
"upload_time_iso_8601": "2025-02-01T14:39:01.606343Z",
"url": "https://files.pythonhosted.org/packages/33/17/c253e940c2b32abe05f8d7014d29e284f257b52a6d4b5faa17e5056dcf04/siokcp-0.0.5-cp313-cp313t-macosx_10_13_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3b0931a5162181f4cd79fa393ada91108da0931f31522448ea6eb7e3e98a8bc5",
"md5": "670b7109a422eb3dc64313c907cb05b6",
"sha256": "2d8a4edf3abc027d95163991d5556bad7b9d3519fdb8ca2017b8268042699c6e"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp313-cp313t-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "670b7109a422eb3dc64313c907cb05b6",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 267608,
"upload_time": "2025-02-01T14:39:03",
"upload_time_iso_8601": "2025-02-01T14:39:03.508432Z",
"url": "https://files.pythonhosted.org/packages/3b/09/31a5162181f4cd79fa393ada91108da0931f31522448ea6eb7e3e98a8bc5/siokcp-0.0.5-cp313-cp313t-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "097bf3327452c8e188d2258410aec130763a07d68c65698cab3c77deb00a79e2",
"md5": "8881d2eb924e6f2d62d27f90bc461c62",
"sha256": "fbb99ce9466885101ee180baa88a2df59f24d62cf26c5cface988e1e9c6c58fc"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp313-cp313t-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "8881d2eb924e6f2d62d27f90bc461c62",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 262297,
"upload_time": "2025-02-01T14:39:05",
"upload_time_iso_8601": "2025-02-01T14:39:05.342135Z",
"url": "https://files.pythonhosted.org/packages/09/7b/f3327452c8e188d2258410aec130763a07d68c65698cab3c77deb00a79e2/siokcp-0.0.5-cp313-cp313t-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9010d8e6afdc64e92fcbc53e6508d2fc56147be1748cad5233d16ba514de91b7",
"md5": "206af785030564720489700157930a44",
"sha256": "58f90437bf4cac8eb24e8b53ca7ce31d3f4b9933a9bf1cedec30bb776d41fc98"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp313-cp313t-win32.whl",
"has_sig": false,
"md5_digest": "206af785030564720489700157930a44",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 251659,
"upload_time": "2025-02-01T14:39:38",
"upload_time_iso_8601": "2025-02-01T14:39:38.799317Z",
"url": "https://files.pythonhosted.org/packages/90/10/d8e6afdc64e92fcbc53e6508d2fc56147be1748cad5233d16ba514de91b7/siokcp-0.0.5-cp313-cp313t-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "202673646567b0e74b4abbf76b28d4728e698c6d36ddb413af36e8752c7d0595",
"md5": "99179e7778fff0b83b8f28c8404e1eab",
"sha256": "9d2404e6a37e765f14baf0253bb0a6780c2e2f02b4691ecff7f96ded1e701775"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp313-cp313t-win_amd64.whl",
"has_sig": false,
"md5_digest": "99179e7778fff0b83b8f28c8404e1eab",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 269497,
"upload_time": "2025-02-01T14:39:40",
"upload_time_iso_8601": "2025-02-01T14:39:40.028529Z",
"url": "https://files.pythonhosted.org/packages/20/26/73646567b0e74b4abbf76b28d4728e698c6d36ddb413af36e8752c7d0595/siokcp-0.0.5-cp313-cp313t-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3c6a51c78cd012831e4bda73990fa1d1de2d025dd31391983816cb4b761f697e",
"md5": "c7141a0b0350d822d62e237476040527",
"sha256": "f24db30b0ede0709e6460ad83fc9f9aba01a692dfb6ee3bd15c255ea36fb77a8"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp313-cp313-win32.whl",
"has_sig": false,
"md5_digest": "c7141a0b0350d822d62e237476040527",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 243403,
"upload_time": "2025-02-01T14:39:35",
"upload_time_iso_8601": "2025-02-01T14:39:35.454258Z",
"url": "https://files.pythonhosted.org/packages/3c/6a/51c78cd012831e4bda73990fa1d1de2d025dd31391983816cb4b761f697e/siokcp-0.0.5-cp313-cp313-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4a631f30b423d4f21f88455af0bdb245de3a9db1e942d72cc76ab25eb86cd15e",
"md5": "0d0a2f1c9586ca34bcbe9e0a165832b6",
"sha256": "c5bf2c0a571cf8bd868db075b525105f9ee2b0766c0512fe31a2ac1909cfbe15"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "0d0a2f1c9586ca34bcbe9e0a165832b6",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 259094,
"upload_time": "2025-02-01T14:39:36",
"upload_time_iso_8601": "2025-02-01T14:39:36.576332Z",
"url": "https://files.pythonhosted.org/packages/4a/63/1f30b423d4f21f88455af0bdb245de3a9db1e942d72cc76ab25eb86cd15e/siokcp-0.0.5-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7c4bd20ccbdfd4e2b161bddc85a3275809e961de699e587b15a8a68ac4632e83",
"md5": "74061966646859f786a20268a94968a6",
"sha256": "c84e085638f0cdb6e7268499faf836bd47b9afe6b7850060611c387432c6b61f"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp38-cp38-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "74061966646859f786a20268a94968a6",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 343138,
"upload_time": "2025-02-01T14:39:06",
"upload_time_iso_8601": "2025-02-01T14:39:06.633287Z",
"url": "https://files.pythonhosted.org/packages/7c/4b/d20ccbdfd4e2b161bddc85a3275809e961de699e587b15a8a68ac4632e83/siokcp-0.0.5-cp38-cp38-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4d238b21867565a7ee34cf6d2679847c54650a01119d988de51f542038322153",
"md5": "36c1aee68adfe8077f0744a517c9f62d",
"sha256": "a9dd78b55cadafb0377851820347417a861713faf1fc5f8ca7725ca7e5dcdadc"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp38-cp38-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "36c1aee68adfe8077f0744a517c9f62d",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 262330,
"upload_time": "2025-02-01T14:39:09",
"upload_time_iso_8601": "2025-02-01T14:39:09.549481Z",
"url": "https://files.pythonhosted.org/packages/4d/23/8b21867565a7ee34cf6d2679847c54650a01119d988de51f542038322153/siokcp-0.0.5-cp38-cp38-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0fb42bb8da9822b0423886d2a88bf69db5d945d9916681b74209ed8ad022e659",
"md5": "f2e3395c036159ab21064b5400a1eeea",
"sha256": "36ec20f051ee0879b97099fbb167f9911efc1aaf566a26748cb2ecc0b23ec04b"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp38-cp38-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "f2e3395c036159ab21064b5400a1eeea",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 256567,
"upload_time": "2025-02-01T14:39:10",
"upload_time_iso_8601": "2025-02-01T14:39:10.741755Z",
"url": "https://files.pythonhosted.org/packages/0f/b4/2bb8da9822b0423886d2a88bf69db5d945d9916681b74209ed8ad022e659/siokcp-0.0.5-cp38-cp38-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "19ef53ea7ca57abaa47a668f5f79f5622fe1072815fc53dd9049c247fd61d525",
"md5": "c7848156864afe01c7a75456106f4005",
"sha256": "4c004c939896283222a4f282429dfe7c0a3392b7b85adcb974c48dd17b6ce689"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "c7848156864afe01c7a75456106f4005",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 243535,
"upload_time": "2025-02-01T14:39:41",
"upload_time_iso_8601": "2025-02-01T14:39:41.208342Z",
"url": "https://files.pythonhosted.org/packages/19/ef/53ea7ca57abaa47a668f5f79f5622fe1072815fc53dd9049c247fd61d525/siokcp-0.0.5-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f1d2051cd4a77dff556e98f8ab9a3d729445342cab97117fa801f9e981134543",
"md5": "1591ebd51142bc04828c2b0e7eeaa660",
"sha256": "b1f353ebfdb7bbc0db1cf6261271e63e7fa7a2e325b9881651a23d895ed88f16"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "1591ebd51142bc04828c2b0e7eeaa660",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 258729,
"upload_time": "2025-02-01T14:39:42",
"upload_time_iso_8601": "2025-02-01T14:39:42.312533Z",
"url": "https://files.pythonhosted.org/packages/f1/d2/051cd4a77dff556e98f8ab9a3d729445342cab97117fa801f9e981134543/siokcp-0.0.5-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "53c690caf482646b1fa271850171fe8d6c4a49de665a4ec8534d46ca76bb3f63",
"md5": "3b4b17adf62aa9220af07384bc592e08",
"sha256": "1fddbb3f803546286737cfa8626ce471e2e5b0d6c2c0d13881b8dfa6178b3f99"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp39-cp39-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "3b4b17adf62aa9220af07384bc592e08",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 342969,
"upload_time": "2025-02-01T14:39:12",
"upload_time_iso_8601": "2025-02-01T14:39:12.637971Z",
"url": "https://files.pythonhosted.org/packages/53/c6/90caf482646b1fa271850171fe8d6c4a49de665a4ec8534d46ca76bb3f63/siokcp-0.0.5-cp39-cp39-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c2b9301ca94478b3e52e23289d9270932544df0d3fe9a0568e59d2c09419fc67",
"md5": "36c9aa6421f67cec7fc995108aeb8e5d",
"sha256": "c304bb3e44073854b6332c5302c357c3bdbea3ceb6fd9be1ddf9177280b15055"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "36c9aa6421f67cec7fc995108aeb8e5d",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 262323,
"upload_time": "2025-02-01T14:39:13",
"upload_time_iso_8601": "2025-02-01T14:39:13.791782Z",
"url": "https://files.pythonhosted.org/packages/c2/b9/301ca94478b3e52e23289d9270932544df0d3fe9a0568e59d2c09419fc67/siokcp-0.0.5-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2c48abd312dbd6d47fd86a4c08672304d716bab86457dcbfae71ca69b0bbe786",
"md5": "15aaf9660e7eea78941d74bf00e33c04",
"sha256": "965b360c70b93f6fce2814c34f1a9ee9cb0c8c95f61e2897d52e825eebe51568"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "15aaf9660e7eea78941d74bf00e33c04",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 256426,
"upload_time": "2025-02-01T14:39:16",
"upload_time_iso_8601": "2025-02-01T14:39:16.786865Z",
"url": "https://files.pythonhosted.org/packages/2c/48/abd312dbd6d47fd86a4c08672304d716bab86457dcbfae71ca69b0bbe786/siokcp-0.0.5-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4430755004bb9ac0555f3d67624d829f7c85c6e3bd6d7110b5ac7c4cfb41c450",
"md5": "b70ba07663c9ca4cd76880febd4eb5aa",
"sha256": "a5f49195f083a716c0242f9f913bac1941da49fb3978f4e73ae31f454a998f03"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "b70ba07663c9ca4cd76880febd4eb5aa",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 243563,
"upload_time": "2025-02-01T14:39:43",
"upload_time_iso_8601": "2025-02-01T14:39:43.470852Z",
"url": "https://files.pythonhosted.org/packages/44/30/755004bb9ac0555f3d67624d829f7c85c6e3bd6d7110b5ac7c4cfb41c450/siokcp-0.0.5-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "15df8732c6537cdbcb65076e868020b78f04b00a7224ea0244df660a12a1eff8",
"md5": "656f2887b5f1f35929d5820eb5b0aff5",
"sha256": "909083e3a06dcc58acb395538071f95d76be1856ea4fbfa98c6394973b825260"
},
"downloads": -1,
"filename": "siokcp-0.0.5-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "656f2887b5f1f35929d5820eb5b0aff5",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 258705,
"upload_time": "2025-02-01T14:39:45",
"upload_time_iso_8601": "2025-02-01T14:39:45.450085Z",
"url": "https://files.pythonhosted.org/packages/15/df/8732c6537cdbcb65076e868020b78f04b00a7224ea0244df660a12a1eff8/siokcp-0.0.5-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cb6252060c679055200f5ebf76d0418b5e422ea6d0e0e6e5f592510604e0d238",
"md5": "bcdc45fd80f0d392b133d1d7744fd2bc",
"sha256": "919f3cff96f6d6d542e1863b63817a0a1f556d65a23e3b51ffcb8875eb862d6c"
},
"downloads": -1,
"filename": "siokcp-0.0.5-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "bcdc45fd80f0d392b133d1d7744fd2bc",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.6",
"size": 254181,
"upload_time": "2025-02-01T14:39:19",
"upload_time_iso_8601": "2025-02-01T14:39:19.468070Z",
"url": "https://files.pythonhosted.org/packages/cb/62/52060c679055200f5ebf76d0418b5e422ea6d0e0e6e5f592510604e0d238/siokcp-0.0.5-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7736948a07f527b3428576c983379e654cc8347d5cd169a9c47cc10ca3c7309d",
"md5": "02cfdded56ec3e6c7a1597a02d35038a",
"sha256": "9516149fb313cae38e82351d6db86616c1b41ad01d720f625e6780bb6e5de9be"
},
"downloads": -1,
"filename": "siokcp-0.0.5-pp310-pypy310_pp73-win_amd64.whl",
"has_sig": false,
"md5_digest": "02cfdded56ec3e6c7a1597a02d35038a",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.6",
"size": 254591,
"upload_time": "2025-02-01T14:39:47",
"upload_time_iso_8601": "2025-02-01T14:39:47.429712Z",
"url": "https://files.pythonhosted.org/packages/77/36/948a07f527b3428576c983379e654cc8347d5cd169a9c47cc10ca3c7309d/siokcp-0.0.5-pp310-pypy310_pp73-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8fc7816fb200d248cc5f30c83d8d6eb1f740942179158a13210ffdf84829c280",
"md5": "bb99b7ba25c71bb6beb0a3636515b430",
"sha256": "b5ee9e714c32ee619c6a2d1bf300be87cc828cb502c35a7862f4b65d5d0c6f65"
},
"downloads": -1,
"filename": "siokcp-0.0.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "bb99b7ba25c71bb6beb0a3636515b430",
"packagetype": "bdist_wheel",
"python_version": "pp38",
"requires_python": ">=3.6",
"size": 253538,
"upload_time": "2025-02-01T14:39:21",
"upload_time_iso_8601": "2025-02-01T14:39:21.722166Z",
"url": "https://files.pythonhosted.org/packages/8f/c7/816fb200d248cc5f30c83d8d6eb1f740942179158a13210ffdf84829c280/siokcp-0.0.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7177c04a66a42b89f472b8e434176fd2c72d082f3fbb6cf17b550ea33e47c3d8",
"md5": "18c3f852432b3ee6ca22d3d1619dfebc",
"sha256": "3362a928539baa842a52731b0bb01e2191b07becc231be1dc37b578748dba832"
},
"downloads": -1,
"filename": "siokcp-0.0.5-pp38-pypy38_pp73-win_amd64.whl",
"has_sig": false,
"md5_digest": "18c3f852432b3ee6ca22d3d1619dfebc",
"packagetype": "bdist_wheel",
"python_version": "pp38",
"requires_python": ">=3.6",
"size": 253729,
"upload_time": "2025-02-01T14:39:48",
"upload_time_iso_8601": "2025-02-01T14:39:48.608235Z",
"url": "https://files.pythonhosted.org/packages/71/77/c04a66a42b89f472b8e434176fd2c72d082f3fbb6cf17b550ea33e47c3d8/siokcp-0.0.5-pp38-pypy38_pp73-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "784dde038a487b1a7258a371fea234312ef4f7a54d0707e038263c96df3970d1",
"md5": "e00335fca93d97744b052fd27ad897a5",
"sha256": "60dd7c505790372c4a8ff43e96bf464ef5659f524d479547d40434bfd69e9c1c"
},
"downloads": -1,
"filename": "siokcp-0.0.5-pp39-pypy39_pp73-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "e00335fca93d97744b052fd27ad897a5",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.6",
"size": 254028,
"upload_time": "2025-02-01T14:39:23",
"upload_time_iso_8601": "2025-02-01T14:39:23.581813Z",
"url": "https://files.pythonhosted.org/packages/78/4d/de038a487b1a7258a371fea234312ef4f7a54d0707e038263c96df3970d1/siokcp-0.0.5-pp39-pypy39_pp73-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d01781fd9fb4daf4fc8ee2f3b0a1aafd4db9d748e9e1b50f3eeb8dbb020cbd44",
"md5": "1c0d2b17e9a43ef196e2d0bda9af1f7e",
"sha256": "b9e41b9a59dc5514b55f2633f726ae7dff8b968ff2be18b0abd8e004816f7758"
},
"downloads": -1,
"filename": "siokcp-0.0.5-pp39-pypy39_pp73-win_amd64.whl",
"has_sig": false,
"md5_digest": "1c0d2b17e9a43ef196e2d0bda9af1f7e",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.6",
"size": 254444,
"upload_time": "2025-02-01T14:39:49",
"upload_time_iso_8601": "2025-02-01T14:39:49.707744Z",
"url": "https://files.pythonhosted.org/packages/d0/17/81fd9fb4daf4fc8ee2f3b0a1aafd4db9d748e9e1b50f3eeb8dbb020cbd44/siokcp-0.0.5-pp39-pypy39_pp73-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-01 14:38:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "synodriver",
"github_project": "siokcp",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "Cython",
"specs": [
[
">=",
"3.1.0a1"
]
]
},
{
"name": "packaging",
"specs": []
}
],
"lcname": "siokcp"
}