Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

libicsneo

The Intrepid Control Systems Open Source Cross-Platform Device Communication API

An open source solution to integrate Intrepid Control Systems vehicle networking hardware with your application.

Read the Full Documentation

Getting Started

There are two major ways to write a new application using libicsneo. You can use the C++ interface, which will be compiled with your project and statically linked, or you can use the C interface, which can be either statically or dynamically linked.

Integration with CMake (Static Linking)

Integrating the library with your current CMake project is extremely easy.

  1. Checkout the library (or add as a submodule) into a subdirectory of your project.
  2. Within your CMakeLists.txt you can add the line add_subdirectory("third-party/libicsneo") to bring in the libicsneo targets. Replace third-party with any subdirectory you choose.
  3. The libicsneo library include paths should automatically be added to your include path.
  4. Link the library with your target by adding target_link_libraries(libicsneocpp-example icsneocpp) after your target, substituting libicsneocpp-example with your target application.

You can now include either the C++ API with #include <icsneo/icsneocpp.h> or the C API with #include <icsneo/icsneoc.h>

DLL / SO / DYLIB Releases (Dynamic Linking)

It is also possible to use the precompiled binaries with runtime linking. It is not recommended or supported to attempt to use the C++ interface with dynamic linking due to the complexities of C++ compilers.

  1. Add this repository's /include to your include path
  2. Add #define ICSNEOC_DYNAMICLOAD to the top of your source file
  3. Add #import <icsneo/icsneoc.h> below that line
  4. Call icsneo_init(); to import the library before using any other libicsneo functions.
  5. Use the library as normal.
  6. Call icsneo_close(); to unload the library.

Usage

Using the C++ API

The C++ API is designed to be modern and easy to use. All library functions and classes are in the namespace icsneo. Most applications will start by calling icsneo::FindAllDevices(). This will return an std::vector of std::shared_ptr<icsneo::Device> objects. You will want to keep a copy of the shared_ptr to any devices you want to use, as allowing it to go out of scope will automatically close the device and free all memory associated with it.

Any time you get bus traffic from the API, you will receive it as an std::shared_ptr<icsneo::Message>. The message will be valid as long as the shared_ptr stays in scope. Checking the type of the message allows you to cast it accordingly and access extra data for certain protocols. For instance, casting an icsneo::Message to an icsneo::CANMessage allows you to access the arbitration ID.

A barebones example is provided. For a more complete example, check the included examples.

std::vector<std::shared_ptr<icsneo::Device>> devices = icsneo::FindAllDevices();
std::cout << devices.size() << " found!" << std::endl;
for(auto& device : devices)
    std::cout << "Found " << device->describe() << std::endl; // "Found neoVI FIRE 2 CY2345"
std::shared_ptr<icsneo::Device> myDevice = devices[0];

if(!myDevice->open()) // Device tried and failed to open, print the last error
    std::cout << icsneo::GetLastError() << std::endl;

myDevice->goOnline(); // Start receiving messages
myDevice->enableMessagePolling(); // Allow the use of myDevice->getMessages() later
// Alternatively, assign a callback for new messages
std::this_thread::wait_for(std::chrono::seconds(5));
std::vector<std::shared_ptr<icsneo::Message>> messages = myDevice->getMessages();
std::cout << "We got " << messages.size() << " messages!" << std::endl;
for(auto& msg : messages) {
    switch(msg->network.getType()) {
        case icsneo::Network::Type::CAN:
        case icsneo::Network::Type::SWCAN:
        case icsneo::Network::Type::LSFTCAN: {
            // A message of type CAN is guaranteed to be a CANMessage, so we can static cast safely
            auto canmsg = std::static_pointer_cast<icsneo::CANMessage>(msg);
            // canmsg->arbid is valid here
            // canmsg->data is an std::vector<uint8_t>, you can check .size() for the DLC of the message
            // canmsg->timestamp is the time recorded by the hardware in nanoseconds since (1/1/2007 12:00:00 GMT)
        }
        default:
            // Handle others
    }
}
myDevice->close();

Using the C API

The C API is designed to be a robust and fault tolerant interface which allows easy integration with other languages as well as existing C applications. When calling icsneo_findAllDevices() you will provide a buffer of neodevice_t structures, which will be written with the found devices. These neodevice_t structures can be uses to interface with the API from then on. Once you call icsneo_close() with a device, that device and all associated memory will be freed. You will need to run icsneo_findAllDevices() again to reconnect.

