cynes


Namecynes JSON
Version 0.0.4 PyPI version JSON
download
home_pagehttps://github.com/Youlixx/cynes
SummaryC/C++ NES emulator with Python bindings
upload_time2024-03-19 14:44:20
maintainer
docs_urlNone
authorTheo Combey
requires_python>=3.6
licenseGPL-3.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# cynes - C/C++ NES emulator with Python bindings
cynes is a lightweight multiplatform NES emulator providing a simple Python interface. The core of the emulation is based on the very complete documentation provided by the [Nesdev Wiki](https://wiki.nesdev.com/w/index.php?title=NES_reference_guide). The current implementation consists of
 - A cycle-accurate CPU emulation
 - A cycle-accurate PPU emulation
 - A cycle-accurate APU emulation (even though it does not produce any sound)
 - Few basic NES mappers (more to come)

The Python bindings allow to interact easily with one or several NES emulators at the same time, ideal for machine learning application.

## Installation
cynes can be installed using pip :
```
pip install cynes
```

It can also be built from source using [cython](https://github.com/cython/cython).
```
python setup.py build
```

## How to use
A cynes NES emulator can be created by instanticiating a new NES object. The following code is the minimal code to run a ROM file.
```python
from cynes import NES

# We initialize a new emulator by specifying the ROM file used
nes = NES("smb.nes")

# While the emulator should not be close, we can continue the emulation
while not nes.should_close():
    # The step method run the emulation for a single frame
    # It also returns the content of the frame buffer as a numpy array
    frame = nes.step()
```
Multiple emulators can be created at once by instantiating several NES objects.

### Windowed / Headless modes
A cynes NES emulator can either be run in windowed or headless mode.
```python
from cynes import NESHeadless, NES

# We can create a NES emulator without a rendering window
nes_headless = NESHeadless("smb.nes")

# And with the rendering window
nes = NES("smb.nes")
```
While the rendering overhead is quite small, running in headless mode can improve the performances when the window is not needed. The content of the frame buffer can still be accessed in the same way as previously, using the `step` method.

### Controller
The state of the controller can be directly modified using the following syntax :
```python
from cynes import *

# Simple input
nes.controller = NES_INPUT_RIGHT

# Multiple button presses at once
nes.controller = NES_INPUT_RIGHT | NES_INPUT_A

# Chaining multiple button presses at once
nes.controller = NES_INPUT_START 
nes.controller |= NES_INPUT_B 
nes.controller |= NES_INPUT_SELECT

# Undefined behavior
nes.controller = NES_INPUT_RIGHT | NES_INPUT_LEFT
nes.controller = NES_INPUT_DOWN | NES_INPUT_UP

# Run the emulator with the specified controller state for 5 frames
nes.step(frames=5)
```
Note that the state of the controller is maintain even after the `step` method is called. This means that it has to be reset to 0 to release the buttons. 

Two controllers can be used at the same time. The state of the second controller can be modified by updating the 8 most significant bits of the same variable.

```python
# P1 will press left and P2 will press the right button
nes.controller = NES_INPUT_LEFT | NES_INPUT_RIGHT << 8
```

### Key handlers
Key handlers are a simple way of associating custom actions to shortcuts. This feature is only present with the windowed mode. The key events (and their associated handlers) are fired when calling the `step` method.
```python
# Disable the default window controls
nes = NES("smb.nes", default_handlers=False)

# Custom key handlers can be defined using the register method
import sdl2

def kill():
    nes.close()

nes.register(sdl2.SDL_SCANCODE_O, kill)
```
By default, the emulator comes with key handlers that map window keys to the controller buttons. The mapping is the following :
 - the arrow keys for the D-pad
 - the keys X and Z for the A and B buttons respectively
 - the keys A and S for the SELECT and START buttons respectively

### Save states
The state of the emulator can be saved as a numpy array and later be restored.
```python
# The state of the emulator can be dump using the save method
save_state = nes.save()

# And restored using the load method
nes.load(save_state)
```
Memory modification should never be performed directly on a save state, as it is prone to memory corruption. Theses two methods can be quite slow, therefore, they should be called sparsely.

### Memory access
The memory of the emulator can be read from and written to using the following syntax :
```python
# The memory content can be accessed as if the emulator was an array
player_state = nes[0x000E]

# And can be written in a similar fashion
nes[0x075A] = 0x8
```
Note that only the CPU RAM `$0000 - $1FFFF` and the mapper RAM `$6000 - $7FFF` should be accessed. Trying to read / write a value to other addresses may desynchronize the components of the emulator, resulting in a undefined behavior.

### Closing
An emulator is automatically closed when the object is released by Python. In windowed mode, the `close` method can be use to close the window without having to wait for Python to release the object.
It can also be closed manualy using the `close` method.
```python
# In windowed mode, this can be use to close the window
nes.close()

# Deleting the emulator in windowed mode also closes the window
del nes

# The method should_close indicates whether or not the emulator function should be called
nes.close()
nes.should_close() # True
```
When the emulator is closed, but the object is not deleted yet, the `should_close` method will return True, indicating that calling any NES function will not work properly. This method can also return True in two other cases :
 - When the CPU of the emulator is frozen. When the CPU hits a JAM instruction (illegal opcode), it is frozen until the emulator is reset. This should never happen, but memory corruptions can cause them, so be careful when accessing the NES memory.
 - In windowed mode, when the window is closed or when the ESC key is pressed.

## License
This project is licensed under GPL-3.0

```plain
cynes - C/C++ NES emulator with Python bindings
Copyright (C) 2021  Combey Theo

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Youlixx/cynes",
    "name": "cynes",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "Theo Combey",
    "author_email": "combey.theo@hotmail.com",
    "download_url": "https://files.pythonhosted.org/packages/39/a1/2eebdbaedd6122459efdc32721974d2ac8311f26448e66d074eff604a675/cynes-0.0.4.tar.gz",
    "platform": null,
    "description": "\n# cynes - C/C++ NES emulator with Python bindings\ncynes is a lightweight multiplatform NES emulator providing a simple Python interface. The core of the emulation is based on the very complete documentation provided by the [Nesdev Wiki](https://wiki.nesdev.com/w/index.php?title=NES_reference_guide). The current implementation consists of\n - A cycle-accurate CPU emulation\n - A cycle-accurate PPU emulation\n - A cycle-accurate APU emulation (even though it does not produce any sound)\n - Few basic NES mappers (more to come)\n\nThe Python bindings allow to interact easily with one or several NES emulators at the same time, ideal for machine learning application.\n\n## Installation\ncynes can be installed using pip :\n```\npip install cynes\n```\n\nIt can also be built from source using [cython](https://github.com/cython/cython).\n```\npython setup.py build\n```\n\n## How to use\nA cynes NES emulator can be created by instanticiating a new NES object. The following code is the minimal code to run a ROM file.\n```python\nfrom cynes import NES\n\n# We initialize a new emulator by specifying the ROM file used\nnes = NES(\"smb.nes\")\n\n# While the emulator should not be close, we can continue the emulation\nwhile not nes.should_close():\n    # The step method run the emulation for a single frame\n    # It also returns the content of the frame buffer as a numpy array\n    frame = nes.step()\n```\nMultiple emulators can be created at once by instantiating several NES objects.\n\n### Windowed / Headless modes\nA cynes NES emulator can either be run in windowed or headless mode.\n```python\nfrom cynes import NESHeadless, NES\n\n# We can create a NES emulator without a rendering window\nnes_headless = NESHeadless(\"smb.nes\")\n\n# And with the rendering window\nnes = NES(\"smb.nes\")\n```\nWhile the rendering overhead is quite small, running in headless mode can improve the performances when the window is not needed. The content of the frame buffer can still be accessed in the same way as previously, using the `step` method.\n\n### Controller\nThe state of the controller can be directly modified using the following syntax :\n```python\nfrom cynes import *\n\n# Simple input\nnes.controller = NES_INPUT_RIGHT\n\n# Multiple button presses at once\nnes.controller = NES_INPUT_RIGHT | NES_INPUT_A\n\n# Chaining multiple button presses at once\nnes.controller = NES_INPUT_START \nnes.controller |= NES_INPUT_B \nnes.controller |= NES_INPUT_SELECT\n\n# Undefined behavior\nnes.controller = NES_INPUT_RIGHT | NES_INPUT_LEFT\nnes.controller = NES_INPUT_DOWN | NES_INPUT_UP\n\n# Run the emulator with the specified controller state for 5 frames\nnes.step(frames=5)\n```\nNote that the state of the controller is maintain even after the `step` method is called. This means that it has to be reset to 0 to release the buttons. \n\nTwo controllers can be used at the same time. The state of the second controller can be modified by updating the 8 most significant bits of the same variable.\n\n```python\n# P1 will press left and P2 will press the right button\nnes.controller = NES_INPUT_LEFT | NES_INPUT_RIGHT << 8\n```\n\n### Key handlers\nKey handlers are a simple way of associating custom actions to shortcuts. This feature is only present with the windowed mode. The key events (and their associated handlers) are fired when calling the `step` method.\n```python\n# Disable the default window controls\nnes = NES(\"smb.nes\", default_handlers=False)\n\n# Custom key handlers can be defined using the register method\nimport sdl2\n\ndef kill():\n    nes.close()\n\nnes.register(sdl2.SDL_SCANCODE_O, kill)\n```\nBy default, the emulator comes with key handlers that map window keys to the controller buttons. The mapping is the following :\n - the arrow keys for the D-pad\n - the keys X and Z for the A and B buttons respectively\n - the keys A and S for the SELECT and START buttons respectively\n\n### Save states\nThe state of the emulator can be saved as a numpy array and later be restored.\n```python\n# The state of the emulator can be dump using the save method\nsave_state = nes.save()\n\n# And restored using the load method\nnes.load(save_state)\n```\nMemory modification should never be performed directly on a save state, as it is prone to memory corruption. Theses two methods can be quite slow, therefore, they should be called sparsely.\n\n### Memory access\nThe memory of the emulator can be read from and written to using the following syntax :\n```python\n# The memory content can be accessed as if the emulator was an array\nplayer_state = nes[0x000E]\n\n# And can be written in a similar fashion\nnes[0x075A] = 0x8\n```\nNote that only the CPU RAM `$0000 - $1FFFF` and the mapper RAM `$6000 - $7FFF` should be accessed. Trying to read / write a value to other addresses may desynchronize the components of the emulator, resulting in a undefined behavior.\n\n### Closing\nAn emulator is automatically closed when the object is released by Python. In windowed mode, the `close` method can be use to close the window without having to wait for Python to release the object.\nIt can also be closed manualy using the `close` method.\n```python\n# In windowed mode, this can be use to close the window\nnes.close()\n\n# Deleting the emulator in windowed mode also closes the window\ndel nes\n\n# The method should_close indicates whether or not the emulator function should be called\nnes.close()\nnes.should_close() # True\n```\nWhen the emulator is closed, but the object is not deleted yet, the `should_close` method will return True, indicating that calling any NES function will not work properly. This method can also return True in two other cases :\n - When the CPU of the emulator is frozen. When the CPU hits a JAM instruction (illegal opcode), it is frozen until the emulator is reset. This should never happen, but memory corruptions can cause them, so be careful when accessing the NES memory.\n - In windowed mode, when the window is closed or when the ESC key is pressed.\n\n## License\nThis project is licensed under GPL-3.0\n\n```plain\ncynes - C/C++ NES emulator with Python bindings\nCopyright (C) 2021  Combey Theo\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see <https://www.gnu.org/licenses/>.\n```\n",
    "bugtrack_url": null,
    "license": "GPL-3.0",
    "summary": "C/C++ NES emulator with Python bindings",
    "version": "0.0.4",
    "project_urls": {
        "Homepage": "https://github.com/Youlixx/cynes"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e5d334038384c930d75da321b29486b1ee85daa8bcbff4804c0c5730d02f28d7",
                "md5": "a0042a9f482eedc59556830aa4bce81e",
                "sha256": "374ad4bd7b8cc991ef9a289fc9ad01470a305b8fa6e8e8064cd5bc010e315fce"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a0042a9f482eedc59556830aa4bce81e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 128255,
            "upload_time": "2024-03-19T14:43:04",
            "upload_time_iso_8601": "2024-03-19T14:43:04.389896Z",
            "url": "https://files.pythonhosted.org/packages/e5/d3/34038384c930d75da321b29486b1ee85daa8bcbff4804c0c5730d02f28d7/cynes-0.0.4-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e416f533bd3e38aaadc18ae50d36b60a33a6c823c26045e662136bd4fe1e5f1",
                "md5": "9e702bdc6450b883183f5b1f6841b3f9",
                "sha256": "cff75dad5ad1c7da6f91fe6db2911a387dd44aa83758c7a8a19b8250d98ccbee"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "9e702bdc6450b883183f5b1f6841b3f9",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 124533,
            "upload_time": "2024-03-19T14:43:05",
            "upload_time_iso_8601": "2024-03-19T14:43:05.483497Z",
            "url": "https://files.pythonhosted.org/packages/4e/41/6f533bd3e38aaadc18ae50d36b60a33a6c823c26045e662136bd4fe1e5f1/cynes-0.0.4-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "46dd99280c054476920c25e52c56a4d4513f42e82b9644fddf25b106b0217e4a",
                "md5": "d46cd9e2aee8c121c581d6b1e47b508a",
                "sha256": "b09391c324ef80849cd31495d39419c5443ed2a86c366012b3fb6de89ac5234a"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d46cd9e2aee8c121c581d6b1e47b508a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 653545,
            "upload_time": "2024-03-19T14:43:06",
            "upload_time_iso_8601": "2024-03-19T14:43:06.695910Z",
            "url": "https://files.pythonhosted.org/packages/46/dd/99280c054476920c25e52c56a4d4513f42e82b9644fddf25b106b0217e4a/cynes-0.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "13086d46dd912ceeffba692e59d1c48ac097c9f7336d9028540c129e005fc6eb",
                "md5": "ede29fbb4c8f218bbabceee21ef9822a",
                "sha256": "657e2e4a0e7ce82e0bd777923c3672a703cedc4088e8fa1bad2d9a6c1886e432"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "ede29fbb4c8f218bbabceee21ef9822a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 630638,
            "upload_time": "2024-03-19T14:43:07",
            "upload_time_iso_8601": "2024-03-19T14:43:07.868612Z",
            "url": "https://files.pythonhosted.org/packages/13/08/6d46dd912ceeffba692e59d1c48ac097c9f7336d9028540c129e005fc6eb/cynes-0.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "02986f7d3dbda9456270f82f11d2ceada13a09d88ebc5ab6657307536a72b2e0",
                "md5": "1c152fc068cea226bf25258bdf4d0a0b",
                "sha256": "1c4dbef5a5049fe8ca220a35f4b2e8b15fd968eb082b358a22ac55cfb8f2771c"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp310-cp310-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "1c152fc068cea226bf25258bdf4d0a0b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 1196098,
            "upload_time": "2024-03-19T14:43:09",
            "upload_time_iso_8601": "2024-03-19T14:43:09.548465Z",
            "url": "https://files.pythonhosted.org/packages/02/98/6f7d3dbda9456270f82f11d2ceada13a09d88ebc5ab6657307536a72b2e0/cynes-0.0.4-cp310-cp310-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4675ad86751219b280b29a51ce24922a673c9d7b4e938bf5207058100b4131c4",
                "md5": "e9a6a67e28a29ad0d1e378c51a9931cb",
                "sha256": "fca31a9952188d9537b8db5ed122da81aff8042c7375e6dc9d751ec0a7a6418d"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e9a6a67e28a29ad0d1e378c51a9931cb",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 1175555,
            "upload_time": "2024-03-19T14:43:10",
            "upload_time_iso_8601": "2024-03-19T14:43:10.850063Z",
            "url": "https://files.pythonhosted.org/packages/46/75/ad86751219b280b29a51ce24922a673c9d7b4e938bf5207058100b4131c4/cynes-0.0.4-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5bdd370d3605a0214834c37e9ff09916920733b3c588e375bc33d498a7d7e3ce",
                "md5": "3aeceb831f5ab1a9fcfe92a5147b8d91",
                "sha256": "1a5f6ce1d5e0be3d89fe78f981ddce2ab48cf633f09c34e0245ed10eb4a4f3c5"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "3aeceb831f5ab1a9fcfe92a5147b8d91",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 91746,
            "upload_time": "2024-03-19T14:43:12",
            "upload_time_iso_8601": "2024-03-19T14:43:12.106074Z",
            "url": "https://files.pythonhosted.org/packages/5b/dd/370d3605a0214834c37e9ff09916920733b3c588e375bc33d498a7d7e3ce/cynes-0.0.4-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a8123f9f877c1fb7ab6adaa6166493003b04e840259626ca89da310aa20951e",
                "md5": "7c6fdebfbb14a5afaac85d9e801c81a5",
                "sha256": "f4d15edb32727e8f965a911c87a19013339f521854e7cf6a1c627e7dd0012c55"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7c6fdebfbb14a5afaac85d9e801c81a5",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 105891,
            "upload_time": "2024-03-19T14:43:13",
            "upload_time_iso_8601": "2024-03-19T14:43:13.098774Z",
            "url": "https://files.pythonhosted.org/packages/2a/81/23f9f877c1fb7ab6adaa6166493003b04e840259626ca89da310aa20951e/cynes-0.0.4-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aaa10063c334974aef4cd56d496e9227b56ccae96e7321c108d7093d680ff504",
                "md5": "286b23ca3f67d14b7e68c2d1a7f5e56e",
                "sha256": "58d5e6ea716846bfac1c2ac4b79363b3fa900497f62539d681379e604416af44"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "286b23ca3f67d14b7e68c2d1a7f5e56e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 128299,
            "upload_time": "2024-03-19T14:43:15",
            "upload_time_iso_8601": "2024-03-19T14:43:15.224210Z",
            "url": "https://files.pythonhosted.org/packages/aa/a1/0063c334974aef4cd56d496e9227b56ccae96e7321c108d7093d680ff504/cynes-0.0.4-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "da78533de8b9a531a6634ae9f7673304ae0758eee426ce2d2c24ff2e1174c98f",
                "md5": "748326e34a695398ff30ec6188b4d7d0",
                "sha256": "2516d9ce62d6f882e4a8da6c57f043145d5ecc2cd2a29de017cd7d6daf2e5ac8"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "748326e34a695398ff30ec6188b4d7d0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 124436,
            "upload_time": "2024-03-19T14:43:17",
            "upload_time_iso_8601": "2024-03-19T14:43:17.257700Z",
            "url": "https://files.pythonhosted.org/packages/da/78/533de8b9a531a6634ae9f7673304ae0758eee426ce2d2c24ff2e1174c98f/cynes-0.0.4-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3fd8a4ad3cb99e92024a968dd5024cf54aa02f1c15d6d4f3355886d4c3da967e",
                "md5": "eb55747b3bfb94d48fc6f9fd711a39a6",
                "sha256": "b48d64c1bcab4ca9fe0c8d092d5715fdce9b7df5cfaa613e63ed7ad7a8f90d13"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "eb55747b3bfb94d48fc6f9fd711a39a6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 689647,
            "upload_time": "2024-03-19T14:43:18",
            "upload_time_iso_8601": "2024-03-19T14:43:18.301636Z",
            "url": "https://files.pythonhosted.org/packages/3f/d8/a4ad3cb99e92024a968dd5024cf54aa02f1c15d6d4f3355886d4c3da967e/cynes-0.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c6a541f385df0987afdbfb5dd7b72237fc8e28d5324e52d114e2e476f7d7721b",
                "md5": "d7779563836c95ea2f272ebf18b7aaea",
                "sha256": "c9bd9d826f685c6d89c3075ea48a440626c6f3510acda0a82714e1b0993b8026"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "d7779563836c95ea2f272ebf18b7aaea",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 668014,
            "upload_time": "2024-03-19T14:43:19",
            "upload_time_iso_8601": "2024-03-19T14:43:19.519394Z",
            "url": "https://files.pythonhosted.org/packages/c6/a5/41f385df0987afdbfb5dd7b72237fc8e28d5324e52d114e2e476f7d7721b/cynes-0.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d8794cac355152a9987cb588c95237febd1273a439e7ceeb2758a79a5baa2844",
                "md5": "6db076c7a57c4e6a084bdcd6eb95875a",
                "sha256": "1c4b19e5376331c6a1bcb730a7dbfe19bd5f8e86eca068c20282177af060f247"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp311-cp311-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "6db076c7a57c4e6a084bdcd6eb95875a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 1228952,
            "upload_time": "2024-03-19T14:43:21",
            "upload_time_iso_8601": "2024-03-19T14:43:21.475764Z",
            "url": "https://files.pythonhosted.org/packages/d8/79/4cac355152a9987cb588c95237febd1273a439e7ceeb2758a79a5baa2844/cynes-0.0.4-cp311-cp311-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c70d360a2b1cc6ed126910699a75a413737434a354d4d276ea272a2794bd3fda",
                "md5": "e7e63225ef434b70a36ee251d3d8e57c",
                "sha256": "e3b2338d2bb9e1306d9e0bc56b626ea86ab1bd0d0a9c1c69700b4e266423d4c3"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e7e63225ef434b70a36ee251d3d8e57c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 1217207,
            "upload_time": "2024-03-19T14:43:23",
            "upload_time_iso_8601": "2024-03-19T14:43:23.156013Z",
            "url": "https://files.pythonhosted.org/packages/c7/0d/360a2b1cc6ed126910699a75a413737434a354d4d276ea272a2794bd3fda/cynes-0.0.4-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "19c0b0c55a71595f7fab89bfc6103c89625db5ed0f7b5ac8d7f9e2a8fd89cba6",
                "md5": "b5cca1443334664784b9b8ed4b31705f",
                "sha256": "bb7965a4ee87c0a45e07ada810c541c3d3eb287cce1c7ecbd75589fa315ebbc5"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "b5cca1443334664784b9b8ed4b31705f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 91263,
            "upload_time": "2024-03-19T14:43:24",
            "upload_time_iso_8601": "2024-03-19T14:43:24.318634Z",
            "url": "https://files.pythonhosted.org/packages/19/c0/b0c55a71595f7fab89bfc6103c89625db5ed0f7b5ac8d7f9e2a8fd89cba6/cynes-0.0.4-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "92b6b5dc858a170e8c2dd31b39b7d085595685832b3d7cf5ca68c06713aa885d",
                "md5": "edd6ea43ae9fc2ef2f8077eabc6ba7f6",
                "sha256": "4c2d9e6cc93c9ddcf88a79f7cabd7eacb1f3fc790b52098fdf749c0f9a27bf29"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "edd6ea43ae9fc2ef2f8077eabc6ba7f6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 105904,
            "upload_time": "2024-03-19T14:43:25",
            "upload_time_iso_8601": "2024-03-19T14:43:25.255481Z",
            "url": "https://files.pythonhosted.org/packages/92/b6/b5dc858a170e8c2dd31b39b7d085595685832b3d7cf5ca68c06713aa885d/cynes-0.0.4-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5dc35abc712c7032c3d0e00db22405953ad8d9c85194feef12c3b227739d173b",
                "md5": "56c6d007e0991a1bd0726593784f501b",
                "sha256": "3f55c5b6e9037b8e41d7974473a63fc8a8d5f6d643f9be6540bd8d3e009e80dd"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "56c6d007e0991a1bd0726593784f501b",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 130462,
            "upload_time": "2024-03-19T14:43:26",
            "upload_time_iso_8601": "2024-03-19T14:43:26.234644Z",
            "url": "https://files.pythonhosted.org/packages/5d/c3/5abc712c7032c3d0e00db22405953ad8d9c85194feef12c3b227739d173b/cynes-0.0.4-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "65a2fc85ff7f1ea7091b9ae27e5a952e2c90e82625d33012f40783a9416b33e7",
                "md5": "208ff956009c7eb85c54dc293fc70b9e",
                "sha256": "981e52560bafff1949b5b828fdbfe6ed526dd875a1be35fe2b7b51cc255d3f2a"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "208ff956009c7eb85c54dc293fc70b9e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 125475,
            "upload_time": "2024-03-19T14:43:27",
            "upload_time_iso_8601": "2024-03-19T14:43:27.312317Z",
            "url": "https://files.pythonhosted.org/packages/65/a2/fc85ff7f1ea7091b9ae27e5a952e2c90e82625d33012f40783a9416b33e7/cynes-0.0.4-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4b543fe3d71bf493940d605a4468494238497c722f6a23434a4ddcc9870f1fc9",
                "md5": "24004efa14f8066aadaa94d17eb815ce",
                "sha256": "f74a58f69802ea696f603639f9d3c79e9c2eb11beceb1a930aa7e677f7cb7a78"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "24004efa14f8066aadaa94d17eb815ce",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 693801,
            "upload_time": "2024-03-19T14:43:29",
            "upload_time_iso_8601": "2024-03-19T14:43:29.382081Z",
            "url": "https://files.pythonhosted.org/packages/4b/54/3fe3d71bf493940d605a4468494238497c722f6a23434a4ddcc9870f1fc9/cynes-0.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d1ff9707a5eba375cd0a4f6bd76a9d6d01e977d1acc0921c109e349ea90b5a88",
                "md5": "e0bfd012653734f2c1f7d6d73c5df794",
                "sha256": "377ef6c86b980a5b1cf3110f1fac37776579c8b4e5df3ad7ce882a5de71f1b0d"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "e0bfd012653734f2c1f7d6d73c5df794",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 666515,
            "upload_time": "2024-03-19T14:43:30",
            "upload_time_iso_8601": "2024-03-19T14:43:30.590242Z",
            "url": "https://files.pythonhosted.org/packages/d1/ff/9707a5eba375cd0a4f6bd76a9d6d01e977d1acc0921c109e349ea90b5a88/cynes-0.0.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4df369c0377c551cfbab3680f5713aa27e1afb48316fe28005015dcd9028c4fd",
                "md5": "4004db66a79d16cbc5cff7d34b86d5e6",
                "sha256": "30aff1a10e455479ca2dc33cc482c3f7d575163bfe3b1ec3751181884d7ed302"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp312-cp312-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "4004db66a79d16cbc5cff7d34b86d5e6",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 1231218,
            "upload_time": "2024-03-19T14:43:31",
            "upload_time_iso_8601": "2024-03-19T14:43:31.787982Z",
            "url": "https://files.pythonhosted.org/packages/4d/f3/69c0377c551cfbab3680f5713aa27e1afb48316fe28005015dcd9028c4fd/cynes-0.0.4-cp312-cp312-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dd388c0046b7f531718262d4ecf6ccedfc8726ed1794908a862eb2263633970a",
                "md5": "dd2fdd18b8084c5929b35f698ab04501",
                "sha256": "4bdc8e2debc7f65401b48390dcec12ed91b529e5e071feb71ae596d012cc3d35"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp312-cp312-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "dd2fdd18b8084c5929b35f698ab04501",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 1223377,
            "upload_time": "2024-03-19T14:43:32",
            "upload_time_iso_8601": "2024-03-19T14:43:32.913965Z",
            "url": "https://files.pythonhosted.org/packages/dd/38/8c0046b7f531718262d4ecf6ccedfc8726ed1794908a862eb2263633970a/cynes-0.0.4-cp312-cp312-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3f992d3cfc1159186144c31c606ef15b4eb432ef08887ad143fecc067842a5d2",
                "md5": "c0f72c7985588fe9421a0402b3afb94e",
                "sha256": "080a3ca2e7cd91fe137b646629ad405b7fd1b825bf29de2eeb23f40e522c8c69"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "c0f72c7985588fe9421a0402b3afb94e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 91837,
            "upload_time": "2024-03-19T14:43:34",
            "upload_time_iso_8601": "2024-03-19T14:43:34.613363Z",
            "url": "https://files.pythonhosted.org/packages/3f/99/2d3cfc1159186144c31c606ef15b4eb432ef08887ad143fecc067842a5d2/cynes-0.0.4-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d9b62600c079b1c213f544f9446821e2742ca66953733ef9a1cecc78df9ca861",
                "md5": "09e41d6b44ddab4de4cec5756dab91a4",
                "sha256": "e38e9e2f891fe116fe96cdcf30089e3a787bc405e8a5d5e6d06179e129a1a3bb"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "09e41d6b44ddab4de4cec5756dab91a4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 106685,
            "upload_time": "2024-03-19T14:43:35",
            "upload_time_iso_8601": "2024-03-19T14:43:35.894943Z",
            "url": "https://files.pythonhosted.org/packages/d9/b6/2600c079b1c213f544f9446821e2742ca66953733ef9a1cecc78df9ca861/cynes-0.0.4-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fc7aa245b9e4d5f96f5feb6637e6196cd368efb659fc8a42ce53dc4d40740df7",
                "md5": "ca5294dd9605c377d092f119f33c1a77",
                "sha256": "2419541d23cf95c912eb5b008da2d9905d596ff52b31206e8b3725f8e63aec56"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp36-cp36m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ca5294dd9605c377d092f119f33c1a77",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 138489,
            "upload_time": "2024-03-19T14:43:37",
            "upload_time_iso_8601": "2024-03-19T14:43:37.147873Z",
            "url": "https://files.pythonhosted.org/packages/fc/7a/a245b9e4d5f96f5feb6637e6196cd368efb659fc8a42ce53dc4d40740df7/cynes-0.0.4-cp36-cp36m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2e7912c9f98f5c6bfc704d81da11418e6d319799c41d0a8358d3b0fb70df5098",
                "md5": "33dd4b65fe203c5eaf21fed0c7b71062",
                "sha256": "dcbd8303360f5b6de36d1614fc5aae4927a0a84da01fe28e3b64c9d7553c25fc"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "33dd4b65fe203c5eaf21fed0c7b71062",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 608942,
            "upload_time": "2024-03-19T14:43:38",
            "upload_time_iso_8601": "2024-03-19T14:43:38.857894Z",
            "url": "https://files.pythonhosted.org/packages/2e/79/12c9f98f5c6bfc704d81da11418e6d319799c41d0a8358d3b0fb70df5098/cynes-0.0.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d79e1d9266ad7f2f3d8dd93f6e0a4174fe299d20d6a1094096feafc312347e47",
                "md5": "df52d56ca514469b3abae5be8acdc029",
                "sha256": "09b51064d859e1d1d9a98b249545559b06affbae7a919df850be251aea0a46e1"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "df52d56ca514469b3abae5be8acdc029",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 585829,
            "upload_time": "2024-03-19T14:43:40",
            "upload_time_iso_8601": "2024-03-19T14:43:40.480866Z",
            "url": "https://files.pythonhosted.org/packages/d7/9e/1d9266ad7f2f3d8dd93f6e0a4174fe299d20d6a1094096feafc312347e47/cynes-0.0.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ec9397aacc1a207a43ec96d1210b7c912331c11758e33c171bce9a7344d0dd43",
                "md5": "3f300f22c38cc34d28b2b7adf9fa5209",
                "sha256": "8226eeb8b15eeffb6af81db28fa7f7129e28867d709830991306d153bf981f9b"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp36-cp36m-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "3f300f22c38cc34d28b2b7adf9fa5209",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 1153184,
            "upload_time": "2024-03-19T14:43:41",
            "upload_time_iso_8601": "2024-03-19T14:43:41.681307Z",
            "url": "https://files.pythonhosted.org/packages/ec/93/97aacc1a207a43ec96d1210b7c912331c11758e33c171bce9a7344d0dd43/cynes-0.0.4-cp36-cp36m-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a41e3bfd1dd66b3be6fab33b1554e6acdb17ab7d1e1936f65a084a5b3fa4e54",
                "md5": "3d066b94b0dbfce91ba755c2eff6bbe8",
                "sha256": "721cb9f59f53638cbb7000b03d50cd5401f0a0f3c53ef959ee1c0863a8f42c39"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp36-cp36m-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3d066b94b0dbfce91ba755c2eff6bbe8",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 1129715,
            "upload_time": "2024-03-19T14:43:42",
            "upload_time_iso_8601": "2024-03-19T14:43:42.990004Z",
            "url": "https://files.pythonhosted.org/packages/2a/41/e3bfd1dd66b3be6fab33b1554e6acdb17ab7d1e1936f65a084a5b3fa4e54/cynes-0.0.4-cp36-cp36m-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "36a8d3c70f7dd458d8e344c97743572f5ea387bef9b558ccfc4569ee8fab053b",
                "md5": "6868e69a1a4f141ac0aa9f6ab7bde7e4",
                "sha256": "07042b6b62e99894aefe41765f84c9ce83436965ecd16969144fc344eedceb74"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp36-cp36m-win32.whl",
            "has_sig": false,
            "md5_digest": "6868e69a1a4f141ac0aa9f6ab7bde7e4",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 110630,
            "upload_time": "2024-03-19T14:43:44",
            "upload_time_iso_8601": "2024-03-19T14:43:44.191072Z",
            "url": "https://files.pythonhosted.org/packages/36/a8/d3c70f7dd458d8e344c97743572f5ea387bef9b558ccfc4569ee8fab053b/cynes-0.0.4-cp36-cp36m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "da4607569e1157a716a79142ecc939cd34ab8785b53b4a9ae4026716289f4bb1",
                "md5": "789b69bb15193afc7fa8014fb94b7d04",
                "sha256": "7150a4e0161f9e15ce61e5f8d0a791df534f558445af9cf7d00acbb5c0667c55"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp36-cp36m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "789b69bb15193afc7fa8014fb94b7d04",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 131549,
            "upload_time": "2024-03-19T14:43:45",
            "upload_time_iso_8601": "2024-03-19T14:43:45.419898Z",
            "url": "https://files.pythonhosted.org/packages/da/46/07569e1157a716a79142ecc939cd34ab8785b53b4a9ae4026716289f4bb1/cynes-0.0.4-cp36-cp36m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f4eb6d9462e035b6b1be1894c03db4d20798e61fb2af1402ceaafbbbb738035a",
                "md5": "52aa757ae065aecdf5baa90a66d7c5a7",
                "sha256": "eac67cc543a342ddef4e096efc1f325f9595f54a8ccaa367e3af8864e960b7fb"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp37-cp37m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "52aa757ae065aecdf5baa90a66d7c5a7",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 129619,
            "upload_time": "2024-03-19T14:43:46",
            "upload_time_iso_8601": "2024-03-19T14:43:46.557996Z",
            "url": "https://files.pythonhosted.org/packages/f4/eb/6d9462e035b6b1be1894c03db4d20798e61fb2af1402ceaafbbbb738035a/cynes-0.0.4-cp37-cp37m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "62d595fca111864f7f5027dd1404e69a20c89becd28cf8f50c408c0b44f7c85a",
                "md5": "a6b6b2cb80f9cb8176147eae300a0621",
                "sha256": "aef65c76454347e6c1024c181622d089be85800ffb7e9b623b94c239eb2251f3"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a6b6b2cb80f9cb8176147eae300a0621",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 619212,
            "upload_time": "2024-03-19T14:43:47",
            "upload_time_iso_8601": "2024-03-19T14:43:47.650881Z",
            "url": "https://files.pythonhosted.org/packages/62/d5/95fca111864f7f5027dd1404e69a20c89becd28cf8f50c408c0b44f7c85a/cynes-0.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5603d2dd9b96c1ae9d26330ca6409e3bcd4b3ab875ed0cfcfc43cf339cbddf77",
                "md5": "af4b7546ea5e61219283f7cd7809c485",
                "sha256": "2f101ae718fd4210c0905fe80fabbe36ba7164cbd0abe719f6c30d6ba6a8463b"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "af4b7546ea5e61219283f7cd7809c485",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 595796,
            "upload_time": "2024-03-19T14:43:49",
            "upload_time_iso_8601": "2024-03-19T14:43:49.002261Z",
            "url": "https://files.pythonhosted.org/packages/56/03/d2dd9b96c1ae9d26330ca6409e3bcd4b3ab875ed0cfcfc43cf339cbddf77/cynes-0.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9263d861f7640a4d7ade52c23aa246e84064a04f93ae29db68a8cb03a137e211",
                "md5": "ab5a4181e6928bb6888e4917825ab20d",
                "sha256": "a1f5b9b8bc6e734a33b72ae36dd057c2fff87647396497b9d3b0913773dc6d75"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp37-cp37m-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "ab5a4181e6928bb6888e4917825ab20d",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 1160540,
            "upload_time": "2024-03-19T14:43:50",
            "upload_time_iso_8601": "2024-03-19T14:43:50.260063Z",
            "url": "https://files.pythonhosted.org/packages/92/63/d861f7640a4d7ade52c23aa246e84064a04f93ae29db68a8cb03a137e211/cynes-0.0.4-cp37-cp37m-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ef84b2ee42c6784cdfd861129314e50da0c74c368b78b037bf9fdc7f8a8f5575",
                "md5": "7f1713cacba25915bae17bea4cfedf3b",
                "sha256": "46754fe6ea0128eecf05444aeb73384b4e7bf770009d75bbca64ce8fc3b73e0d"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7f1713cacba25915bae17bea4cfedf3b",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 1139544,
            "upload_time": "2024-03-19T14:43:51",
            "upload_time_iso_8601": "2024-03-19T14:43:51.526057Z",
            "url": "https://files.pythonhosted.org/packages/ef/84/b2ee42c6784cdfd861129314e50da0c74c368b78b037bf9fdc7f8a8f5575/cynes-0.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bbf9ffa1dc3b66f312c8451bc70c1b238590f0904826d70c31d841ec7401a867",
                "md5": "a297c5be381488e47c6716adbf31ea63",
                "sha256": "d03e9acd9b37dd747d18114174d4db3bb3d32738f4eccbc95767a74c428739a3"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "a297c5be381488e47c6716adbf31ea63",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 91855,
            "upload_time": "2024-03-19T14:43:52",
            "upload_time_iso_8601": "2024-03-19T14:43:52.740496Z",
            "url": "https://files.pythonhosted.org/packages/bb/f9/ffa1dc3b66f312c8451bc70c1b238590f0904826d70c31d841ec7401a867/cynes-0.0.4-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "47c836620f917e9c2c8a317dcd133f3c9342e506efc3647507d70f24c215aee4",
                "md5": "4b406201be69f01007661745384386ea",
                "sha256": "96d03ca35d1689c4143d98d6d9e506f26674f583909b79dd73ea670fced75bee"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4b406201be69f01007661745384386ea",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 106414,
            "upload_time": "2024-03-19T14:43:53",
            "upload_time_iso_8601": "2024-03-19T14:43:53.801756Z",
            "url": "https://files.pythonhosted.org/packages/47/c8/36620f917e9c2c8a317dcd133f3c9342e506efc3647507d70f24c215aee4/cynes-0.0.4-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "467080150d6eb89ef0d1af38d50db31407a77d0647794e4a451431b0a708e6ce",
                "md5": "9e2f0f34556bf5faa268959921b61f65",
                "sha256": "36d62a3e67973b1cc58dac55452996925ca3e963800ed3236808f2f05783efdc"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9e2f0f34556bf5faa268959921b61f65",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 129298,
            "upload_time": "2024-03-19T14:43:54",
            "upload_time_iso_8601": "2024-03-19T14:43:54.788504Z",
            "url": "https://files.pythonhosted.org/packages/46/70/80150d6eb89ef0d1af38d50db31407a77d0647794e4a451431b0a708e6ce/cynes-0.0.4-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7682d7408d883347ba3db8112d6b08ba9e10408b09051ebe69070887e35b5312",
                "md5": "30471d294cec5310cde32fc496e299f9",
                "sha256": "60570fb1b2f6ef9ac77d56a09a9db85440691c3831e656f19604627dd2460fb7"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "30471d294cec5310cde32fc496e299f9",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 125421,
            "upload_time": "2024-03-19T14:43:55",
            "upload_time_iso_8601": "2024-03-19T14:43:55.756944Z",
            "url": "https://files.pythonhosted.org/packages/76/82/d7408d883347ba3db8112d6b08ba9e10408b09051ebe69070887e35b5312/cynes-0.0.4-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1eb9bb251d1644c96414908e5dfff489b0b8bd8578c73cd1b09e0ead6cc60644",
                "md5": "2bdb881879253e46d9a3b0dfc6a713d9",
                "sha256": "e869eeea6cb0b1f8a9f693295c0a5b8a8699ec164d3ee545dec4ad64f99247c2"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2bdb881879253e46d9a3b0dfc6a713d9",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 657499,
            "upload_time": "2024-03-19T14:43:58",
            "upload_time_iso_8601": "2024-03-19T14:43:58.308114Z",
            "url": "https://files.pythonhosted.org/packages/1e/b9/bb251d1644c96414908e5dfff489b0b8bd8578c73cd1b09e0ead6cc60644/cynes-0.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e941777929e484e52260bd0f3b502ad766bfb3c5debd5b77390a2757d4eb9ae7",
                "md5": "d23059e4b51ca5c157251c8de2f5191f",
                "sha256": "0fc15214cdd3456de480fae78509270bb0250dabd2ab9ef47967c60e72d7951c"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "d23059e4b51ca5c157251c8de2f5191f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 635650,
            "upload_time": "2024-03-19T14:44:02",
            "upload_time_iso_8601": "2024-03-19T14:44:02.008084Z",
            "url": "https://files.pythonhosted.org/packages/e9/41/777929e484e52260bd0f3b502ad766bfb3c5debd5b77390a2757d4eb9ae7/cynes-0.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b361fae130b299f1cafbc4186431261fb4cbcba41f25691f4ca29bbe91e20853",
                "md5": "19cba71909ba168d06c0461e0cb54dee",
                "sha256": "42d0fc8c3cc1af9c77e765f84d0a3c0dd9a10616279aa692f704d2bb4ee0e675"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp38-cp38-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "19cba71909ba168d06c0461e0cb54dee",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 1205828,
            "upload_time": "2024-03-19T14:44:03",
            "upload_time_iso_8601": "2024-03-19T14:44:03.298471Z",
            "url": "https://files.pythonhosted.org/packages/b3/61/fae130b299f1cafbc4186431261fb4cbcba41f25691f4ca29bbe91e20853/cynes-0.0.4-cp38-cp38-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "41cadc68f3af1903bb5954342f109eb7d14a3329343bc4b9ef77ac0d8d006535",
                "md5": "d0d1040ed60cc27666f96dbca1f46e32",
                "sha256": "fd6274cdfc3be17a4a5842384a68d5d4e41e569896d5f1fe98683e2b3f83ef1f"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d0d1040ed60cc27666f96dbca1f46e32",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 1187288,
            "upload_time": "2024-03-19T14:44:04",
            "upload_time_iso_8601": "2024-03-19T14:44:04.471982Z",
            "url": "https://files.pythonhosted.org/packages/41/ca/dc68f3af1903bb5954342f109eb7d14a3329343bc4b9ef77ac0d8d006535/cynes-0.0.4-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "284a44b6fcd6f7fe8713fdb79d85e756a817ad35a3a7234b3b0beb8b55ec5bdf",
                "md5": "4034b7d89148cddfb049e9e3551ca049",
                "sha256": "77bad077f550d857a0c526a8e50375c72e22743165c963c5c27f97b565739548"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "4034b7d89148cddfb049e9e3551ca049",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 92360,
            "upload_time": "2024-03-19T14:44:05",
            "upload_time_iso_8601": "2024-03-19T14:44:05.777858Z",
            "url": "https://files.pythonhosted.org/packages/28/4a/44b6fcd6f7fe8713fdb79d85e756a817ad35a3a7234b3b0beb8b55ec5bdf/cynes-0.0.4-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "79e30a07e5079d3f5f000b9d2ec3dbd79c2eed435844a6b8d79cc7e95d1eb8be",
                "md5": "60a0a65db6a132f6686625901d5a1163",
                "sha256": "c2d6296df58ff3b691427087d3d28760270c4ff8e2552f17be424164886e40cb"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "60a0a65db6a132f6686625901d5a1163",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 106585,
            "upload_time": "2024-03-19T14:44:06",
            "upload_time_iso_8601": "2024-03-19T14:44:06.797016Z",
            "url": "https://files.pythonhosted.org/packages/79/e3/0a07e5079d3f5f000b9d2ec3dbd79c2eed435844a6b8d79cc7e95d1eb8be/cynes-0.0.4-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7205506e795d451123b3656203ae85e16de617317893ac23d3c1d8fa7b90345f",
                "md5": "7ff579c505c17021620eee6304b7f8ea",
                "sha256": "57596965656a99861572d82e513777bee8626765c6548afa001e2d471eb21453"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7ff579c505c17021620eee6304b7f8ea",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 128786,
            "upload_time": "2024-03-19T14:44:08",
            "upload_time_iso_8601": "2024-03-19T14:44:08.311795Z",
            "url": "https://files.pythonhosted.org/packages/72/05/506e795d451123b3656203ae85e16de617317893ac23d3c1d8fa7b90345f/cynes-0.0.4-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e0d87cd6a21d75eeec489f1d5c08c6efd6eaa9935cbe184ca1693f0fb08a4043",
                "md5": "e3a9511b9f605d75d3c1d533dc4ddc5a",
                "sha256": "f21e552885729b617f04f453d81907dfe09ac3a5373919bb08b6151228f6d953"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "e3a9511b9f605d75d3c1d533dc4ddc5a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 125039,
            "upload_time": "2024-03-19T14:44:09",
            "upload_time_iso_8601": "2024-03-19T14:44:09.386178Z",
            "url": "https://files.pythonhosted.org/packages/e0/d8/7cd6a21d75eeec489f1d5c08c6efd6eaa9935cbe184ca1693f0fb08a4043/cynes-0.0.4-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ca4b3d4c20e8db6b403b69d6afae054a14a3eaea2e09b5ee6a10d14350ec659a",
                "md5": "7e639ac96d9f49cf141d21e6a7e4353e",
                "sha256": "190745b4dc55b7b538533506ae63cafb1783f05a0fdc099a0c54becf92ffb038"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7e639ac96d9f49cf141d21e6a7e4353e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 655905,
            "upload_time": "2024-03-19T14:44:10",
            "upload_time_iso_8601": "2024-03-19T14:44:10.522734Z",
            "url": "https://files.pythonhosted.org/packages/ca/4b/3d4c20e8db6b403b69d6afae054a14a3eaea2e09b5ee6a10d14350ec659a/cynes-0.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d913479e6535b56780cbee88cb4fcba0ee251586bc03dc0766a616431a8330a3",
                "md5": "799cfb6cddf6b9c938deba37dcfeefec",
                "sha256": "d4e29235a21431926eb07c20b20832c7a4044a4321e8f3b968486506215c6902"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "799cfb6cddf6b9c938deba37dcfeefec",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 633369,
            "upload_time": "2024-03-19T14:44:12",
            "upload_time_iso_8601": "2024-03-19T14:44:12.399777Z",
            "url": "https://files.pythonhosted.org/packages/d9/13/479e6535b56780cbee88cb4fcba0ee251586bc03dc0766a616431a8330a3/cynes-0.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f28ca8238a83c03f34413df4cd3733e853b4bd14db7df3a5a75cc94259342534",
                "md5": "ae086a05914098e68747017e4dd9fad0",
                "sha256": "b7146f02815015cfcc8cbbee6094b4e2391bf2e6253f4c1a1659e1a20172d97e"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp39-cp39-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "ae086a05914098e68747017e4dd9fad0",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 1198865,
            "upload_time": "2024-03-19T14:44:13",
            "upload_time_iso_8601": "2024-03-19T14:44:13.805248Z",
            "url": "https://files.pythonhosted.org/packages/f2/8c/a8238a83c03f34413df4cd3733e853b4bd14db7df3a5a75cc94259342534/cynes-0.0.4-cp39-cp39-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c89df6fe3fde5c4cfddd37c9c41ed974eb86b642aebab359b15d8afd2e37aaa8",
                "md5": "dcd28dd421f59add353aaffdb6f06257",
                "sha256": "5fba90ad877c88616a93871cbb5be84dfd24592472c40e6547a81238661e667a"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "dcd28dd421f59add353aaffdb6f06257",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 1178275,
            "upload_time": "2024-03-19T14:44:16",
            "upload_time_iso_8601": "2024-03-19T14:44:16.187463Z",
            "url": "https://files.pythonhosted.org/packages/c8/9d/f6fe3fde5c4cfddd37c9c41ed974eb86b642aebab359b15d8afd2e37aaa8/cynes-0.0.4-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "023c81869f4c13135304e86868a74f9b6fc86890ead7a6b8f5e94b8187b7fd1d",
                "md5": "fe5d138c4dc14049dfe2a26e56bc8b18",
                "sha256": "3d6dea23001f516d88a936c4ec1844b5a42a53708995b531460ebfbdcfbc675e"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "fe5d138c4dc14049dfe2a26e56bc8b18",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 92316,
            "upload_time": "2024-03-19T14:44:17",
            "upload_time_iso_8601": "2024-03-19T14:44:17.829002Z",
            "url": "https://files.pythonhosted.org/packages/02/3c/81869f4c13135304e86868a74f9b6fc86890ead7a6b8f5e94b8187b7fd1d/cynes-0.0.4-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b3fdbf08fffaba043e3f6157d81745a25517842a3bafa1636858cccec7c2da89",
                "md5": "285ea463e3650216660180a30ba12359",
                "sha256": "0900adab0ff8e18fa01217c6fafdaa3e95e4082cb441e2d77561a29cb43827a5"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "285ea463e3650216660180a30ba12359",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 106526,
            "upload_time": "2024-03-19T14:44:18",
            "upload_time_iso_8601": "2024-03-19T14:44:18.899951Z",
            "url": "https://files.pythonhosted.org/packages/b3/fd/bf08fffaba043e3f6157d81745a25517842a3bafa1636858cccec7c2da89/cynes-0.0.4-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "39a12eebdbaedd6122459efdc32721974d2ac8311f26448e66d074eff604a675",
                "md5": "c48d340b1f3171db31b9605e42a75295",
                "sha256": "c310cdbccce5074bfd35fcb58989893e6c8cdd806652b2eb8df78f32b972b26b"
            },
            "downloads": -1,
            "filename": "cynes-0.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "c48d340b1f3171db31b9605e42a75295",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 197390,
            "upload_time": "2024-03-19T14:44:20",
            "upload_time_iso_8601": "2024-03-19T14:44:20.749990Z",
            "url": "https://files.pythonhosted.org/packages/39/a1/2eebdbaedd6122459efdc32721974d2ac8311f26448e66d074eff604a675/cynes-0.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-19 14:44:20",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Youlixx",
    "github_project": "cynes",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cynes"
}
        
Elapsed time: 0.21015s