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.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (512.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

socha-5.0.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (601.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

socha-5.0.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (469.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

socha-5.0.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (463.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

socha-5.0.2-cp314-cp314-win_amd64.whl (305.2 kB view details)

Uploaded CPython 3.14Windows x86-64

socha-5.0.2-cp313-cp313-win_amd64.whl (305.2 kB view details)

Uploaded CPython 3.13Windows x86-64

socha-5.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (465.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

socha-5.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (496.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

socha-5.0.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (598.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

socha-5.0.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (469.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

socha-5.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (466.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

socha-5.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl (490.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.5+ i686

socha-5.0.2-cp313-cp313-macosx_11_0_arm64.whl (405.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

socha-5.0.2-cp313-cp313-macosx_10_12_x86_64.whl (412.7 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

socha-5.0.2-cp312-cp312-win_amd64.whl (305.2 kB view details)

Uploaded CPython 3.12Windows x86-64

socha-5.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (465.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

socha-5.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (496.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

socha-5.0.2-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.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (469.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

socha-5.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (466.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

socha-5.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (490.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.5+ i686

socha-5.0.2-cp312-cp312-macosx_11_0_arm64.whl (405.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

socha-5.0.2-cp312-cp312-macosx_10_12_x86_64.whl (412.7 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

socha-5.0.2-cp311-cp311-win_amd64.whl (302.8 kB view details)

Uploaded CPython 3.11Windows x86-64

socha-5.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (463.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

socha-5.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (512.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

socha-5.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (601.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

socha-5.0.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (468.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

socha-5.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (464.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

socha-5.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (493.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.5+ i686

socha-5.0.2-cp311-cp311-macosx_11_0_arm64.whl (406.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

socha-5.0.2-cp311-cp311-macosx_10_12_x86_64.whl (413.0 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

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

Uploaded CPython 3.10Windows x86-64

socha-5.0.2-cp310-cp310-win32.whl (281.8 kB view details)

Uploaded CPython 3.10Windows x86

socha-5.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (465.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

socha-5.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (511.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

socha-5.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (602.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

socha-5.0.2-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.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (464.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

socha-5.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (496.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.5+ i686

socha-5.0.2-cp310-cp310-macosx_11_0_arm64.whl (407.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

socha-5.0.2-cp310-cp310-macosx_10_12_x86_64.whl (414.2 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 4f08025d122505e14c85a612aae147b002c8909bd734d383cfde4278961d321b
MD5 d20bd3efed5a4560824abb8755f1d7af
BLAKE2b-256 706eb5b0c3b06268e20e1f8a2653ef21b74b5ac264d942af7501c81188c9766e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 ea92163c210e0cb30584e4d9e29463010daa7fc66b80cf248076e707cd1183fd
MD5 4eb6029d8aa566544bcf259df6e3c33b
BLAKE2b-256 4b61304337ebd208bb24a274adcbe9a5269f1c426e1b6c17d82986e323253871

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 38654c46d6ee62924d32d785c488a0589f46f3a62fbdfe295bcbb15112b71039
MD5 57378196020a3f1bbff7b8c02505ce16
BLAKE2b-256 3bb842d0484ae13cfa414167e082f8be0807320861cef877c5427488422a520a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d752d2063a2e47108d46d06430ad3d0f96dd920b7b4cfcff304236fcc0b5d1a6
MD5 5ce31e173fe8192310ca8b9e03ccad30
BLAKE2b-256 c8db26edb859baa2e86b8f66e59444dda1f199112bf0193af8e51fdfd8df0c71

See more details on using hashes here.

File details

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

File metadata

  • Download URL: socha-5.0.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 305.2 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.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3fc6731e0a8f584bef804cbd2c1f1a516b9b282551efc0f1415df2a268ba7b8b
MD5 be5ececfde1910e81364fb8b4ed5c695
BLAKE2b-256 fc0ad3d6d3cd2d5952773b68ae01322efa479122cf6a7577668efcc97e987f9d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: socha-5.0.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 305.2 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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 233d1f53feca1cd56a5aa1103d48d541d139ea55f67c8a1cd6044ec8f8acdf61
MD5 65a99a36a4929d9311b9b2575c5b9875
BLAKE2b-256 9c882f267e4fe5507ec53ac3a8b11a04c37d288f634e821683c3ecfd8631b9ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8ec6ebd1a9855d14844fc589014496632cd542ade8a0f3228fd8526a5364f1ef
MD5 048ff5a0d55c202a4c49fbd6bed93979
BLAKE2b-256 53c63d237d91e85bc19ce3597837f9359a1d0bd2d9ef68e806a44217a2d1a15e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 754ded068dd1c318cb317e81f6d53337e95779c18b1f0855c3882fef25ec2fcf
MD5 e7f1fdf664dcc61cb807b97a14720725
BLAKE2b-256 7ce2f7d12f47a92d992496423212da52f90f9b1b557051feae1b7824d46465c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 ffc13906a7187906152de6f60b3cab6229cfe66cbb0d53f3c2294ec3880b4faf
MD5 6ac83655947d78941f535fa5d232d063
BLAKE2b-256 578221e2a0212a5f029dd8de275a3a400b70d17167780766a16c389fd84632fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 1686d4bec94f995ea2e72b80a93d4a1ac2ebb08f0017e2dcbf9d16d2b0f255a0
MD5 78c9bc397a631ff4375a56ac470e338a
BLAKE2b-256 adf7007588b99aa1f75737c60a71298b208ec79b2bcf0f799627f16c46a5a6db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 df62f72786d600df8c0485456cb5a4743ea08d80563a0e071e01513545e549b0
MD5 07a6079a631785a05af8f14c88a786c9
BLAKE2b-256 5e7e4fda517dcf6d305a7172859d6b141419d664f482fe3bb620e3d7a120d1f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 3b55400409f3f52692cf3fcfae54b12a12e4c6cc1768712cf965ba41939b9313
MD5 02560efc21521263e20582f5fdf69684
BLAKE2b-256 d79cf3864b4bf9b9ffc515ca925df4af99c3438c2da062c45f59c095f90b948e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d1b3f3931310805b331535c3ecd0d4d0682edbdab91988d5f6e4b1690b7cf87f
MD5 765014bb9bd7db9317bfe2965ca17218
BLAKE2b-256 7d7a5956d7a70850d98b88d214de71353d1c71076f7122430661ab5a64e59cca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 865307292a9cc1d59b3475e345875c8a5a5ff93de4bf3cac18ccf9047d6c3ff6
MD5 894879396749870531252d77f07bb844
BLAKE2b-256 885519470ef1346043817b75b38d75d69ba5b41a96e7ec413823682460da97ad

See more details on using hashes here.

File details

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

File metadata

  • Download URL: socha-5.0.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 305.2 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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b8c513b443bad0d581e38d0fbfbcd1d2d6c9e0c0d9bb2511e54db7b6a6971831
MD5 987c26503d90dcf8fc66d2b18e104c6a
BLAKE2b-256 6c0e40f56393a0b7fe224478b596e558fe7418394c80922878e96ed8aaf8eed8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5e670b349342bab74f422cbc3f23925cc7a9c1746e66db3676c38aa15440962
MD5 a53267b18039c0f3667168e584d09727
BLAKE2b-256 ff258cae1252a53f7648113e056ebdc672c79d3bd4b54d8d96256875d31d0dec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 4c552b5870a501cc06a9e439b77963d0fc4bad32d06958568bc2a1337b7a8a95
MD5 863a9734a8fd9a94e22142e644dff914
BLAKE2b-256 713419f976a6be6c8f05df88847b7781ae9c8d8f3999ef006671ccb6169b3842

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 30a122b04297d9dd2959bfc8ada3b6368d1966f8fcfe5782fad4b533606af546
MD5 b12b69f87144c7735115e611f848d3b0
BLAKE2b-256 42138da8177138db74cd9dc5f0bea84e8ec2ac29136b25c720c177bc132a53d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 362800a5f76db422748eb1475da176b0107a03da29b52ff3f2b28fbc245fa2ef
MD5 0b98430472504a08c7a196a203cf246c
BLAKE2b-256 8833d2b07841a9c1219ce7983a59b5b38681d8dc45bf3defc43c633ec881e111

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8b7ca0f64b4a723864c34002f624410f4a8c9782294ce1d370ae8f84a5081630
MD5 51764f22ffff674c823c51129e890409
BLAKE2b-256 3a436ac4b3f64cc8834ca3ab8aa1d957247387d6dcc25bb021952c08896fd9fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 9d762c16dbfd03b02d41e65a04b631a747fd13b295665a09bf6d4e9e323f0f50
MD5 b35f02497ed539d38ae670ad28f259e6
BLAKE2b-256 904194c0cf049672ba8fd15d370aa8a858354c4eb3b19a239e3865a159532b41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 acbc1fa35ef88eda77168ee31d53097ed6f2fd09df91a86db40281c78e0eb782
MD5 620a28688477104ac1416732252fce67
BLAKE2b-256 c36445bdd09990eee321550ef2753a3b70fc434c0e59d83537e23de79c48c724

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 06b96bc7e87248a457c175c8cfa743fc1f8714576e21b27087243b2f557158c4
MD5 c836d04abe1e73bbce3c1c5d1a912e76
BLAKE2b-256 0248bc4ca8313be7b96d87d5242f3e1f8d55d9a1c25b6933b13759e23a52adde

See more details on using hashes here.

File details

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

File metadata

  • Download URL: socha-5.0.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 302.8 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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8240f050dce665dc1b57cd03da61cd68c867763ce7eb5c248b42ee109a50aed3
MD5 cf88862bb5cd45ce55f2493e9fe0a0e4
BLAKE2b-256 fd057f60934102c985293c9428b697b8f5dab62012874a96686c0ea56b5f0375

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9a6b9756ffce6bb7c1b0455a4f4ce2845ab9712193997e9d3f497f4a62ddcc92
MD5 6d0ecc8dc603f3f7ce505405f8b1b3cd
BLAKE2b-256 db6faf69d76ca3621f021c7797712c4a6412b9b529cc7dcd2719b67c32e14169

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6c10bdf6ad25363c7514beadf23ca8ffe66efa0fef05a3ec099df93b64135720
MD5 85ad1c587c8e4cb3837192824ee61717
BLAKE2b-256 3bc2aec462393b87380810f11090bb502efa16745ab19f7cce1ce0f387e27ad1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 609f28d720cacde3f2cf0985c7f70cdae7efbeb0ec3a736c9a2f3b4de168077e
MD5 50fecf446c706f838d59a99a3fd17dbd
BLAKE2b-256 dd847f2b76e280af28b9a7b70ae79600a31e5a7724f9b78974aa7b813147db26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 96872709f1d19e2dacdca49a71bb5744e68297d97b6757972f9a12b3b9dbb54b
MD5 ee9bb9a09852ef9006891b1935f10f7a
BLAKE2b-256 ee5a93f320c2cec8657d2131661648709f2079587ebbbd49ae307d7a538de857

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3e5349337d5d1f439d7939027980275cda44c1896e660938b8b5b697683503dd
MD5 357c8fc643e6f657f4db6b8fc317e716
BLAKE2b-256 b1829680db2cce3225064743a4dfac321ef07481e0cca6b2b3796a3c721e2610

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 0ba6b8d0aecd7049ba7a8b5370398a5723cf2ecae63e91638de51c9ed9bd17ff
MD5 7e51a9b7e350cc63aca8074cac5bd78c
BLAKE2b-256 418f756b411154f80ac34b1aa045c9c67c1514f29143619b04524c23c9d071bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a316c2ad62193a73c1a7b13116053e2fafb51c72d53dd4a83dd5611b629ec98d
MD5 339e4f34371dbc1ad549d8b4604de355
BLAKE2b-256 b08973591b624008eacf7603e0d89aaeaebef1b0b8f0b7e0b668e0f51b1e7b0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0265d0d90e7fdf8c7c78a747aa5f2518117c52c911bcb33796a27025009f3600
MD5 2a4f472245eb4d6ae9068a36a102b715
BLAKE2b-256 03c772aa6df126c8420de9b26a70e3b0b227537414370b4e3ccbf049dbfaa741

See more details on using hashes here.

File details

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

File metadata

  • Download URL: socha-5.0.2-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.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 77973d866615f623613052e960c446082331262a632b530767b6f6f653c8e146
MD5 613cb41bf7da38070109deea00895428
BLAKE2b-256 ee1bdfac053a523baa3dfe4ad06a50579a26448b6cd03d248ddddd9783d98a3c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: socha-5.0.2-cp310-cp310-win32.whl
  • Upload date:
  • Size: 281.8 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.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 7e4176773250087d590e067efb965a393c62ebf1e4c5da2250c47568e2eec639
MD5 4685d18289bd8c5ab663091a04695e03
BLAKE2b-256 c97e8f375938bcc354b6f324819a842041bc253757b810ffaa6bc1496cf0c4bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d231aef54eff88a7835c92371a444bfe8238e38b4b074d3834c37a7ba24581ee
MD5 68b62c86861042c2df1cf0ff1cc6989a
BLAKE2b-256 4a7ca22c85cba0d66e3986e345d6b65c83d96265a93c936ca29d451b5ebee4e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 fc9700df26ae2f400464e7df7508bb6ff8882cd350443ba274643a96df80c3fc
MD5 a0bf2cb432545349bfaf12b36f5672b5
BLAKE2b-256 be7128c14cd882e899201b482bd1385dc1f16ecb80ba36b27305ad5ffab193ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 08f4d5cff5cbb08e871bb944c61aa445c306f072a6935aff5a860b4692aad8b1
MD5 6dde06490edb102a8afed9544fd2c5ad
BLAKE2b-256 b9ea9c6209648eae08e72a22d4881144bfa829231880b7630de1e61ca4bd951d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 8689e2d121c4c71b4640e47252e2b99a497d9b1ba9c528e12de93646082a1329
MD5 3627e6b45b192bd6dea4cb4b52f5298d
BLAKE2b-256 d9a212d54742200601dd7911d237222a7b3a5f2d7961313f1a159a5dd5ceb403

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 17d27d49d23d1994c52294bc087ddfc5ed4aa9224a3e8365d7386919a7d6585f
MD5 4551af8c1bed7b75269bfcb5d85a7194
BLAKE2b-256 c5d4b45541b6ad2a4f81e9084bf41eab4c370b07478a04fa54d489ddb2450f15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 2952658dbbe61e9274e33fa48129cc094c0b59ad7b24dc4487044f5a874fa18a
MD5 c8a323fdb2213874a6342624e00294c4
BLAKE2b-256 6a26de4975f25f6180da96078a961a80a345e0a02e669e36260646ef51781eb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 53df939e6ade9b6ff2585d19c11a76db1e49322bfeabf1d931ac9de3f6a5a6e1
MD5 82afe548e04427e0a0b157f67b295d72
BLAKE2b-256 a140d47f92cd0ce89007e881191be9c61654dc56d2d9def40a7389f6ca638aa4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-5.0.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cca931d615e1bd25773d454d273b0c24a6ff85d9c695ae043757a8a09539284d
MD5 54e24c4c59f21456497e422301511c9f
BLAKE2b-256 733d05a1d063a6ab9b663f7605ebfd3376ff1cdd0e8a14d1ff52d821d6190d10

See more details on using hashes here.

Release history Release notifications | RSS feed

5.0.3

42 files

This release

5.0.2 This release

42 files

5.0.0

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