Messages are passed in the form of neomessage_t structures when calling icsneo_getMessages(). These structures contain a uint8_t* to the payload data, and this pointer will be valid until the next call to icsneo_getMessages() or the device is closed.

A barebones example is provided. For a more complete example, check the included examples.

size_t deviceCount = 10; // Pre-set to the size of your buffer before the icsneo_findAllDevices() call
neodevice_t devices[10];
icsneo_findAllDevices(devices, &deviceCount);
printf("We found %ull devices\n", deviceCount);
for(size_t i = 0; i < deviceCount; i++) {
    neodevice_t* myDevice = &devices[i];
    char desc[ICSNEO_DEVICETYPE_LONGEST_DESCRIPTION];
    size_t sz = ICSNEO_DEVICETYPE_LONGEST_DESCRIPTION;
    icsneo_describeDevice(myDevice, desc, &sz);
    printf("Found %s\n", desc); // "Found neoVI FIRE 2 CY2345"
}

neodevice_t* myDevice = &devices[0];
if(!icsneo_openDevice(myDevice)) {
    neoevent_t error;
    if(icsneo_getLastError(&error))
        printf("Error! %s\n", error.description);
}
icsneo_goOnline(myDevice); // Start receiving messages
icsneo_enableMessagePolling(myDevice); // Allow the use of icsneo_getMessages() later
sleep(5);
neomessage_t messages[50];
size_t messageCount = 50;
icsneo_getMessages(myDevice, messages, &messageCount, 0 /* non-blocking */);
printf("We got %ull messages!\n", messageCount);
for(size_t i = 0; i < messageCount; i++) {
    if(messages[i].type == ICSNEO_NETWORK_TYPE_CAN) {
        // A message of type CAN should be interperated a neomessage_can_t, so we can cast safely
        neomessage_can_t* canmsg = (neomessage_can_t*)&messages[i];
        // canmsg->arbid is valid here
        // canmsg->data is an uint8_t*, you can check canmsg->length for the length of the payload
        // canmsg->timestamp is the time recorded by the hardware in nanoseconds since (1/1/2007 12:00:00 GMT)
    }
}
icsneo_closeDevice(myDevice);

Debugging

To enable debug printing set the LIBICSNEO_PRINT_EVENTS environmental variable to the desired APIEvent::Severity level, all Events greater than or equal to that level will be printed to stderr. For example, to print all warnings and errors: LIBICSNEO_PRINT_EVENTS=32.

Building from Source

FTD3XX

Some devices require FTD3XX for USB communication so the FTDI D3XX library will be automatically downloaded and included. If you would like to use a system copy of D3XX instead you can set FTD3XX_ROOT to the path containing f3d3xx.h (-DFTD3XX_ROOT=<path to directory containing ftd3xx.h>).

Windows

  • Open a terminal and install the following:
winget install Microsoft.VisualStudio.2022.Community
winget install Kitware.CMake
winget install Git.Git
winget install Ninja-build.Ninja
  • Reboot so cmake is in the system path
  • Open a developer Powershell for VS2022 and run the following:
git clone https://github.com/intrepidcs/libicsneo
cd libicsneo
cmake -S . -B build -G "Ninja"
cmake --build build
# All dlls and libs are now inside the build directory

Building will require MSVC 2017 version 15.7 or newer and CMake to be installed.

macOS

Getting the dependencies is easiest with the Homebrew package manager. You will also need XCode installed. You can then install CMake, an up-to-date version of GCC or Clang, and libusb-1.0.

Linux

General Dependencies

  • CMake 3.12 or above
  • GCC 7 or above
  • libusb-1.0-0-dev
  • libpcap0.8-dev
  • build-essential is recommended

Fedora

dnf install git @development-tools gcc-c++ libpcap-devel libusb1-devel cmake

Debian/Ubuntu

apt install git build-essential libpcap0.8-dev libusb-1.0-0-dev cmake

Building

git clone https://github.com/intrepidcs/libicsneo
cd libicsneo
cmake -S . -B build
cmake --build build
# Optional: Install globally:
cp *.so /usr/local/lib/

udev

If you'd like to be able to run programs that use this library without being root, consider using the included udev rules:

cp 99-intrepidcs.rules /etc/udev/rules.d/
udevadm control --reload-rules && udevadm trigger

