Skip to main content

Dieses Paket ist für die Software-Challenge Germany 2025, bei der in dieser Saison das Spiel 'Hase und Igel' im Mittelpunkt steht.

Project description

Software-Challenge Logo

Python-Client für die Software-Challenge Germany 2025

Read the Docs PyPI PyPI - Python Version Discord Documentation

Dieses Paket befindet sich derzeit in einem frühen Entwicklungsstadium!

Dieses Repository enthält das Python-Paket für die Software-Challenge Germany, einem Programmierwettbewerb für Schülerinnen und Schüler. Dabei muss eine künstliche Intelligenz entwickelt werden, die in einem jährlich wechselnden Spiel gegen andere Gegner antritt.

In diesem Jahr ist es das Spiel Hase und Igel.

Inhaltsverzeichnis

Installation

Es gibt zwei Methoden, um den socha-Client zu installieren. Die erste Methode ist die schnellste, um sofort loslegen zu können. Diese Methode eignet sich jedoch nicht, um den Player im Wettbewerbssystem zu betreiben, da es keine Internetverbindung gibt, über die Pakete heruntergeladen werden können. Daher wird die Installation in einer virtuellen Umgebung empfohlen, bei der die Pakete in einem Ordner installiert werden.

Bitte sicherstellen, dass mindestens Python 3.10 installiert ist. Dies kann mit $ python -V oder $ python3 -V überprüft werden.

Falls Python nicht vorhanden ist, kann es mit folgenden Befehlen installiert werden:

  • Windows: > winget install -e --id Python.Python.3.10
  • Debian: $ sudo apt install python3.10
  • Arch: $ sudo pacman -S python

In seltenen Fällen kann es zu einer fehlerhaften oder fehlenden Installation von setuptools kommen. In diesem Fall kann setuptools mit pip install -I setuptools erneut installiert werden.

Global

Die Installation ist mit pip recht einfach.

$ pip install socha

Wenn das Paket manuell installiert werden soll, muss die gewünschte Version heruntergeladen, das Paket entpackt und dann setup.py mit Python ausgeführt werden.

$ python setup.py install --user

Damit sollten die Abhängigkeiten erfüllt sein und das Paket ist sofort einsatzbereit.

Virtuelle Umgebung

Um eine virtuelle Umgebung zu erstellen, sollte zunächst ein Verzeichnis erstellt und betreten werden, in dem der Player entwickelt werden soll.

$ mkdir my_player
$ cd my_player

Nun kann die virtuelle Umgebung (venv) erstellt werden.

$ python -m venv venv/

Nach Erstellung der venv kann sie aktiviert werden.

Unter Linux:

$ source venv/bin/activate

Unter Windows:

> Set-ExecutionPolicy Unrestricted -Scope Process
> .venv\Scripts\activate

Die venv sollte nun geöffnet sein und Pakete können installiert sowie Skripte ausgeführt werden. Um den Player zu entwickeln, muss das Paket socha mit pip installiert werden.

(venv) $ pip install socha

Damit sollten die Abhängigkeiten erfüllt sein und das Paket ist sofort einsatzbereit.

Erste Schritte

Die Struktur der Klasse zur Entwicklung und Implementierung der Logik sollte wie folgt aussehen:

class Logic(IClientHandler):
    GameState: GameState

    def calculate_move(self) -> Move:
        return Move(action=Advance(distance=1, cards=[]))

    def on_update(self, state: GameState):
        self.gameState = state

Das obige Beispiel zeigt die einfachste funktionierende Logik. Die Logik muss von IClientHandler erben, damit dessen Methoden überschrieben werden können und die API weiß, wo die Logik zu finden ist.

Wenn eine funktionierende Version des Players fertiggestellt ist, sollte die Datei mit dieser Funktion beendet werden, um den Starter mit den gewünschten Argumenten aufzurufen. Der folgende Code startet den Client mit den Standardargumenten.

if __name__ == "__main__":
    Starter(Logik())

