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.

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 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 benötigt. Zum Starten folgenden Befehl im Terminal ausführen:

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

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.
  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.5.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (391.7 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

socha-3.5.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (470.2 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ s390x

socha-3.5.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (433.2 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

socha-3.5.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (393.5 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

socha-3.5.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (393.3 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

socha-3.5.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (410.3 kB view details)

Uploaded PyPy manylinux: glibc 2.5+ i686

socha-3.5.2-cp312-none-win_amd64.whl (243.4 kB view details)

Uploaded CPython 3.12 Windows x86-64

socha-3.5.2-cp312-none-win32.whl (225.3 kB view details)

Uploaded CPython 3.12 Windows x86

socha-3.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (393.8 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

socha-3.5.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (457.4 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

socha-3.5.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (433.3 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

socha-3.5.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (395.0 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

socha-3.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (393.9 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

socha-3.5.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (411.5 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.5+ i686

socha-3.5.2-cp312-cp312-macosx_11_0_arm64.whl (345.1 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

socha-3.5.2-cp312-cp312-macosx_10_12_x86_64.whl (351.2 kB view details)

Uploaded CPython 3.12 macOS 10.12+ x86-64

socha-3.5.2-cp311-none-win_amd64.whl (243.7 kB view details)

Uploaded CPython 3.11 Windows x86-64

socha-3.5.2-cp311-none-win32.whl (225.6 kB view details)

Uploaded CPython 3.11 Windows x86

socha-3.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (393.4 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

socha-3.5.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (474.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

socha-3.5.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (434.4 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

socha-3.5.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (394.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

socha-3.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (393.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

socha-3.5.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (409.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

socha-3.5.2-cp311-cp311-macosx_11_0_arm64.whl (345.1 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

socha-3.5.2-cp311-cp311-macosx_10_12_x86_64.whl (350.5 kB view details)

Uploaded CPython 3.11 macOS 10.12+ x86-64

socha-3.5.2-cp310-none-win_amd64.whl (242.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

socha-3.5.2-cp310-none-win32.whl (225.6 kB view details)

Uploaded CPython 3.10 Windows x86

socha-3.5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (393.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

socha-3.5.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (475.2 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

socha-3.5.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (435.2 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

socha-3.5.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (394.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

socha-3.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (393.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

socha-3.5.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (409.2 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

socha-3.5.2-cp310-cp310-macosx_11_0_arm64.whl (345.1 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

socha-3.5.2-cp310-cp310-macosx_10_12_x86_64.whl (350.9 kB view details)

Uploaded CPython 3.10 macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 46074c96ff95c18207d5cac5e10d75e3624af419d118583d41081309d36ebf8d
MD5 0ba9b2855a1b3e72ca546a3593a06e1a
BLAKE2b-256 c42b70ebfa9b5735a09f14f52c33227a32ffd065e3e2b3b372e09fd30b09c623

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 9ec7c78f26275f12289ed18cd8b0e2c8b8e3b09b957b343039eea0f4eb0460f8
MD5 51dc45dd1c55f8a203d2ba452fb5dde5
BLAKE2b-256 298212939fa8854a4ec6aa8d8bd7606addae8219d345ef959f811a1f4f80ed76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 fda329e981ba8b7762e51a5155bc4670ce1727e4d99ea492eeb55b3191fb8dc0
MD5 8c09cf06bed08cf96413aa9af3aa32a6
BLAKE2b-256 61f0fe7d61450102fcd1ae32c528cbaa1b438fb8004d751130033f0c55a819d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b9542c2ebbc5eed5d1ff4b0dcb4fb86d5dc7bac1c00519bb44d838bb244d0ec9
MD5 90386fdbcf72b1b4c7596eb9e6513ec1
BLAKE2b-256 db2065499968fad7305adbecd1a0fd6e64ab626ebcd13d071e56537045c90ddd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 192eaa6c198fe3a087c837a1d84a1c97131cd8b593b9e363b385f75c6f1c2a25
MD5 f400f50316cb16bda13a31732e836050
BLAKE2b-256 73da1e19d64b52e6026b9f1c4cd976f9dbb01879b2fd5b1ad1273edfa50b7d8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 2c158f1991301271319090e7202d1d97c3e1b6051c86dfb8d020e0433e28e71b
MD5 f67cd3292dc630aa7e256e65ea449b2e
BLAKE2b-256 d11686c68b678eecd4c50bfab35504a86a5c7107eee1a09ce8da012a527dd319

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for socha-3.5.2-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 ba89e7e17e57ffee29476d60326d0f31a822e1a3608a7a201321c2675b26ca05
MD5 4759f7007a2d278535ac25323d6442a2
BLAKE2b-256 0cd1596deb2bbf8c56644a95b0093d2f9bd45cea22627631944488814fd6d227

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for socha-3.5.2-cp312-none-win32.whl
Algorithm Hash digest
SHA256 f33c17c771ebd717079541baec8351f78b72b553d83e0be499eb713d86b9d6bd
MD5 17cdfcf981c860c9e7571d2680bb082b
BLAKE2b-256 470de177b34cbd7b8e6ae310dafb670c3df7a67b6b4458695ab35f50b7ec9cfd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 86712a15bae5064217571136864cc358c57ba81993a3d2b54bbf5981c34c2468
MD5 c082fe524400c5d58963d2770fffc900
BLAKE2b-256 804516eabacb1f1e2e07539de3a838bdb1890b0c1f13ddd4a70a63befa156fc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d5b22d4d44fbebfddd2e1d5f467ba9b3f6dc6c8d3c179feef0168baba209d199
MD5 6c186dd12a3bc7782a34dff589bbabe1
BLAKE2b-256 78171ec32e3932b1aa07346d314662bbeebf9d645ef397402532e7e05dfb3aaf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 94181b69f92983624432e023776c2e7d0e5e4ca909a95061218048e7be34d502
MD5 81d49e2215bdb32e87db20d13a1d46b4
BLAKE2b-256 9b616ba132684d33254988eae199a13e574f8df5b57d03ed1c27960a605dd8c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a42b1398a686146f236991b4cc3bcbafb0c411b6f81c68c3b532329b9174a002
MD5 e0dcb242ba70d1041c0e6dcea5da8b67
BLAKE2b-256 6991780f9ca62abab2ac819188a71feeb1ebe17c1106093c2fab1ec5e685f56e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5097e12bec40a1f5194138015941cbe006cda7c993b5e1c10cd6e339252929c3
MD5 c77cb7b484d4a88aa29d4d6bb54d36fb
BLAKE2b-256 4c0aa2b1ce14938f027b91fed824598d3a258cc5a9e96f3001fb707c03e5b71c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 b55e31e964c5ae6da7c2d17cbfe77461909bb756d512657f74ed2b663c17d6b1
MD5 d83bd5ecc64a5456900dd66d8a9805fb
BLAKE2b-256 33dd8c91ea0c99698e3943589f46f8fdc3e3d6d647bdb1cccb3fcf2f63cf0b63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d69b4ec8dc6508350d2deec478908fbe736a1d13e77d36afa813fe8bbf29404
MD5 ed598e22f8a401f6d747603dd9bcb1e9
BLAKE2b-256 6045dbdaa2c90a95069db140c84c442a54b5d52891be364f275354e71ca51e7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 15a57d489e45fe04b415d14b40c8535a0606d529a891abfce5a3f0454fefc966
MD5 c4471062e96a4a3917be674138b84fcf
BLAKE2b-256 67cdab6f9852b9844c4e5f17a7ada97d9d23b93d0b94ba8dfa44f15910519c94

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for socha-3.5.2-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 7438c52f70ae0a8377035ffa5719b13bc18770b8095503f5896410e00af8438f
MD5 b3f8b00d5624366c40083d644a70aa13
BLAKE2b-256 afc5b9e7c3e81b55df26d12e11d52b5978ebe2174e1693dda3d05b4e2cf85f71

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for socha-3.5.2-cp311-none-win32.whl
Algorithm Hash digest
SHA256 5ad7a4b816f70ecdbacbff4a56064be6ca00bd5cf1b2389a693e9055d4c89758
MD5 cf24ab45eac089107ca1c2f90345299a
BLAKE2b-256 b1eaa572371d3085f5f0464804bbe33a65649c8b72deffee28efa532252ff0c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 070664086975043168dfb833bb4176f6b956356bc3db282349ba803f4c5ec9b9
MD5 0dbe4e602ae8f282bf8bbd15bbfa4f1c
BLAKE2b-256 e5fa78e0611caa5ecca5955c7bbcd7f8264f05641fa20348d79df23f29b5b49f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d052af50e818e974190f6c97703ab7589faa022032565829b4553cfd79c545b8
MD5 a8da4753d03c5098360e88d42640eccc
BLAKE2b-256 a3386aefebba1e7c95897f896f158ebb246ccd414d461b45f7cfab700ea7dfd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9998553311f05586f2dbba50c06d4479474e301e693f3735ece843e9f7c29080
MD5 bee0bff2b0344ececbaa4a5f62364842
BLAKE2b-256 9c107a7d79dfa2d8a9a4899fc32451621832d6eede8c2c6ea64b4cd5e963b404

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c8e6722ac57e20627f204ae4f8cd6d18ac7745a2f6faccf5956af8380f157386
MD5 65704a944da2496b2db884dc22ae8fb6
BLAKE2b-256 895f9a0ec6704d8259b80f593be56c382062b68fed4104a63c2943f08c7f7af3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8f7dc3aee9a9f7ab121beb17b0dff8273f6a67affaebaa60483bb60f41d0d1ee
MD5 ca91e751f8eb35943b762ba13bfe4a60
BLAKE2b-256 37a7135a7754113236f046c13dda566b8227e45ae71006dbf2d8df01ee626622

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 39af68057550098f7df3d96507a2975741a9675109d510212922b0eab27b3d22
MD5 13cf09fbf82306b147e9a840033bef08
BLAKE2b-256 3c9491bc7ea2ad3f81c60bdc597d0ab61e002b7744203e72f216574ed14b6e94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e2e98131e1505ad03893e17b573af53cbf15a4f714e662915ea905a876ec6448
MD5 b65dd894b82100e588cbcee683890bb9
BLAKE2b-256 f891b983740ea0a82dec17fd4d9de9a7eed6f505d98fa119bc2815cb6e76b66c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 007c79383b696e33dde1013862f1345bd0ac405644588fbc74ca2579117bac19
MD5 89990da625599a79f1e54897b84fe34c
BLAKE2b-256 c453f217f39211353b74c21abe71ddc36d94b719bad3e3b713c908f4b693c36c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for socha-3.5.2-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 c39139ea884555e2e2dc58eccca42931ad0e71fba826c2e3ddec3761df1ba16d
MD5 839453584017ccdce9b2e7186a4cb64d
BLAKE2b-256 fd11c71b5b1b8d5f918f29e6b9db1f83d43aaab3b01592f64616debf11f02b79

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for socha-3.5.2-cp310-none-win32.whl
Algorithm Hash digest
SHA256 2c49875feb7d876348c8fa277b683186808216bed7ee98ccf7ab6112269ed36a
MD5 c79c71cc6ad58ac903e645476e48e5d1
BLAKE2b-256 db92ce6ca3acf15cc1a3e861c59428027d9e43749196c75b39038d646ab3a048

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5bb02f988f38982cf81f5466f7be7547d3f5228a0b5a0795413890a9efcbdf12
MD5 9c4c93b761f449758d9b1ca10ad07dae
BLAKE2b-256 bc1705467fadddda09204e7620f8a99887bb2ac06c9f08f6f0557d41294f19cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 24ed62410c29a029dd25580a7b2514f5968fa7c1bd34460bb00b6fbeee6a4a4f
MD5 3b5884d1166338652d9db5972f0d296c
BLAKE2b-256 9618184f272524e0e132176097b5aed7a99a7a80e9be251c4b87688956ab3201

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 92c6e6ad385aa48fed305e6204a86ba611837c51392321b5c671b24d0c8489a7
MD5 bc410cddc65b2bc550156e9b0112182d
BLAKE2b-256 07832d323dd8ac08e662dd33472f8ff8b8befedcba22cdb40147635b878787f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 50dbf94f27bf8db9301407db54bb6bc2c1531eeda5a1845c571ac66d157f9b24
MD5 34d3e1596d0b677e3b8937cc80902fa5
BLAKE2b-256 1c64e92d82af83698896b4efc130d53aea87a1629e2748f6b23c11f55729571e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7ac9334329db8deedbb69d97225a4858900b1a033f174eb0a9633227cc3bc1af
MD5 c6141bf119175e27eeff8f4765ad06ab
BLAKE2b-256 28c3e26d7e9366c49c55843ade2f7512cf9214f9bbf617a646abb8051c6537be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 9bb7292805d0036c7fa86121ece9dd246d4a987f1e1d61cea7f5d5787cd9ac3d
MD5 841ca63d2d599764219325abda3ac873
BLAKE2b-256 eecde362d2a245928972dc05509ffb0f6e4a68253fc6b5dbbe7877bc61fb5e49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e0b4f77e518727e524fd0c4a741aeb334a0eb6a698f4f531986f92cf2d975d7f
MD5 3a48c750d51d0621b0fb5328bf4fd00b
BLAKE2b-256 0249dcb170cab0f876896728bac648bb5cbda9c04ed64aa87143fa2569fafa3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-3.5.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fe53037d1a8ccf6834d86ab90f4d0363cb10366c814376b199b2773f260a25f5
MD5 50da1579070b284c57962617d70113e7
BLAKE2b-256 02cc200add69dec779b043b0fd8d7e1fb634371fd135125c8d86878199987618

See more details on using hashes here.

Supported by

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