Release files for icsneopy 0.2.0.post1.dev441

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

Built distributions (wheels)

Table of built distributions (wheels) for icsneopy 0.2.0.post1.dev441
File
icsneopy-0.2.0.post1.dev441-pp310-pypy310_pp73-win_amd64.whl PyPy 3.10 PyPy 3.10 7.3 Windows x86-64 Details
icsneopy-0.2.0.post1.dev441-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.17+ x86-64 Details
icsneopy-0.2.0.post1.dev441-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.17+ ARM64 Details
icsneopy-0.2.0.post1.dev441-pp310-pypy310_pp73-macosx_11_0_arm64.whl PyPy 3.10 PyPy 3.10 7.3 macOS 11.0+ ARM64 Details
icsneopy-0.2.0.post1.dev441-pp39-pypy39_pp73-win_amd64.whl PyPy 3.9 PyPy 3.9 7.3 Windows x86-64 Details
icsneopy-0.2.0.post1.dev441-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.17+ x86-64 Details
icsneopy-0.2.0.post1.dev441-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.17+ ARM64 Details
icsneopy-0.2.0.post1.dev441-pp39-pypy39_pp73-macosx_11_0_arm64.whl PyPy 3.9 PyPy 3.9 7.3 macOS 11.0+ ARM64 Details
icsneopy-0.2.0.post1.dev441-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
icsneopy-0.2.0.post1.dev441-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
icsneopy-0.2.0.post1.dev441-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
icsneopy-0.2.0.post1.dev441-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
icsneopy-0.2.0.post1.dev441-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
icsneopy-0.2.0.post1.dev441-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
icsneopy-0.2.0.post1.dev441-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
icsneopy-0.2.0.post1.dev441-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
icsneopy-0.2.0.post1.dev441-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
icsneopy-0.2.0.post1.dev441-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
icsneopy-0.2.0.post1.dev441-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
icsneopy-0.2.0.post1.dev441-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
icsneopy-0.2.0.post1.dev441-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
icsneopy-0.2.0.post1.dev441-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
icsneopy-0.2.0.post1.dev441-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
icsneopy-0.2.0.post1.dev441-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
icsneopy-0.2.0.post1.dev441-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
icsneopy-0.2.0.post1.dev441-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
icsneopy-0.2.0.post1.dev441-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
icsneopy-0.2.0.post1.dev441-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 19.4 MB

Release files / icsneopy-0.2.0.post1.dev441-pp310-pypy310_pp73-win_amd64.whl

Download URL icsneopy-0.2.0.post1.dev441-pp310-pypy310_pp73-win_amd64.whl
Size 339.5 kB
Tags PyPy 3.10 PyPy 3.10 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
ee3114cef302545e51cdfa028b21b48600724e7745188da7c4a36879520c9543
BLAKE2b-256 checksum
How to use checksums
559e34f6790f83029820309b3c9222604eb19f32b05b4bc6f997ee23169c102f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL icsneopy-0.2.0.post1.dev441-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 956.3 kB
Tags Linux glibc 2.17+ x86-64 PyPy 3.10 PyPy 3.10 7.3
SHA-256 checksum
How to use checksums
70943a813736e1128779c4e93426b9104de19346016766e79a3cf720af5eb0bc
BLAKE2b-256 checksum
How to use checksums
e0e53f249b5ab8b4c06b01212a1a9d2808cb76cc3dc2284975a24fec7c7f0947
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL icsneopy-0.2.0.post1.dev441-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 906.1 kB
Tags Linux glibc 2.17+ ARM64 PyPy 3.10 PyPy 3.10 7.3
SHA-256 checksum
How to use checksums
59850141465247fd646d01f050e4d3ecc480578549051077bde87470e69ea664
BLAKE2b-256 checksum
How to use checksums
dbb136b7ac6a8688e6e5efd61dc92dc31444f4d9688f38bdaea960e4cccc2dcb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-pp310-pypy310_pp73-macosx_11_0_arm64.whl

Download URL icsneopy-0.2.0.post1.dev441-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Size 564.1 kB
Tags PyPy 3.10 PyPy 3.10 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b0ece46a6c57b304f059d51994bbc5cd83b9c6efe0cd23cc5f8cd6f9ed70ba9b
BLAKE2b-256 checksum
How to use checksums
c3b37b086c27617763fcc9031d2af05c96853a6c39b7b080dcf8545b51b11c1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-pp39-pypy39_pp73-win_amd64.whl

