Skip to main content

cynes - C/C++ NES emulator with Python bindings

cynes is a lightweight multi-platform NES emulator providing a simple Python interface. The core of the emulation is based on the very complete documentation provided by the Nesdev Wiki. 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 (requires cmake) :

git clone https://github.com/Youlixx/cynes
cd cynes/
pip install .

How to use

A cynes NES emulator can be created by instantiating a new NES object. The following code is the minimal code to run a ROM file.

from cynes.windowed import WindowedNES

# We initialize a new emulator by specifying the ROM file used
with WindowedNES("rom.nes") as nes:
    # While the emulator should not be closed, 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

The default NES class run in "headless" mode, meaning that no rendering is performed. A simple wrapper around the base emulator providing a basic renderer and input handling using SDL2 is present in the windowed submodule.

from cynes import NES
from cynes.windowed import WindowedNES

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

while not nes_headless.has_crashed:
    frame = nes_headless.step()

# And with the rendering window
nes_windowed = WindowedNES("rom.nes")

while not nes_windowed.should_close:
    frame = nes_windowed.step()

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 always be accessed using the step method.

Controller

The state of the controller can be directly modified using the following syntax :

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 maintained 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.

# 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.

# Disable the default window controls
nes = WindowedNES("rom.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.

# 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 :

# 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 de-synchronize 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 used to close the window without having to wait for Python to release the object. As presented previously, the WindowedNES can also be used as a context manager, which will call close automatically when exiting the context. It can also be closed manually using the close method.

# In windowed mode, this can be used 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 property will be set to 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 the MIT License - see the LICENSE file for details.

Metadata

Release files for cynes 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cynes 0.1.2
File Size Uploaded
cynes-0.1.2.tar.gz 15.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for cynes 0.1.2
File
cynes-0.1.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
cynes-0.1.2-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
cynes-0.1.2-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
cynes-0.1.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
cynes-0.1.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
cynes-0.1.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
cynes-0.1.2-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
cynes-0.1.2-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
cynes-0.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
cynes-0.1.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
cynes-0.1.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
cynes-0.1.2-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
cynes-0.1.2-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
cynes-0.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
cynes-0.1.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
cynes-0.1.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
cynes-0.1.2-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
cynes-0.1.2-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
cynes-0.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
cynes-0.1.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
cynes-0.1.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
cynes-0.1.2-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
cynes-0.1.2-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
cynes-0.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
cynes-0.1.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
cynes-0.1.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
cynes-0.1.2-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
cynes-0.1.2-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
cynes-0.1.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
cynes-0.1.2-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 10.2 MB

Release files / cynes-0.1.2.tar.gz

Download URL cynes-0.1.2.tar.gz
Size 15.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3bee8d35249ca8eed509de5fcc140e12ca9982cfead5eb37fe6ebb6b3b7cf833
BLAKE2b-256 checksum
How to use checksums
c1d12194d875767852ceed5f44fabc88528ea6bedbe814f65a2cfb02dffb3199
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp314-cp314-win_amd64.whl

Download URL cynes-0.1.2-cp314-cp314-win_amd64.whl
Size 124.6 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
703e765b405fc33709eb457512225767ff55ade6cb164f8ac162540b9b8b1349
BLAKE2b-256 checksum
How to use checksums
6ef26e7ba82eed5114d10b29aeabe41f21300f34f3b96f3830cc663eb8eabebb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp314-cp314-win32.whl

Download URL cynes-0.1.2-cp314-cp314-win32.whl
Size 115.9 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
abad7eeb891df88642fd7d8012d083ceed11d33e37b84738f01290233526da20
BLAKE2b-256 checksum
How to use checksums
54deab51ba1b3f99ae34b1536b26d2f6768b952beb2865358c10fb11a24bd951
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL cynes-0.1.2-cp314-cp314-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
dc939219a8aeecda886ec01a54ba247aa57003ebdd6b40cf6fe9a2b2aac1b6bf
BLAKE2b-256 checksum
How to use checksums
9c50ac51280baffefaaa46d8d828752300bb9c8fa4c9252701c6965a2e237d87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cynes-0.1.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 169.1 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5a883716690045967c40cc3e1f140c0d5eb12753ab29b1b6df1b89961050a4fa
BLAKE2b-256 checksum
How to use checksums
7166f6d7640868f78c062c87ae05ef6efd5bd8061a79e67a8f622c5f830acbe7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL cynes-0.1.2-cp314-cp314-macosx_11_0_arm64.whl
Size 119.5 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2a2dc00e7ccbd1d742637494ae67c4cdf030124bcaeef3018c42ee9082c21daf
BLAKE2b-256 checksum
How to use checksums
d0d6a7b613280cb4a71032dfa102a6159c7f25126315f8415584b700fac6d2f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp313-cp313-win_amd64.whl

Download URL cynes-0.1.2-cp313-cp313-win_amd64.whl
Size 121.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
969eef5461d284bdd8bc22abd15c847047607ccf74fc6cace44e52156007afe7
BLAKE2b-256 checksum
How to use checksums
ae7d899eff568d54c0dc6f089048d62bddc91c77fd0d6b8afaba94a466a43fac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp313-cp313-win32.whl

Download URL cynes-0.1.2-cp313-cp313-win32.whl
Size 112.8 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
3d0d62dd41533367da7e6783a6c0b5cdbadb7a85a58995b117d3c093ff070082
BLAKE2b-256 checksum
How to use checksums
410c56182e65e4a02860c17884f114358aaae032b736d936bf05418f6c5d738d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL cynes-0.1.2-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2cedff4043940a72e0adb48f698c1e4fa1a5fcdf9e0d97bf36c046f34c935d4c
BLAKE2b-256 checksum
How to use checksums
82d54f5aa523d1a2d652ed383d62d2f9e677a26e9dfe62f86184a31cb9b844cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cynes-0.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 168.9 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
70734dd2a1f4396f5bafdc3c7e90041dcc29fccfc2ddcb997116a84368444012
BLAKE2b-256 checksum
How to use checksums
841596b58e387aa058fc7a56709a631f349f865e2d43061d0b676c370c8f3d6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL cynes-0.1.2-cp313-cp313-macosx_11_0_arm64.whl
Size 119.2 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4ee1d7fd382948d9068ae4e32f19df6475b3ac11c5c7455f618af6cfd71dadb4
BLAKE2b-256 checksum
How to use checksums
d3ac5e23f0852875e924556d3ce1a8447ac6b54297d191fab90329f5fc7507d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp312-cp312-win_amd64.whl

Download URL cynes-0.1.2-cp312-cp312-win_amd64.whl
Size 121.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
83129343b6fdaf6d5981522efc913ad7d649db99ed2d32b4c08258a3b8dd57b0
BLAKE2b-256 checksum
How to use checksums
aedd067dfe0a81cb1a1ee3ed5f92c00e6a34d4891ffac895177d5ccd268eece9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp312-cp312-win32.whl

Download URL cynes-0.1.2-cp312-cp312-win32.whl
Size 112.8 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
5b69636fd8597880b2ad4bf57a5fa71b938763402c20e1b35bdae93a9cbd716d
BLAKE2b-256 checksum
How to use checksums
224aeaf354ff2edcbfe1093622617ac1a13f767ea4d8a9115eb01f5dc23e84c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL cynes-0.1.2-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8d031a5bcf5137ce0191c6b211de420da8cc09ccf47888cad58d910face2abc6
BLAKE2b-256 checksum
How to use checksums
1470d4225d1ccb1c7d4f6c162029abcd1ef8100d9c9ff2e751927691c72fa1b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cynes-0.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 169.0 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
655aae0f6a2151597a5f183ccc9987245df572fe23eb7f2b4f9f08112dad3cd8
BLAKE2b-256 checksum
How to use checksums
258847cdcfd5615d52b570d38cbf6747fdc73a6beeeb5aed728e3a9c7c4708d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL cynes-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
Size 119.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ed52aefcde6da67625f11fa61a5773e4373e09ad40bd694805bc99824ca4b8b2
BLAKE2b-256 checksum
How to use checksums
a909118fcbbfda7bd83f45a65351d73f83932c6e27f9b2b3252772f926d34c1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp311-cp311-win_amd64.whl

Download URL cynes-0.1.2-cp311-cp311-win_amd64.whl
Size 120.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
07c44a93421e636fa9644d0a77c869c3266877fdfa0aaaa445e7d373ef183c06
BLAKE2b-256 checksum
How to use checksums
e356f400491d247ecd71337ed4ca38249a46c3800465db13d6af0155c9157161
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp311-cp311-win32.whl

Download URL cynes-0.1.2-cp311-cp311-win32.whl
Size 112.2 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
61664c38b04a560b1f61e260c0bbcf118423efa28830b860aaf099d4049b1345
BLAKE2b-256 checksum
How to use checksums
b1b77145fa3f30025c755028d6e21d9e759b9941440dabf3a8bf60da227b48b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL cynes-0.1.2-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ca7a5e24e7c0313332338dab9eeb3d365a1e1b3c8cabde50d342a169f9fa3095
BLAKE2b-256 checksum
How to use checksums
59851cf0bebb57288ed05a0f6cdda984edd62a40ba1f67a2b52e6f06eaabe369
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cynes-0.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 167.5 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e93756ba36711dcd8a84e40854ff72cb9e568d971752dd143a642b49977498e9
BLAKE2b-256 checksum
How to use checksums
7e9f676aa110ea9d78b993539a3f3c527263d070c2263f64917374cdbc043cb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL cynes-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
Size 118.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bfea2d8878c8d467fb627c97920853687e7cd4db18e2189c5110ef462f46eb4e
BLAKE2b-256 checksum
How to use checksums
188fe37cd1552cd9556eb2218577ec5182519722e7091081a04983cf66c71179
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp310-cp310-win_amd64.whl

Download URL cynes-0.1.2-cp310-cp310-win_amd64.whl
Size 119.9 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d89b991610de6c1380ba42153fbab7a1294266fa2ac12021bce90e731a8b78ed
BLAKE2b-256 checksum
How to use checksums
b40dbf4db63a45d068fe07a2278877355810f4e1d0e2d3c74d4f5b226ef5cfb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp310-cp310-win32.whl

Download URL cynes-0.1.2-cp310-cp310-win32.whl
Size 111.2 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
510eae51b03d178fc284e5577dc6c2c435be6fb1d26be24affaa6c1811cdb45f
BLAKE2b-256 checksum
How to use checksums
23d99b7926f919859201bd8bacac388d7bece720fb46b952b45e7dee9e25e2f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL cynes-0.1.2-cp310-cp310-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
22e48311edc794afc5f19de223f164879527457fb4c3f5f3448d5448b14c5eb1
BLAKE2b-256 checksum
How to use checksums
40278b75229db82d5d8fca4979270236cacbf1e5404b5c7ba929945f9920d7cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cynes-0.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 166.0 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
299dbc08b838b4dbe468c06d921dd6b4c45a76bf47780d9b48e05fc4500a1919
BLAKE2b-256 checksum
How to use checksums
3008c4e2f5c6499a03778ee9de29f3da25418d4d0caf5628d89a384287d9f7dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL cynes-0.1.2-cp310-cp310-macosx_11_0_arm64.whl
Size 116.8 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d73453d343f756560223d9332477d9894c580af3e5bd5385c987dd3d3faf0b41
BLAKE2b-256 checksum
How to use checksums
e4df54140ff4d433f20d41caeecd8b672d6da882255c07e1d35350480c8ce8d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp39-cp39-win_amd64.whl

Download URL cynes-0.1.2-cp39-cp39-win_amd64.whl
Size 120.9 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
6dd4f7cd1ace075ef66b222e8e6a9af8600011f4e847b482fa94bfa40a553c73
BLAKE2b-256 checksum
How to use checksums
e138e53da62494d236feda1f30642d7040014d83a1a33c6aae9ea36c8915f2b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp39-cp39-win32.whl

Download URL cynes-0.1.2-cp39-cp39-win32.whl
Size 111.2 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
d491a83a92ac46a5063f68fd078219e2906da66b38adc398c170549b383155b9
BLAKE2b-256 checksum
How to use checksums
b9b5d60804a1f8ac81d1a59f9efe3e408cdee773150e73bba58c50f426e68539
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL cynes-0.1.2-cp39-cp39-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
9ca95203588cd3934c5be5c8e572cbfc526754730df4e15c2885d7c22148cb80
BLAKE2b-256 checksum
How to use checksums
48632e792915953c762c2eede3e029d8ea8ee87d50d1c517d976743d69510ea0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cynes-0.1.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 166.3 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
99764553de958c6b8bb42d43952cecb1f64beb17094b57f5cedf7fc616ba2574
BLAKE2b-256 checksum
How to use checksums
adb25f123c359d30d2338689551caf996ada0719d59877e7a93fc453730e781d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / cynes-0.1.2-cp39-cp39-macosx_11_0_arm64.whl

Download URL cynes-0.1.2-cp39-cp39-macosx_11_0_arm64.whl
Size 116.9 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f6c20de7edd3f3f59a522747e039b190168c6a3b910b43775bf989ad1e4e2bdf
BLAKE2b-256 checksum
How to use checksums
51843d9c73c0105fd71e97cc73f110dd049ca945b4413c62a536aa9d4722514f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.1.2 This release

31 release files

0.1.1

37 release files

0.1.0

55 release files

0.0.4

55 release files

0.0.3

28 release files

0.0.2

19 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page