Skip to main content

iec104-python

Table of contents

  1. Introduction
  2. Licensing
  3. System requirements
  4. Installation
  5. Documentation
  6. Contribution

Introduction

This software provides an object-oriented high-level python module to simulate scada systems and remote terminal units communicating via 60870-5-104 protocol.

The python module c104 combines the use of lib60870-C with state structures and python callback handlers.

Example remote terminal unit

import c104

# server and station preparation
server = c104.Server(ip="0.0.0.0", port=2404)

# add local station and points
station = server.add_station(common_address=47)
measurement_point = station.add_point(io_address=11, type=c104.Type.M_ME_NC_1, report_ms=5000)
command_point = station.add_point(io_address=12, type=c104.Type.C_RC_TA_1)

server.start()

Example scada unit

import c104

client = c104.Client()

# add RTU with station and points
connection = client.add_connection(ip="127.0.0.1", port=2404, init=c104.Init.INTERROGATION)
station = connection.add_station(common_address=47)
measurement_point = station.add_point(io_address=11, type=c104.Type.M_ME_NC_1)
command_point = station.add_point(io_address=12, type=c104.Type.C_RC_TA_1)

client.start()

See examples folder for more detailed examples.

Licensing

This software is licensed under the GPLv3 (https://www.gnu.org/licenses/gpl-3.0.en.html).

See LICENSE file for the complete license text.

Dependencies

lib60870-C

This project is build on top of lib60870-C v2 from MZ Automation GmbH, which is licensed under GPLv3.

The library is used for 60870-5-104 protocol based communication.

» Source code

» Documentation

mbedtls

This project is build on top of mbedtls from the Mbed TLS Contributors, which is licensed under Apache-2.0.

The library is used to add transport layer security to the 60870-5-104 protocol based communication.

» Source code

» Documentation

pybind11

This project is build on top of pybind11 from Wenzel Jakob, which is licensed under a BSD-style license.

The library is used to wrap c++ code into a python module and allow seamless operability between python and c++.

» Source code

» Documentation

catch2

This project is build on top of catch2 from the Catch2 Authors, which is licensed under BSL-1.0.

The library is used as testing framework for test-automation.

» Source code

» Documentation

System requirements

Operating systems

  • Manylinux (x86_64): YES
  • Manylinux (aarch64): YES
  • Raspbian (armv7l): YES
  • Windows (x64): YES

Python versions

  • python >= 3.7, < 3.13

Installation

Please adjust the version number to the latest version or use a specific version according to your needs.

Install from pypi.org

python3 -m pip install c104

Install from git with tag

python3 -m pip install c104@git+https://github.com/fraunhofer-fit-dien/iec104-python.git

You need the build requirements, listed under "How to build".

Documentation

Read more about the Classes and their Properties in our read the docs documentation.

Contribution

How to contribute

  1. Add feature requests and report bugs using GitHub's issues

  2. Create pull requests

How to build (linux)

  1. Install dependencies

    sudo apt-get install build-essential python3-pip python3-dev python3-dbg
    python3 -m pip install --upgrade pip
    
  2. Clone repository

    git clone --depth=1 --branch=main https://github.com/Fraunhofer-FIT-DIEN/iec104-python.git
    cd iec104-python
    git submodule update --init
    
  3. Build wheel

    python3 -m pip wheel .
    

How to build for multiple python versions (linux with docker)

  1. Build wheels via docker (linux)
    /bin/bash ./bin/linux-build.sh
    

How to analyze performance (linux)

  1. Install dependencies

    sudo apt-get install google-perftools valgrind
    sudo pip3 install yep
    
  2. Copy pprof binary

    cd /usr/bin
    sudo wget https://raw.githubusercontent.com/gperftools/gperftools/master/src/pprof
    sudo chmod +x pprof
    
  3. Execute profiler script

    ./bin/profiler.sh
    

How to build (windows)

  1. Install dependencies

  2. Option 1: Build as wheel

    python3 -m pip wheel .
    
  3. Option 2: Build pyd via Powershell

    cmake -DCMAKE_BUILD_TYPE=Release -G "Visual Studio 17 2022" -B cmake-build-release -A x64 -DPython_EXECUTABLE=C:\PATH_TO_PYTHON\python.exe
    &"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe" /m /p:Platform=x64 /p:Configuration=Release c104.sln /t:Rebuild
    

    Set a valid PATH_TO_PYTHON, if you have multiple python versions.
    Set a valid path to MSBuild.exe unless msbuild is already in path.

Generate documentation

  1. Build c104 module

  2. Install dependencies

    • python3 -m pip install -r ./docs/requirements.txt
    • doxygen
    • graphviz
  3. Build doxygen xml

    doxygen Doxyfile
    
  4. Build sphinx html

    python3 bin/build-docs.py
    

Change log

Track all changes in our CHANGELOG documentation.

Metadata

Release files for c104 2.2.1

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

Source distribution (sdist)

Source distribution for c104 2.2.1
File Size Uploaded
c104-2.2.1.tar.gz 2.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for c104 2.2.1
File
c104-2.2.1-cp313-cp313t-win_amd64.whl CPython 3.13 CPython 3.13 free-threading Windows x86-64 Details
c104-2.2.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
c104-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ ARM64 Details
c104-2.2.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
c104-2.2.1-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
c104-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
c104-2.2.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
c104-2.2.1-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
c104-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
c104-2.2.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
c104-2.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
c104-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
c104-2.2.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
c104-2.2.1-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
c104-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
c104-2.2.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
c104-2.2.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
c104-2.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
c104-2.2.1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
c104-2.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
c104-2.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ ARM64 Details
c104-2.2.1-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
c104-2.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
c104-2.2.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ ARM64 Details

Total release size: 23.4 MB

Release files / c104-2.2.1.tar.gz

Download URL c104-2.2.1.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
d1b427f94cd0eeef376020a250ea0e7deb97ac33df5ee4908c7b20452cc8bb23
BLAKE2b-256 checksum
How to use checksums
9afef51faf4c5876c29c2721ff471cd9b997d792862f2745160121ef99f9f813
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp313-cp313t-win_amd64.whl

Download URL c104-2.2.1-cp313-cp313t-win_amd64.whl
Size 822.0 kB
Tags CPython 3.13 CPython 3.13 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
74ab55f32593f47f497696e566d5023538ddf15e2455e6290744c409335569dc
BLAKE2b-256 checksum
How to use checksums
6284c5b69016adf2d2393b96ef010770d61b92320e88a9bec3d1000de5556a45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / c104-2.2.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL c104-2.2.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 957.3 kB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7618cbdc43c1af596cb5413cc3430f41d7e833f94e1245fcd73781e1410c7c34
BLAKE2b-256 checksum
How to use checksums
42a388e7c84fe2dc932870c6fed0b218b65d94b127ebc65c0c652ab18c13c5dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / c104-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL c104-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 931.7 kB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
fbbf53652e97283da1679bfb8f06ecf279ff0eb117ba8b67f95cf31a8016a31a
BLAKE2b-256 checksum
How to use checksums
dedb4eeb8915ae91f560599945cb2894cc2c7fdaff25e3e195283ade26e9e392
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / c104-2.2.1-cp313-cp313-win_amd64.whl

Download URL c104-2.2.1-cp313-cp313-win_amd64.whl
Size 788.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
8ead38d5d9fcdd29e2114780f3a4d549608d671f759978d72826bb3248fc3211
BLAKE2b-256 checksum
How to use checksums
5255e083ea95a4402c0035ecbad46e7652b2b89bbf3dbe45bb5928b43951dc8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL c104-2.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 954.2 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1d7c19d8462af153f5b6a4896d2ef824d4d724902e02f545ccb1de8de4831a4d
BLAKE2b-256 checksum
How to use checksums
d77bbad97ce0792c401db2073fcbb11a692a0dead216b514ae3c4a80eb1bacd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL c104-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 930.4 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
85f2abfa2f82d5287512a4aa04cfa59eb605ea67fca1aace0d0d8cdb50469f88
BLAKE2b-256 checksum
How to use checksums
6da03b9688bea90021cfd0c4f7f05dc75babab49b7d8e12414ffae6f3c0ee6a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / c104-2.2.1-cp312-cp312-win_amd64.whl

Download URL c104-2.2.1-cp312-cp312-win_amd64.whl
Size 788.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
115fb71c90701feaa9695e1fd16eda5940a7cd629e0add77376ae9e8b4e7abf1
BLAKE2b-256 checksum
How to use checksums
3e9d30638416c01577fecd68aaa88889304d8ae095e18e8fe9793b124fb9dcf9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL c104-2.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 954.1 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0a91df4a1d746898a2ebb035da7e2d0a816a1446e4d6822f0a8b962aecc556a3
BLAKE2b-256 checksum
How to use checksums
cb5f89e329aac2556000e7f24a597c1a2ffb88e87709d8e0295a691a1ad4c733
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL c104-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 930.7 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
0b61171fbb8b672def2193cf0e728af7809b9684ddd3d3b062de7760aed9c947
BLAKE2b-256 checksum
How to use checksums
5276c0175a3f87746b861136f1f228b381cf57596a45af62c8d17011805c1aae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / c104-2.2.1-cp311-cp311-win_amd64.whl

Download URL c104-2.2.1-cp311-cp311-win_amd64.whl
Size 788.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
7bda72543cc196bb90798fac6ab6f0bf4441b7b6d1ec0b7e76c271da3c548b67
BLAKE2b-256 checksum
How to use checksums
aa07e2066ac12ece60c2c7ae9a2c9476f2b133fd88d450900f0f4248fd80550a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL c104-2.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 954.2 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
afbe7698e75368bc83c8a476464f922403807eb3a259d9e074d4ce30738106b6
BLAKE2b-256 checksum
How to use checksums
3523521f2b2b10adf6138fdb1bfb12868714607353ab652ef769239e5045c0bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL c104-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 931.0 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
0dd076ca5fff56261026a155266cd74998ac9a83d79b9f6a6ef7e6802913644a
BLAKE2b-256 checksum
How to use checksums
78aea104d18226d56ba7f12b1de0b9b3e09752a5e5dcd242ebddef3e94c20d91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / c104-2.2.1-cp310-cp310-win_amd64.whl

Download URL c104-2.2.1-cp310-cp310-win_amd64.whl
Size 787.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
a7e8b26f0c2303d8c9a4ba93de7ebccb76e545f5dfd1141ddedf8bd22f974c04
BLAKE2b-256 checksum
How to use checksums
fe21e9bd8136fee53a28c525676c1a87a454d9b806b6b3384b125df790df50e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL c104-2.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 953.7 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
58d557a620773977c00e3ed3f41a5d759379f50363bb244124ea0ee03fba3c69
BLAKE2b-256 checksum
How to use checksums
5290b28d3817401803b572ac0c5d7ce9fcfd2f2c777150eeef9bb1c8888ecfb8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL c104-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 930.1 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
844cadea6d1c319bce3e271df28864ba33903b6d54fc5d90f6deadc0b12fca55
BLAKE2b-256 checksum
How to use checksums
53cf02d9ab110edc2165b628720d43d9418c0c6e562c5d24e4702698fa0c0180
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / c104-2.2.1-cp39-cp39-win_amd64.whl

Download URL c104-2.2.1-cp39-cp39-win_amd64.whl
Size 787.4 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
05483a6f6bc5dac007b3b2393af59c6579fdbe712f9ec240922c7bf8082ed88f
BLAKE2b-256 checksum
How to use checksums
97113a340933795dc7d3d028b1b936056141d57d1346093294eb10aadfb8ba67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL c104-2.2.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 953.8 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
71e2eed666dde24d736a8dba5f261ef1966b58afe5b4ac8c80a9af83fd9c8d97
BLAKE2b-256 checksum
How to use checksums
7f45400f651f5b46bb1d2c43f7ac107591c7d10582ebc9e64b0016168676ccfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL c104-2.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 930.7 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
cd3f4412859c44aa39dc2fbbe02068dc0dd5203e4bd1ea7829197bc74f3346f4
BLAKE2b-256 checksum
How to use checksums
ca71941ff4a1a8e6c33afd8f0cb2b58c394c02b0089e0381a84a3c0836b8dad3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / c104-2.2.1-cp38-cp38-win_amd64.whl

Download URL c104-2.2.1-cp38-cp38-win_amd64.whl
Size 787.2 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
4f3c3caa86ccee085ac4d8c4304e48dac5d37c14b627e1cbf6768c2266312d89
BLAKE2b-256 checksum
How to use checksums
b8aa2cc6fadac7dddcf6aed96afe6b6127231788d2d682c26de0a483b3ab9240
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL c104-2.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 976.0 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
85ad306935d174927296039a8eb5e5adf3a72a9ff6cf7a01152df33ec32fcdc6
BLAKE2b-256 checksum
How to use checksums
cc9ec26ace9d7220bf38154cf1ae914bc785c12e9de8ed49050765a5c881dc22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL c104-2.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 930.4 kB
Tags CPython 3.8 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
4694b1632803e75e3a20b6d71883d5da18b99767b7d886f78f6e01b8a0c802f9
BLAKE2b-256 checksum
How to use checksums
bf668d36f2294ebdb2552779289161c631522bcb7941af9f6736dee59575e2dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / c104-2.2.1-cp37-cp37m-win_amd64.whl

Download URL c104-2.2.1-cp37-cp37m-win_amd64.whl
Size 783.5 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
2cee69f602a105ebf9b46c1306e06f6edaf4295b2ce967e3f0719814bc1ecf65
BLAKE2b-256 checksum
How to use checksums
f51cdd36ed50e802d9a99617449ac6ddc7e9ff2baca62660f6a69e4c78f340a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL c104-2.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 970.1 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ee569b34ff8e150ab7cf7af292a0d66fabbd4f52829077e5a4997eea8f741019
BLAKE2b-256 checksum
How to use checksums
12eedea4bf7bce2250597f51f6db21f24ab508ca55e840b6ad772e666111394a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.5

Release files / c104-2.2.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL c104-2.2.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 925.3 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
364e2fe1f8d2d7c72d36576889409469e6cd4d550280ac7a4f156fc4626b966c
BLAKE2b-256 checksum
How to use checksums
0b75430eef6fc37a5012844a3cecf532fdba18f57c4529fb4e1642149491c9c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

2.2.1 This release

25 release files

2.1.1

22 release files

2.1.0

21 release files

2.0.1

13 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