Download URL icsneopy-0.2.0.post1.dev441-pp39-pypy39_pp73-win_amd64.whl
Size 339.4 kB
Tags PyPy 3.9 PyPy 3.9 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
76c9ed1d3757ca5b87579420f5b2938ccf65301d37b245a60f4fdebf3631cc2f
BLAKE2b-256 checksum
How to use checksums
7119dff2f7f06807daadb0ed5b56eb5698e0c972e6645f111b7059f99b4ffac0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL icsneopy-0.2.0.post1.dev441-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 956.4 kB
Tags Linux glibc 2.17+ x86-64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
18b68b49a04dc569e8f0e7928a574a5df505a56a36ac7eba8726463c80d593d4
BLAKE2b-256 checksum
How to use checksums
a0882852b89af07a4f5b9dfd839e0af32397be75b25e9bc910259f011490ece7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL icsneopy-0.2.0.post1.dev441-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 906.0 kB
Tags Linux glibc 2.17+ ARM64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
eb4d180aa569d87f7ca753094c508ecce1d27dd3f2586360fb8b409e6b15b8fd
BLAKE2b-256 checksum
How to use checksums
53112626ab3f3906fec597f77401b6dfbc6f842f1b25a133e9200b2071c6e03d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-pp39-pypy39_pp73-macosx_11_0_arm64.whl

