Skip to main content

Software-Challenge Logo

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

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 Blokus.

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())

ACHTUNG Die aktuelle ReadtheDocs Dokumentation ist nicht aktuell und leider Fehlerhaft. Die wichtigen Startschritte findetet ihr wie gehabt in dieser ReadMe.

Eine Liste an Klassen und Methoden findet sich hier _socha.pyi.

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.

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

If you're not sure about the file name format, learn more about wheel file names.

socha-5.0.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (512.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

socha-5.0.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (601.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

socha-5.0.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (469.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

socha-5.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (463.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

socha-5.0.0-cp314-cp314-win_amd64.whl (305.1 kB view details)

Uploaded CPython 3.14Windows x86-64

socha-5.0.0-cp313-cp313-win_amd64.whl (305.1 kB view details)

Uploaded CPython 3.13Windows x86-64

socha-5.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (465.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

socha-5.0.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (496.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

socha-5.0.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (598.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

socha-5.0.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (468.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

socha-5.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (466.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

socha-5.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl (490.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.5+ i686

socha-5.0.0-cp313-cp313-macosx_11_0_arm64.whl (403.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

socha-5.0.0-cp313-cp313-macosx_10_12_x86_64.whl (410.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

socha-5.0.0-cp312-cp312-win_amd64.whl (305.1 kB view details)

Uploaded CPython 3.12Windows x86-64

socha-5.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (465.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

socha-5.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (496.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

socha-5.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (598.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

socha-5.0.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (468.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

socha-5.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (466.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

socha-5.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (490.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.5+ i686

socha-5.0.0-cp312-cp312-macosx_11_0_arm64.whl (403.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

socha-5.0.0-cp312-cp312-macosx_10_12_x86_64.whl (410.5 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

socha-5.0.0-cp311-cp311-win_amd64.whl (302.7 kB view details)

Uploaded CPython 3.11Windows x86-64

socha-5.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (463.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

socha-5.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (511.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

socha-5.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (601.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

socha-5.0.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (468.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

socha-5.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (464.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

socha-5.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (494.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.5+ i686

socha-5.0.0-cp311-cp311-macosx_11_0_arm64.whl (403.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

socha-5.0.0-cp311-cp311-macosx_10_12_x86_64.whl (408.9 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

socha-5.0.0-cp310-cp310-win_amd64.whl (304.9 kB view details)

Uploaded CPython 3.10Windows x86-64

socha-5.0.0-cp310-cp310-win32.whl (281.7 kB view details)

Uploaded CPython 3.10Windows x86

socha-5.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (464.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

socha-5.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (511.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

socha-5.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (601.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

socha-5.0.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (470.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

socha-5.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (465.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

socha-5.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (497.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.5+ i686

socha-5.0.0-cp310-cp310-macosx_11_0_arm64.whl (404.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

socha-5.0.0-cp310-cp310-macosx_10_12_x86_64.whl (410.5 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 5d1327f73f1819d6e3d07ed652e68eb2feaef0e582bbea7e590659c75334d3a8
MD5 55d1546af4d0087e7d9f402424819fb3
BLAKE2b-256 d656e2819de3c9793d2722535d92d5afdf417c6e5dd4fbe4c186e5fc73d069d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 b9b546a17175303ed52f80485b8550e0ae8fc8c74c41601cc79e2bb28808bb94
MD5 c780a217e12f5bac99350f398cacf162
BLAKE2b-256 1f8f4853cf65a44f596fdbd72c88d36f66396c37880656660075851be268ba7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 6ca6d0380cb575e4819c56810729fb104a075d6235d44fae34c84a23a66dbe4b
MD5 51e2b9aa16805c00c57db6000b14227d
BLAKE2b-256 f9fe25550583eaa6ceb9284b62f5c1155c652e323548cd5e4b0c664cff408fad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e45792f4876a03b6468cf5359eea1800bf38e4d2c5a8a5c54318ae3db210fd79
MD5 c5135e034b5856f6f8b38af92f6520fc
BLAKE2b-256 7481954043b80c99567eb19bb56217a19835279bab27cb4056463e34fec2edb4

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: socha-5.0.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 305.1 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.15.0

File hashes

Hashes for socha-5.0.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c868978b782cb829fca530b65c1f015b23fd561df050d3769a3f49a9d83f2ad4
MD5 fed533cd76dfca32ee15647dba8049df
BLAKE2b-256 2bad383d485ca89d55a95c49ecf93a875b372c3fb6f83bf341db8ee96121c292

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp313-cp313-win_amd64.whl.

File metadata

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

File hashes

Hashes for socha-5.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 73173b7775c6bb5326f67c90a6e9fe3877b4da7aaf45c7267771b9a9e5408dcc
MD5 3b4d223652e0085d0a46362c773bc834
BLAKE2b-256 70f379f558ca7c284a30ebd927963d568980d7bbded5c3fec86549d3500898c3

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for socha-5.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 860e7047b7310ce0b664b523426e29a530f11e3c260563624d29e3727a044faa
MD5 ef2e1b785046414ee7eba16a3491a3a0
BLAKE2b-256 fb9342ef4e04f25630ff83d2fc7b8465acc7dbdf9e7cfe2e16d39a8841790276

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for socha-5.0.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 4556bdc779eb9a8e6ab88249cd5dea4c78ac3fb1365ead7d5be771484244b58b
MD5 0efc094f486e842809981a8abbe571f0
BLAKE2b-256 02421429db5d8a8f225ade6647924dcf6db8816822b6780c383608ffc6e25333

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for socha-5.0.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 88d98e7474d9fcafc729d07e1d818472a11dcfbc7d4575ae97c06f73427b9b29
MD5 76cd0584cf3f48bc4a7ca7fd0785ad8a
BLAKE2b-256 2a7d64c6f78cf6dbe13b351d81c08794336693d5981841395b145fbefa95dc22

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for socha-5.0.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 da5df97ba1c708272a4d9d18edffc9f3505b0ec2d6f9171c516038d89e62c408
MD5 34daee3e41c39534f777995994fabd4e
BLAKE2b-256 50cdafeba4aca73d675fa322a8a934c4d001329eb735b3e963d6f79181c15bab

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for socha-5.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fd197966a3e646cada74d3f5bc2a128b2b190a3373b00cfdcbb64c0a1a1d3db1
MD5 9aca24f5d1f2bcea00983f72b47cd69f
BLAKE2b-256 9ee9212e2251168472d43507a121b0137fb39c8eb4bb631100a239691390d2f6

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for socha-5.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 2df4318d6b00115f87a47cd33da3469a7ec3b8066596337780d8c062c513014f
MD5 bfe7befd3090513c6843c60fc5afc670
BLAKE2b-256 271b6d8bdec773f08041cf779fcd760d71aea01cd1e8b192bfcd01b90948c1d7

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for socha-5.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f3c3efb2bacb78cef62673e666500735ebaf6b92d4007268c57882917a693cc1
MD5 a1e549929c12d3d4127c9176893d5423
BLAKE2b-256 81557e797932344b396cc7494ce94d8d0574bda045abf177f2c1baedb02af956

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for socha-5.0.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7baacf8c90cff5d513ce723fea8ce8033cdd548e7f3646517c203b7fa7eae069
MD5 1720ba2d2702d551bea570b86fc89482
BLAKE2b-256 6f5cab03976bdae26e1016693e40c11ac45a2314a4f6bd21ae28f7a3df5db296

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp312-cp312-win_amd64.whl.

File metadata

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

File hashes

Hashes for socha-5.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 22cd6faf883637a77b15fb64e251f3f9a13e588b1dc466ac83d2e336586d1961
MD5 0795177ab5e2197b9a7475fe1927bc3c
BLAKE2b-256 69dfa90358afeca564e88737ef585af6181c0d1cc799dfe17bae0ecc3ba8c26a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b578cc0453e7ad47a512532aaaffe85d7f79ddba630f47d83ffa1158915cfab8
MD5 b817144f53c41061d7c368ee08cb7eab
BLAKE2b-256 40a006306bad8571ecb82449f0ba342c5f99fd56794f7d21a62178559fe7545d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 fe93d06b6926f2370f29f4dda414264e07ac8d1b173044557e3fb4d45eac8445
MD5 ae915f17879c4fb54d821ae91f5e6038
BLAKE2b-256 ed1cb1e2d38619af6182af86a1488e8cf68b9ebbd7025651895929262098345b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1fefb5e39596458366b11810c92b530dd552414e448ec5c73ceee1548a0641fb
MD5 f6485a99bf4d72c0ed3e5992bf4b47f4
BLAKE2b-256 0d74875ea7186bface91afb24459f7948dc1857c32759ccb41612c91f4a8ea10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 ce94eeb934b460b14f1998936c61070e80a89eeee8b6e784ebe71bd7f113ae53
MD5 9364085af79405f70bd70207609b5903
BLAKE2b-256 95e6b4605d4cb1089747e429abb975c7df7a233ece709e9fad41160da09b79ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 01edefbd0b123c5e35e75b2a904e5629f609cefa6698d5144b195de8cb4d453a
MD5 d6b02d7cab9e7fb8934d489c04457fc0
BLAKE2b-256 2729be1e2597ec6fc0e77f87221d523d62508506c5fc71ffb5907f67ea8c326a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 30a707c6f8d0f88fca6a5a926c9953766a4385862b46bc78373fcd12802c3e1e
MD5 f83222e12ba44f5b1ca57385174d1bd2
BLAKE2b-256 110ecc3e1630c759c116b63ca9b3c9d89bd15e1f04d7d79fba748fda5770e2a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7d6eb8c26917103657f511919253437b0239d7c178ca0429defea3bf74138322
MD5 a4fa4cd1180063066bd4666f839b44b1
BLAKE2b-256 63fdfd81a5c839cf1024c5250cc3d1b30c9c49a18307f52c0b76eafd22697512

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4b51b57c57026940940738239a72f9184fc36bb50e4b3e578e27aadd9d450336
MD5 c4a4e5c8ea5552748318376476abd411
BLAKE2b-256 da27bb84edfb94cbf685befd4a49b6f68207e44e828948930311379eaa130243

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp311-cp311-win_amd64.whl.

File metadata

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

File hashes

Hashes for socha-5.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e00d7e86099017eaf9d2da397f54d835d41d45aa0a74b779835feb5bf9fd30a4
MD5 c5cefc2a13a2915b227b5af1efa99fb6
BLAKE2b-256 7658f5db756700c220980d139bb1e071ac42c718c8dc087b88545620504ae2e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e41bf7c4bc3bc5a16909a98a4756565e196c6aa48e98857281cb1defc3017174
MD5 7772e5f1dc80e7de78080b333849e438
BLAKE2b-256 81609002fdc41e1afcb4c1040dd32df7549b61f2f9e91ae76fbdd96d28cc6053

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d1f042b2645b24880cd10731c6810d746dab269763a09456497a0a9a4e73a1e4
MD5 55cce698dadfcb43f95a9b4e1f465dab
BLAKE2b-256 8acf7d16bfecdc15c7b884f37138722f38ec0df11f548e8b2715a379b5d24100

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 dd13c18bea7edb04eb0236ac611a04e1299495ff8548b0b68ca3d5499f12e91a
MD5 50e0b8472b0dc0dfcd34fc81c7a3084b
BLAKE2b-256 f86babec8249b578aa049becd0df60f65fb61be1ff4984b808f2ddd1c99ba54a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 08e0d1fb1c0433053bba863a4da978e51f511f773fd80aa61225c5485dc8036d
MD5 64aad28709527347d2c7e2a09d8f854f
BLAKE2b-256 9682248b97a1f67c9e8f014038d70c443e63abe2d4cdf64dad1ac43b77fd38a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a675822d9a4ff83b9f8ef1ccecf7084449af2727d5cbff4280636e6cfd1df616
MD5 caac2caa24b648fc3e5be512012ba885
BLAKE2b-256 fb841deb60c9fe00b1173a76b96fcc5bb80ae172cdaf2fdcec9d726940732478

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 214f3449cf9b61ac0c67b20cea84e6949ffd8ec4801ab03a976f1ea74e521028
MD5 20e6b25fc7a620cf2af2cb614a44daf6
BLAKE2b-256 7c86b684ae8b8eca1209cb151fe99ca6d711a5fae7a60fffa6f78d23bd5dddf7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8547237b31491e7d3713c67f704176a31e3f8534d002e792757e6dd2044fc5f5
MD5 34cb79faf627d2ebe1c3bb486d8ec2c0
BLAKE2b-256 1c435ad92a8d1d1f67596c6a056c8cd3dcc8f67c8953d92280a4f64d14716059

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 75469c07bdc1550963573817236b9d76865c7446b3c1100c570ddc6a2db44acb
MD5 9a479f1b60a5b955f8b7796b08e0eb15
BLAKE2b-256 628546ce14d9ffe752c0a448f46013516620df971bf0bc9dc1e820cb4599ab1f

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp310-cp310-win_amd64.whl.

File metadata

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

File hashes

Hashes for socha-5.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 30b576325c83d95a477e719810cf997f29b74a3045ccc1e8f0c14f240b883401
MD5 75d4655c38549a93d35ba7abc94f19a6
BLAKE2b-256 57cd4f84b51c6d672ee081e488c37c804eae17e9e1e567a2c3254758b4bfce4e

See more details on using hashes here.

File details

Details for the file socha-5.0.0-cp310-cp310-win32.whl.

File metadata

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

File hashes

Hashes for socha-5.0.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 cd422b0b2325ffc197f14430febead406f7b94509ce85fb9a586f75c2fbc6916
MD5 8a3de6bfbd75c3d74e285cedb6bf7b13
BLAKE2b-256 2fd2eeca5d446e952235e212604d0f6190b8203af9788fbd5f98ed44fab14ff8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e671746a2435a639a83a8fca0cfa44a957558b2ad2076a2521f0e8648b6f1ad
MD5 b7976c1a89a33336b64e36a8c9f409f8
BLAKE2b-256 c9f9ab56abe584d3c19907e21996a25c29e4560b0b78ff5aef81c66ec031d1c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 40442357b1c7d5662e1bae1e7a6acf2e96f86fe79f3fbcf95a82de309a5e2b47
MD5 3141da478ab5adbb973d6a60939b0efe
BLAKE2b-256 d7bc2b51dccd55878e74f6fe0af7e570b5f6a673f15a46fc045b1337b3f6be59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d7fc499851f52366e6cb83cf9903283419ca5deef42f708fb8372c59cac386cb
MD5 925c25180127edb45ebae7479cd28a0e
BLAKE2b-256 533d435c6e52883dcdb1269dac1ef5d9bdef4c2154f74fb9c1cbdc40b809d3f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b7666236f1f832a02f656f5ed6265fcfd55bb174bf5869b817a039190206b6e4
MD5 c261f46c734a93b5c966844b31830718
BLAKE2b-256 7d6d5185482e849e1039dadc4c759accdd75e1b3614b9933fcd3e17a1b3a4e9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 070b2ebbb2c4e80cdc988280e51d6fe9ad8511ef734801f87c6cbda57d9747b0
MD5 e95c54cf13899b7806d490c54ea58726
BLAKE2b-256 1b0fa9d7ee3c8f91c5b7415065d73cbe5dbfba208ce68d9dbae7e0269f078916

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 dd1b82f4a977a8a1ac342dfd62977d71f570b4308b36f4d11c07a57d27242eba
MD5 4f5cbdd612fc410785b34c28eb8c3278
BLAKE2b-256 e6b2d46665f26743a90585a86d3fd96cab7b21199a4afd2f046a656ec8e4fc8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1391d53e6601c51078ecab452f3bae1ebdfe7c25dc8cbbe99449ed1747cceb5f
MD5 602861c65f6764aca5de012ff7d28a47
BLAKE2b-256 dc835d2ce693c95443176f9ad627dda7cbe2020570a264eee386f7b92f85d946

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4a849989596d02aceca52c51da33152bf4e7595d6e772f65f15fa271ee6c6a14
MD5 2d404ccd51a67edbc04f63e6473fb330
BLAKE2b-256 a964e0601504df4328785e37b5af3a566c6c128506e003c873409da8e9bc2c9b

See more details on using hashes here.

Release history Release notifications | RSS feed

5.0.3

42 files

5.0.2

42 files

This release

5.0.0 This release

42 files

4.3.9

42 files

4.3.7

42 files

4.3.6

42 files

4.3.4

45 files

4.3.3

44 files

4.3.2

44 files

4.3.1

44 files

4.2.1

44 files

4.2.0

44 files

4.1.1

46 files

4.1.0

46 files

4.0.3

46 files

4.0.2

46 files

4.0.1

46 files

4.0.0

46 files

3.7.2

38 files

3.7.1

38 files

3.7.0

38 files

3.6.2

36 files

3.6.1

36 files

3.6.0

36 files

3.5.2

36 files

3.5.1

36 files

3.5.0

36 files

3.4.0

36 files

3.3.0

36 files

3.2.1

36 files

2.2.2

37 files

2.2.1

37 files

2.2.0

37 files

2.1.2

37 files

2.1.1

37 files

2.1.0

37 files

2.0.9

37 files

2.0.8

37 files

2.0.7

37 files

2.0.6

36 files

2.0.5

37 files

2.0.4

37 files

2.0.3

37 files

2.0.2

37 files

2.0.1

37 files

2.0.0

36 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.9.9

2 files

0.9.8

2 files

0.9.7

2 files

0.9.6

2 files

0.9.5

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 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