Ein komplettes Beispiel ist in dieser logic.py zu finden.

Startargumente

Falls die Logik von der Konsole aus ausgeführt werden soll, können Startargumente übergeben werden.

Beachten, dass alle als Startparameter übergebenen Argumente die im Code gesetzten überschreiben, einschließlich derjenigen, die selbst gesetzt wurden.

Befehl Beschreibung
--help Druckt die Hilfemeldung.
-h, --host Der Host, zu dem eine Verbindung hergestellt werden soll. Die Vorgabe ist 'localhost'.
-p, --port Der Port des Hosts. Die Vorgabe ist 13050.
-r, --reservation Reservierungscode für ein vorbereitetes Spiel.
-R, --room Raumnummer, mit der der Client versucht, eine Verbindung herzustellen.
-s, --survive Falls vorhanden, läuft der Client weiter, auch wenn die Verbindung zum Server unterbrochen wird.
-l, --log Falls vorhanden, schreibt der Client eine Protokolldatei in das aktuelle Verzeichnis.
-v, --verbose Ausführliche Option für die Protokollierung.
--auto-reconnect Verbindet sich automatisch wieder mit dem Server, wenn die Verbindung unterbrochen wird.
-b, --build Baut dieses Skript zu einem Paket mit all seinen Abhängigkeiten.
-d, --directory Das Verzeichnis, in dem das Paket erstellt werden soll.
-a, --architecture Die Architektur des Pakets.
--python-version Die Python-Version für den Build. Der Standardwert ist '3.10'.

Vorbereitung des Spielers für den Wettbewerb

Das Wettbewerbssystem läuft auf einem Linux-System mit einer x86_64-Architektur. Um den Client auf dem Wettbewerbssystem zu verwenden, muss das Socha-Paket für die Plattform manylinux2014_x86_64 und die Python-Version 310 oder 312 heruntergeladen werden.

Um sicherzustellen, dass der Player im Wettbewerbssystem verwendbar ist, müssen alle Abhängigkeiten heruntergeladen werden, da das System auf einem Docker-Container ohne Internetzugang und sudo-Berechtigung ausgeführt wird.

Das Paket erleichtert die Vorbereitung!

Eine Datei requirements.txt, die alle Abhängigkeiten auflistet, wird dafür benötigt. Jeder Bot braucht natürlich das Paket socha. Außerdem sollte setuptools in der Version 58.1.0 für Python 3.10 bzw. 75.8.0 für Python 3.12 hinzugefügt werden.
Alle Abhängigkeiten kommen mit der Syntax <paket>==<version> in jeweils eine Zeile.

Zum Starten folgenden Befehl im Terminal ausführen:

$ python <dein_haupt_skript>.py --build --directory <dein_ordner> --architecture <ziel_architektur> --python-version <3.xx>

Dadurch wird das Paket aktiviert und das Projekt erstellt.

Falls eine manuelle Vorgehensweise bevorzugt wird, folgen diese Schritte zum Herunterladen der Abhängigkeiten:

  1. Terminal oder Konsole an dem Ort öffnen, an dem das Verzeichnis erstellt werden soll, das hochgeladen wird.
  2. mkdir my_player eingeben, um ein neues Verzeichnis namens my_player zu erstellen. Der Verzeichnisname kann beliebig gewählt werden.
  3. Mit cd my_player in das Verzeichnis wechseln.
  4. Den Befehl pip download socha --only-binary=:all: --platform manylinux2014_x86_64 --python-version 310 -d dependencies im Verzeichnis ausführen, um die benötigten Abhängigkeiten in den Ordner dependencies herunterzuladen.
    • Ändere hier 310 zu 312 wenn du mit der Python-Version 3.12 arbeitest.
  5. Alle Abhängigkeiten hinzufügen, die der Client verwendet.
  6. Ein letztes Verzeichnis mit mkdir .pip_cache erstellen.

