iec104-python
Table of contents
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.
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.
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++.
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.
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
-
Add feature requests and report bugs using GitHub's issues
-
Create pull requests
How to build (linux)
-
Install dependencies
sudo apt-get install build-essential python3-pip python3-dev python3-dbg python3 -m pip install --upgrade pip
-
Clone repository
git clone --depth=1 --branch=main https://github.com/Fraunhofer-FIT-DIEN/iec104-python.git cd iec104-python git submodule update --init
-
Build wheel
python3 -m pip wheel .
How to build for multiple python versions (linux with docker)
- Build wheels via docker (linux)
/bin/bash ./bin/linux-build.sh
How to analyze performance (linux)
-
Install dependencies
sudo apt-get install google-perftools valgrind sudo pip3 install yep
-
Copy pprof binary
cd /usr/bin sudo wget https://raw.githubusercontent.com/gperftools/gperftools/master/src/pprof sudo chmod +x pprof
-
Execute profiler script
./bin/profiler.sh
How to build (windows)
-
Install dependencies
- Python 3
- Buildtools für Visual Studio 2022 (Scroll down » All Downloads » Tools for Visual Studio 2022)
-
Option 1: Build as wheel
python3 -m pip wheel .
-
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
-
Build c104 module
-
Install dependencies
python3 -m pip install -r ./docs/requirements.txt- doxygen
- graphviz
-
Build doxygen xml
doxygen Doxyfile -
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)
| File | Size | Uploaded | |
|---|---|---|---|
| c104-2.2.1.tar.gz | 2.0 MB | Details |
Built distributions (wheels)
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
|