Download URL icsneopy-0.2.0.post1.dev441-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Size 564.1 kB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
527f1db586945a2a02d99535c4ebfb2667263eb8a066c08e09cec70ae49faac4
BLAKE2b-256 checksum
How to use checksums
e5428ef4a9a70e7364aadc32832c3c6208db7254febd79e5417f698bf51b4d41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp313-cp313-win_amd64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp313-cp313-win_amd64.whl
Size 342.4 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
8c38e8aac24ab2f4444eb3e5017370e0c5d8aefbba2753637ca39b3b3cdbcc4b
BLAKE2b-256 checksum
How to use checksums
80917f906849589da24b859bfecd0fc4be4c4a34a8c8fb640004974ae72f0377
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 956.8 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c4f3d17816697bf68bc0c864aaa5b986d10dc3ee3bdded9a2c11f1db121fcbaa
BLAKE2b-256 checksum
How to use checksums
e39db388bf3375edeb816e23d929a8dab7a6ac492bca2d7fa5f291fc51c89681
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 907.5 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
ee93c51f19c788a7dc992cb43f9507c0a6da3de7fb6cdf69dddb2fb008417de6
BLAKE2b-256 checksum
How to use checksums
14921a633514941220a31252bc2a7cd1fc6d8e11854fdfdecf6c29578dcc7464
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp313-cp313-macosx_11_0_arm64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp313-cp313-macosx_11_0_arm64.whl
Size 565.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ce438d8308bbb0d84fb30374a0669995b21cc9a47bd22d0b9935b38e4eb5f242
BLAKE2b-256 checksum
How to use checksums
f83544b4924f067bc2eeb1cd0d5e227276b7b65d9f4d226928a5f388034ab549
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp312-cp312-win_amd64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp312-cp312-win_amd64.whl
Size 342.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
25c348ca75c2d4df256d4affa4c0e0f16b5340535a60aa97cf3c328feacf1a39
BLAKE2b-256 checksum
How to use checksums
7e54a6fdfdda8e9ccfce313ca39a02ee7dd2f502c0581c53d7e73d109bb21f3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 956.3 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
850de685a517b8b2cac179853550bb464b825dd2ec9b4f68818847e885d599a4
BLAKE2b-256 checksum
How to use checksums
4640a4559a976fd1280184644ce5190212b215938a377c1794c5a9600814d76b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 907.6 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
f48fed966381b9b253ab63d262f0c177e25a0f67478252bb9de5f09d9b73f103
BLAKE2b-256 checksum
How to use checksums
71bf7138ccc83e3625dac5b1a6a980688ff1a6a8de46207ae7d8fb09b41c409f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp312-cp312-macosx_11_0_arm64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp312-cp312-macosx_11_0_arm64.whl
Size 565.0 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a62af69c8baccd10bf2698bec6ef93186bda9756c4d1b306f6f91b4104fd5322
BLAKE2b-256 checksum
How to use checksums
221827060ef9a52756d06a9c5bf63f12bfbc24aafafd73f6535864e76f4fb96c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp311-cp311-win_amd64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp311-cp311-win_amd64.whl
Size 341.7 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
1197276a13427359543925248ab6e3aded13452b823e832699dcd4814353b457
BLAKE2b-256 checksum
How to use checksums
fdc5b4ca01b0c0031a639b8f4ae42d7fb0a0fdc6cff08daf9b599c637d7eedbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 959.5 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fc91ab37f459bbe02fc578bfef6cde1881b3f290ff7da73fe9c3648e0881e292
BLAKE2b-256 checksum
How to use checksums
b721744d58bd23c6193af108cd89bbdb6c8ac49dcf6230e7b50ff1d1fdc23b09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 908.2 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
9b9c58bf0743f8b49d9807c9110725c44c8d8ec54c1a39affd410e55c709abed
BLAKE2b-256 checksum
How to use checksums
58adac96e1a5d93b044f42fd176cee96710ce2333a3d738a6ef0c6cc940b0fd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp311-cp311-macosx_11_0_arm64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp311-cp311-macosx_11_0_arm64.whl
Size 564.5 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
73bb774d3aee84711d708dd78f502ecc34714c3e0459459759b539ad362db12f
BLAKE2b-256 checksum
How to use checksums
93f53dd71dea4a1d2f175e5a177e23ea9c51f470e6952a7cc31351e10f3c3ce8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp310-cp310-win_amd64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp310-cp310-win_amd64.whl
Size 340.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
b48989899be178d3b9f43893d4096aa97c88ec9e255984ba95b0986e814319f3
BLAKE2b-256 checksum
How to use checksums
e69adef624446d787a65a56b4aa693fd887de48115aa57b684b1681c32b301a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 957.6 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6bcd403e175e331133dfaa7d39b6d808456d3cd3cab737faa520cd3cda56611a
BLAKE2b-256 checksum
How to use checksums
32dbed28f651c63bc3703ce27aafb156c92d186753db7bb2d4800d98101bb135
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 907.1 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
6592db237bcc4454ec2c108971fab28a669e87d8f155683452e150cd551d0794
BLAKE2b-256 checksum
How to use checksums
95fb70e6caaf0e7cbd1ed1c6f16034fb7dfaa7169c2f48399ee62658eca7a1c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp310-cp310-macosx_11_0_arm64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp310-cp310-macosx_11_0_arm64.whl
Size 563.7 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
92efcaad05c278d1c9e91117c1cb40019bf8ac89c7a7581645133e1fe02ec525
BLAKE2b-256 checksum
How to use checksums
41c4adb378e2963c225e4bc3b2cb6912350840ac2ab4907f3804a80a13e8e6a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp39-cp39-win_amd64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp39-cp39-win_amd64.whl
Size 332.6 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
3e7cbed44d159bba9c7271a97782e9076e7593dfd11e6bc00612e7d1311d77c7
BLAKE2b-256 checksum
How to use checksums
a309c3da4a087b05c2fcd3cb67ef51dfc789730b0c615447daf3b15b61bdc97e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 958.0 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
02fa62ccdc3fd95ea881ad49da5f838cdacbce33d3f7879bbff7dade4303165c
BLAKE2b-256 checksum
How to use checksums
3055c1672e532a2ac1266d9c4baafb310c94255fbd70434c67a316c5b88d5028
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 907.2 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
965df62622d1600095e8eac3dd5ee564643b2ba686130444a1cd5c9ed72f74f8
BLAKE2b-256 checksum
How to use checksums
e847a330f060827b05db219b3b96c1c82a39f4f4bb76e2c6022208186d3bba1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / icsneopy-0.2.0.post1.dev441-cp39-cp39-macosx_11_0_arm64.whl

Download URL icsneopy-0.2.0.post1.dev441-cp39-cp39-macosx_11_0_arm64.whl
Size 563.7 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fb443b3300f6dc6f368e960e364efc8b588318a773b7b590c4a8038b3da0c508
BLAKE2b-256 checksum
How to use checksums
b01ff620a349aee45fa151eb1d03d2e2277dba3f3964e65a50a7eb525a10165b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release history Release notifications | RSS feed

1.4.1

36 release files

1.3.0

28 release files

1.1.0

28 release files

This release
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