Nach dem Herunterladen der Abhängigkeiten muss ein Shell-Skript erstellt werden, das als Einstiegspunkt für den Player verwendet wird. Es muss den Namen start.sh tragen und sich auf der obersten Ebene des Verzeichnisses befinden, sonst kann es nicht gefunden werden.

Um das Shell-Skript zu erstellen, sind folgende Schritte notwendig:

  1. Das Shell-Skript in einer UNIX-Umgebung erstellen.

Unter Windows kann WSL oder Notepad++ verwendet werden. In Notepad++ zu Bearbeiten->Format Zeilenende->Unix(LF) wechseln, um sicherzustellen, dass die Zeilenenden nur LS ohne CR sind.

  1. Das Shell-Skript sollte die folgende Struktur haben:
#!/bin/sh

# Sofortiges Beenden, wenn ein Befehl fehlschlägt
set -e

# Setzt die Umgebungsvariable, die den Ort angibt, an dem pip seine Cache-Dateien speichert
export XDG_CACHE_HOME=./my_player/.pip_cache

# Setzt die Umgebungsvariable, die das Verzeichnis zur Liste der Pfade hinzufügt, die Python nach Modulen und Paketen durchsucht, wenn diese importiert werden.
export PYTHONPATH=./my_player/packages:$PYTHONPATH

# Installieren Sie das Paket socha
pip install --no-index --find-links=./my_player/dependencies/ ./my_player/dependencies/socha-1.0.1-py3-none-any.whl ./my_player/dependencies/xsdata-22.7-py3-none-any.whl --target=./my_player/packages/ --cache-dir=./my_player/.pip_cache

# Das Skript logic.py mit Startargumenten ausführen
python3 ./my_player/logic.py "$@"
  1. Alle Abhängigkeiten, die der Client verwendet, zu diesem Skript hinzufügen.

Nach Erstellung des Shell-Skripts sollte die Verzeichnisstruktur wie folgt aussehen:

my_player/
├── .pip_cache/
├─── dependencies/
├─── logic.py
└── start.sh

Das Verzeichnis my_player (oder wie auch immer es benannt wurde) muss nur noch als ZIP-Archiv verpackt werden, und der Player ist bereit zum Hochladen. Herzlichen Glückwunsch! 🥳🎉

Lokale Entwicklung

🏗️ Dieser Teil ist derzeit noch unfertig und kann sich noch ändern.

Dieses Paket wurde größtenteils in Rust geschrieben, was einen deutlichen Leistungsschub im Vergleich zu einem nativen Python-Programm bringt. Allerdings führt dies zu einem erheblichen Aufwand, da sogenannte Bindings erstellt werden müssen, die es Python ermöglichen, auf die Funktionen in Rust zuzugreifen. Hierfür wird PyO3 mit Hilfe von Maturin verwendet.

Für eine lokale Entwicklung müssen folgende Dinge installiert werden:

Nach erfolgreicher Installation muss der Befehl maturin develop in einer virtuellen Umgebung ausgeführt werden. Dann kann eine in Python geschriebene Logik verwendet und Änderungen im Rust-Code vorgenommen werden. Nach jeder Änderung muss maturin develop erneut ausgeführt werden, damit die Änderungen für den Python-Code sichtbar werden.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (413.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (457.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (561.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (416.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (415.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

socha-3.7.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (438.5 kB view details)

Uploaded PyPymanylinux: glibc 2.5+ i686

socha-3.7.2-cp313-none-win_amd64.whl (255.9 kB view details)

Uploaded CPython 3.13Windows x86-64

socha-3.7.2-cp313-none-win32.whl (236.9 kB view details)

Uploaded CPython 3.13Windows x86

socha-3.7.2-cp312-none-win_amd64.whl (255.9 kB view details)

Uploaded CPython 3.12Windows x86-64

socha-3.7.2-cp312-none-win32.whl (236.9 kB view details)

Uploaded CPython 3.12Windows x86

socha-3.7.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (413.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

socha-3.7.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (455.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

socha-3.7.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (564.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

socha-3.7.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (418.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

socha-3.7.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (417.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

socha-3.7.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (437.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.5+ i686

socha-3.7.2-cp312-cp312-macosx_11_0_arm64.whl (367.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

socha-3.7.2-cp312-cp312-macosx_10_12_x86_64.whl (370.9 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

socha-3.7.2-cp311-none-win_amd64.whl (255.9 kB view details)

Uploaded CPython 3.11Windows x86-64

socha-3.7.2-cp311-none-win32.whl (238.1 kB view details)

Uploaded CPython 3.11Windows x86

socha-3.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (412.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

socha-3.7.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (458.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

socha-3.7.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (559.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

socha-3.7.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (416.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

socha-3.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (414.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

socha-3.7.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (436.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.5+ i686

socha-3.7.2-cp311-cp311-macosx_11_0_arm64.whl (369.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

socha-3.7.2-cp311-cp311-macosx_10_12_x86_64.whl (372.4 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

socha-3.7.2-cp310-none-win_amd64.whl (258.3 kB view details)

Uploaded CPython 3.10Windows x86-64

socha-3.7.2-cp310-none-win32.whl (240.1 kB view details)

Uploaded CPython 3.10Windows x86

socha-3.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (416.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

socha-3.7.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (459.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

socha-3.7.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (559.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

socha-3.7.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (416.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

socha-3.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (414.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

socha-3.7.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (440.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.5+ i686

socha-3.7.2-cp310-cp310-macosx_11_0_arm64.whl (370.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

socha-3.7.2-cp310-cp310-macosx_10_12_x86_64.whl (373.8 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fdd7a6e784e5174c1b4169ba8d339524d5f0d8a8c715e759f04ddecc2729d0b8
MD5 4f3139f40f4d7e42e905a166b03492c5
BLAKE2b-256 e28bf4950c52aad732af971836d20b6868d4ed6b526c03318af9f0efa3fff41a

See more details on using hashes here.

File details

Details for the file socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 83891ac9f1b971a41ecb78d1cf5129c9b6153b4bfb91397064795ac0951e4455
MD5 e95cca19aebb704db7b472a3bfe77d13
BLAKE2b-256 810dde52fb7026f8ad7a40c70b29dce361005d5f0c2aa9430c079b75b981bcc1

See more details on using hashes here.

File details

Details for the file socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d6cc1f0466c14b6488f6621536cb217c4a393a521f37045c93193cc162ae56af
MD5 8de64781c9eed2be974be1e8502666f2
BLAKE2b-256 7e494af03697428719bc4b28d1ca3fed76c59696cdeb1d3074a164b7e89dbc9f

See more details on using hashes here.

File details

Details for the file socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 320c1a120fd3a7ba64265bf52fc38ec8b4c35ae43e828f3c929e3f6411ee7600
MD5 41ced6529558173bf710f4873975690a
BLAKE2b-256 38a5d1d5b299a8e928ec98572553e0cd8b0ec91bb49db1d5128ef67c7e3bba9f

See more details on using hashes here.

File details

Details for the file socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b1eb500de11a7bfba5212cb9d2ec90d97b0a96c15b16a371e00a601eda962b68
MD5 0e30e2dae07d0228da1e2fd03f326e25
BLAKE2b-256 7287c845c65edc0af260eaee9a3690a0c1c8cba4287a6fa1eda57b1b7147c016

See more details on using hashes here.

File details

Details for the file socha-3.7.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for socha-3.7.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 faf25ad22711f5bb6ddbb36eb353a322cd74e39ec668fc1c8ea092199005c039
MD5 a208e3e081ed224a6b54e0af4b44624b
BLAKE2b-256 561c8c467f096708a72364977a6764c9b1fa0fdac87a52a39925f11ad8898371

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp313-none-win_amd64.whl.

File metadata

  • Download URL: socha-3.7.2-cp313-none-win_amd64.whl
  • Upload date:
  • Size: 255.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.6

File hashes

Hashes for socha-3.7.2-cp313-none-win_amd64.whl
Algorithm Hash digest
SHA256 6333e2901ab22ec57af6c281ae5f7017dfd8f43efe858f53f650ecfaa926e291
MD5 21a2056552c591030dfdc8a03450445e
BLAKE2b-256 d59c1703c78350d739d33ce941d525d8282d564f332ee15e33acbd85c79a8719

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp313-none-win32.whl.

File metadata

  • Download URL: socha-3.7.2-cp313-none-win32.whl
  • Upload date:
  • Size: 236.9 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.6

File hashes

Hashes for socha-3.7.2-cp313-none-win32.whl
Algorithm Hash digest
SHA256 00fdae688b9865bb64eed2489938e77404df995ca75482c88ff3965a37afaefd
MD5 833bb2c3dc91df197237dd8d96c4c04b
BLAKE2b-256 1d6939690b5c472de01bdd747b1551bc22c7878706d160940d503ce97b8a595f

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp312-none-win_amd64.whl.

File metadata

  • Download URL: socha-3.7.2-cp312-none-win_amd64.whl
  • Upload date:
  • Size: 255.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.6

File hashes

Hashes for socha-3.7.2-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 7f5f01b5459ba8d78ea86ef3393eadba0c625361b70801262d2acc8f4a0388f2
MD5 8d24d5f871a94b8cdbd2fd415ea9e27b
BLAKE2b-256 8bf6842f7f8851bbcef5a173602366766c5351dff1179e6bbe17837566fee6be

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp312-none-win32.whl.

File metadata

  • Download URL: socha-3.7.2-cp312-none-win32.whl
  • Upload date:
  • Size: 236.9 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.6

File hashes

Hashes for socha-3.7.2-cp312-none-win32.whl
Algorithm Hash digest
SHA256 f960ea231d88821be9f64a98cf80bdbfa72ca1ce3753a96c422ba488a3fd764a
MD5 fc78ed313dfec840e090ed0538ba0e40
BLAKE2b-256 48a6c03a8740dd426b86be50048085110a582fb6fbe5d6d9613d9e6b8abb58bf

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0a1e8706036b181fcc8712d0993c2c23df800475b7de77a5b4b95a3eaa6ab5b9
MD5 a5b3a4608645439ce4cc102fa870e8d6
BLAKE2b-256 e9a8d67459bb82d6d97f7b0c57e7ecdfd010f2f2fdee5190a342bf0bd6bc10f9

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 8c0b0330a63a5f7348e78f7cf478d572829f49aaedcbbcaf574b5e48a3ba0495
MD5 575f2ebf1f1d910ac263c87072ad6617
BLAKE2b-256 e9b5611d77863300737f484b542de2c500f2bc715f0fe98d182059aa882629b7

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7e0e2547b3670a8f29572a64a240a4de231215fe0ebafc2fbff7952fe7ccef38
MD5 3b5cddef37a43d31df955e630917f7fb
BLAKE2b-256 6501254eed0bf787a8d9b535326d277ab66fcc8da98ff1e1fbf4c2c9cc654b74

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 3d399b54e22a2b8510df912eafbe42270f54ef0657ce40c61486eaa6c6d454fc
MD5 a0e400c546ad8213ea6026acbd4232ed
BLAKE2b-256 fef55ce56f6ffd4a248bbb39a6844e44d04cbf4cc4fa06edc0550efc9e843009

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3212b83f9538ea030e0b084f643f0394d597132f7f59408a2d3069435a327b10
MD5 b5a92415e86c519f27c5c876f1c4f0d5
BLAKE2b-256 e55cd7245b601eaf2167738b4911ef5bc0811a1a36e08bbb625350491612a792

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 00cc93c67b55acd236ccf16dc00f14baacff75f37045aa1dc0e71a05254f8eb9
MD5 ffc4476efe89d6fc870700f295c3d0bf
BLAKE2b-256 d6e6f182b763d974b4b8988ada441e1845e70b185f5907611af9f5da3ae27ceb

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 32325f098cbd5fa2c9105fb3f505075d701e1c18e7abb41be6a0cecf04fca4e5
MD5 cdbb264ee035c2974bc746b013998309
BLAKE2b-256 432a9f788139d9d408e9be60ab09cfed6d2630533f822c2ceef323cdd782afe0

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bdc1aaed1d16b6bc0dc31c7e4e00ba25ca9a84425184eb6e222e63999d5975a5
MD5 e76b3ca7d7b7062264f27b8b94bc890f
BLAKE2b-256 db33acb3801fc0092f9231a33bcc2f5d30e37b0f4259608bedeea0b74bafe7c6

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp311-none-win_amd64.whl.

File metadata

  • Download URL: socha-3.7.2-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 255.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.6

File hashes

Hashes for socha-3.7.2-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 bc4f00262f8f160bc2be2c159a4a8b8b12fd108e873270dc24184e8c769f8c5f
MD5 34b58fb7253f9d655f124b2d374fb6ba
BLAKE2b-256 c27e174c7f27fdff1b324db86f17e5659617440d35eda4c62c176be543807270

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp311-none-win32.whl.

File metadata

  • Download URL: socha-3.7.2-cp311-none-win32.whl
  • Upload date:
  • Size: 238.1 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.6

File hashes

Hashes for socha-3.7.2-cp311-none-win32.whl
Algorithm Hash digest
SHA256 316b34be2cd6175946a5f40d2251937150b421dff1a44b51f88b4074811b7dd1
MD5 fc6f43c636d2f1a05bce597b8010ee1b
BLAKE2b-256 fe83ba9f44b8d89e1953cf72b7ad0f4feed0530e32b637f4d061a1c05145cf06

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6215cf88c39d2fed13cc1493b8f08d41d9453e06fbdb1cb07c07b931bd6bc6ae
MD5 df4db671ebfc8636114843c99f46c2c8
BLAKE2b-256 700fe0fe6a7966c2e56f42e215000facbf90e0210531d8e88d8b7488e8f6f5b4

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c0059e2eb9ab129158c89bf3c508bd8bf016e61d25312f3948a47420f49c698e
MD5 373f57ad33472adc299c3d076fa9c743
BLAKE2b-256 7c130b21ca0f496aadfd03bc9ba8a8441513b279a35dd430dfd4b740af749eb4

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 8daad742ea10cf2c1248d6a7c18f13974ad9774975c22d5478395661974f1cc8
MD5 bc7deab18b01264aa2ff26699bcbdd17
BLAKE2b-256 d0c36ff0cda1abaec08a38f7d8df23e9fcc6b59f18a918834f3473bf621112a0

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 45d27a209f9ccbf3abe1d9731a131dafc1bee1dab433d56e65c8da6650b9d8cc
MD5 0ca8b28a2b14f70d8d542484f9d2fae3
BLAKE2b-256 e874171409b39cc16c06b8f282820a1a5a952f243b77fc9406b3f6ea53800d92

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 814a5623b290d92a75425140bd448558eb4b3b3740ed3af62d9332e0a480c770
MD5 b5a8ea618a784ca486ea3f8e14dc2fed
BLAKE2b-256 383c3cda535c36e1e2b7f0c055b0b4227a7f273e7997dd56c8bedbc6a2b862c2

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 d0242203f59c9f0e259c38cbce890a958a4c10c916d3465b7e34d821e3de4629
MD5 88d1cd7e214864bd986847be56f252d7
BLAKE2b-256 55fe7330c73a07cb9bf986b23ee63a7c63027a124c1aa7f6a38a51a1a71a9a4b

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b58405bbcd4ed97db26f3661b582b4c6ee3ae3e37d38fbdfb3089f78a332bf74
MD5 6f9b2ce4fd5aff2328497506c9425752
BLAKE2b-256 b2cc858263fabcad0cab4f2c2c68dad83d3c6828f1fe0ceed777fbc78cc7af56

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5fb1c55a939c6f6175c2c0707063604fe88692eb8ed805902166d1c2e6563493
MD5 730d16a1e58b5ea3c56eab4345a1711a
BLAKE2b-256 86f60d6396edc5e4b64803092d6179252d4f3015ee85109a897649ce287cb9b9

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp310-none-win_amd64.whl.

File metadata

  • Download URL: socha-3.7.2-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 258.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.6

File hashes

Hashes for socha-3.7.2-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 32ccf8069fe8c7b11aee568fc621f07d6e73998fc29ba85788d609333605beae
MD5 21d5f180bc1758d00bdc9bd50ac71629
BLAKE2b-256 058066a61007dbd1864e907c53753f87702b4c7988fca49929e668b1315447e8

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp310-none-win32.whl.

File metadata

  • Download URL: socha-3.7.2-cp310-none-win32.whl
  • Upload date:
  • Size: 240.1 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.6

File hashes

Hashes for socha-3.7.2-cp310-none-win32.whl
Algorithm Hash digest
SHA256 14bc00e40d3738719811b57c74aae01d12ae06aa309c063a6106fa9ce8206c7b
MD5 04eb15c1751395a0bb96044f29e71d8c
BLAKE2b-256 87277d86b113f57cae6e46fdc92f5a1ddf782f7b2c93070b86b0512850d978b3

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a2bbca3d65d936e517bca771e59c3cacf52cd53dbe54268230890ed5b454f1ba
MD5 55dfca50a255f3f95002d10c5fd8dc5f
BLAKE2b-256 2ede1d22624e1688f7f760823806dc653e54935aaa49fabaf573b7899b91012b

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d5a271b44f127dd2d86cfa930c9b061e3442839cc3b6415ea1eb99151754b3c5
MD5 b2bd2190de09dd798139ac3877328184
BLAKE2b-256 cc525ccc405884af718f141e966ae956ab6c44a43274754860c0bc312272c78c

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 926c9296926098e82b9a4b572a8c59cc203f9394375ee334527cf9bd1984ad2a
MD5 ea657550b068702d4dcf6cc000085a7d
BLAKE2b-256 8b54f03c1fd51376b91c8484c8c3a16be1931ecc9ff7c853bd46b4d7f2e15e14

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b774ebd17de7351d38a2180f5cdcf4411cb36f595e718547689ad5280de598d3
MD5 b138b03a909a126573497fd854528430
BLAKE2b-256 de9a5f63a651940c75d6d7a6be9bdda26786e519412df6b8c41788f1ef9e0c73

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9616171ba2c0bdad111a4254012ad91e76590c3b358b72294d43677253d92852
MD5 62620052777486533503951befe84234
BLAKE2b-256 688e51867638e668655b2fb901386f0bdd61b3ba95145c44ed0299832ca03047

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 b0d7f212ee0d2fc5aeaf0e399035c890729e3043a412bcc0117478134e183e53
MD5 2b86bff9d9702084f7d7d991125932b0
BLAKE2b-256 6c55fd5f78cfb6a0b66909f73ba7b93ed81b5784c0cd3eec681648192925e379

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd13adc8cc3a28f58f643bf02c3b5015861cd599791e92bdac9ec7289143f809
MD5 eca59f4e680e4a766bde10aba36f2cc4
BLAKE2b-256 decf42ce352aff2238aa6d2de9ec9ddda4b99b62c5b0f4bd3f3efe2e4b91d771

See more details on using hashes here.

File details

Details for the file socha-3.7.2-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for socha-3.7.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b78edf401f10c1e5449d6ce325d20db6c2252267b6e349b1d07a6c15f98cc834
MD5 051d2ac8162de2d0c2cb1baa4f6406c9
BLAKE2b-256 5836a01cc47f7edc489aa6ac3279953ddac6e48bd0c166e77f5fbcf6fed1c983

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page