Skip to main content

This is the package for the Software-Challenge Germany 2023. This Season the game will be 'Hey, danke für den Fisch' a.k.a. 'Penguins' in short.

Project description

Software-Challenge Logo

Python Client for the Software-Challenge Germany 2024

Read the Docs PyPI PyPI - Python Version Discord Documentation

Be warned! This package is currently experimental and has still a few known bugs. But please try it out and let us know if anything comes up.

Hey there! To help you out, it's best to start by checking out the documentation for this client before you ask any questions or open an issue. It'll provide you with some helpful information!

This repository contains the Python package for the Software-Challenge Germany, a programming competition for students. The students have to develop an artificial intelligence that plays and competes against other opponents in an annually changing game.

This year it is the game Mississippi Queen.

Table of Contents

Installation

Two methods are presented here to install the socha client. The first one is the fastest to get started right away. However, this method will not make it possible to run your player in the competition system, since there is no Internet connection that allows you to download packages. Therefore, the possibility of a virtual environment is presented, which installs the packages inside the folder.

Pleas make sure that you have at least Python 3.10 installed. Check with $ python -V or $ python3 -V.

If not present you can install python with the following commands:

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

In some rare cases there maybe a broken or missing installation of setuptools. If this is the case on your machine you can install it again with pip install -I setuptools.

Globally

The installation is quite simple with pip.

$ pip install socha

If you want to install the package manually, then you have to download the release of your choice, unpack the package and then run setup.py with Python.

$ python setup.py install --user

This should satisfy the dependencies and you can start right away.

Virtual Environment

To create a virtual environment, you should first create a directory in which you want to develop your player and than enter that directory.

$ mkdir my_player
$ cd my_player

Now you can create the virtual environment (venv).

$ python -m venv venv/

This takes a moment. After the venv is created, you can open it.

On Linux:

$ source venv/bin/activate

On Windows:

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

It should open the venv and you can now install packages and run your scripts here. To develop your player you just have to install the package socha with pip.

(venv) $ pip install socha

This should satisfy the dependencies and you can start right away.

Getting Started

If you want to start with the Software-Challenge Python Client, you have to import some dependencies first.

The following are all possible imports which are available. You won't need every, but for the sake of completeness all are listed.

from socha import Accelerate, AccelerationProblem, Advance, AdvanceInfo, AdvanceProblem, Board
from socha import CartesianCoordinate, CubeCoordinates, CubeDirection, Field, FieldType, GameState
from socha import Move, Passenger, Push, PushProblem, Segment, Ship, TeamEnum, TeamPoints, Turn, TurnProblem
from socha.api.networking.game_client import IClientHandler
from socha.starter import Starter

If you now want to develop and implement your logic, then the structure of the class should look like this.

class Logic(IClientHandler):
    gameState: GameState

    def calculate_move(self) -> Move:
        return Move([Advance(1)])

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

The above example is the simplest working Logic you can build. As you can see the Logic must inherit from the IClientHandler, so that you can overwrite its methods and the api knows where to find your logic.

If you're done with your version of an working player, than you have to finish your file with this function, where you call the Starter with your desired arguments. The following starts the client with the default arguments.

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

If you want a complete file as an example, you can take a look at this logic.py.

Start arguments

If you want to run your logic from the console, you can of course pass start arguments.

Note that any arguments passed as startup parameters will override those in the code, including the ones you set yourself.

Command Description
--help Prints the help message.
-h, --host The host to connect to. The default is 'localhost'.
-p, --port The port of the host. The default is 13050.
-r, --reservation Reservation code for a prepared game.
-R, --room Room Id the client will try to connect.
-s, --survive If present, the client will keep running, even if the connection to the server is terminated.
-l, --log If present, the client will write a log file to the current directory.
-v, --verbose Verbose option for logging.
--auto-reconnect Automatically reconnect to the server if the connection is lost.
-b, --build Builds this script into a package with all its dependencies.

Preparing Your Player for the Competition

To ensure that your player is usable for the competition system, you need to download all the dependencies that your client uses because the system will run on a docker container without access to the internet and sudo permission.

The package has made things easier for you! You can use it to handle almost everything by itself. All you need is a requirements.txt file that lists all your dependencies. To start, simply run the following command in your terminal:

$ python <your_main_script>.py --build <your_directory_name>

This will trigger the package to do its magic and build your project.

If you want to do it manually, follow the steps below to download the dependencies:

  1. Open your terminal or console wherever you want to create your directory that you will upload.
  2. Type mkdir my_player to create a new directory named my_player. You can name yours whatever you want.
  3. Enter the directory using cd my_player.
  4. Run the command: pip download socha xsdata==22.7 -d dependencies in the directory. This command downloads the dependencies you need into the folder dependencies.
  5. Ensure to add all your dependencies that your client uses.
  6. After the download, create a last directory using mkdir .pip_cache.

Once you have downloaded all the dependencies, you need to create a shell script that uses the contest system as the entry point for your player. It must be named start.sh and must be on the top level of your directory; otherwise, it cannot be found. Follow the steps below to create your shell script:

  1. Ensure that you create your shell script in a UNIX-Environment, or if you use Windows, you can do this with WSL or Notepad++. If you use Notepad++, you need to go to Bearbeiten->Format Zeilenende->Unix(LF). This step ensures that your line endings are LS only without CR, which may cause problems on the contest system.

  2. Ensure that your shell script has the following structure:

#!/bin/sh

# Exit immediately if any command fails
set -e

# Sets the environment variable, which specifies the location for pip to store its cache files
export XDG_CACHE_HOME=./my_player/.pip_cache

# Sets the environment variable, which adds the directory to the list of paths that Python searches for modules and packages when they are imported.
export PYTHONPATH=./my_player/packages:$PYTHONPATH

# Install the socha package
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

# Run the logic.py script with start arguments
python3 ./my_player/logic.py "$@"
  1. Ensure that you add all your dependencies that your client is using to this script.

Once you have created your shell script, you should have a directory structure that looks like this:

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

The my_player directory or whatever you named yours just needs to be packaged as a ZIP archive, and your player is ready to be uploaded. Congratulations! 🥳🎉

Local Development

🏗️ This part is currently still unfinished and subject to change.

This package was mostly written in Rust, which gives a significant performance boost compared to a natural Python program. However, this leads to considerable effort, as so-called bindings have to be created. These allow Python to access the functions in Rust. To realize this, PyO3 is used here with the help of Maturin.

If local development is desired, the following things must be installed beforehand:

If everything has been installed successfully, then the command maturin develop must be executed in a virtual environment. Now you can use a logic written in Python and make changes in the Rust code. Each time a change is made, maturin develop must be executed again to make the change visible to the Python code.

Project details


Download files

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

Source Distribution

socha-2.1.1.tar.gz (66.3 kB view details)

Uploaded Source

Built Distributions

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

socha-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

socha-2.1.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

socha-2.1.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

socha-2.1.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

socha-2.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

socha-2.1.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view details)

Uploaded PyPymanylinux: glibc 2.5+ i686

socha-2.1.1-cp312-none-win_amd64.whl (298.0 kB view details)

Uploaded CPython 3.12Windows x86-64

socha-2.1.1-cp312-none-win32.whl (280.6 kB view details)

Uploaded CPython 3.12Windows x86

socha-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

socha-2.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

socha-2.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

socha-2.1.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

socha-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

socha-2.1.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.5+ i686

socha-2.1.1-cp312-cp312-macosx_11_0_arm64.whl (433.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

socha-2.1.1-cp312-cp312-macosx_10_12_x86_64.whl (432.9 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

socha-2.1.1-cp311-none-win_amd64.whl (298.8 kB view details)

Uploaded CPython 3.11Windows x86-64

socha-2.1.1-cp311-none-win32.whl (280.2 kB view details)

Uploaded CPython 3.11Windows x86

socha-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

socha-2.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

socha-2.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

socha-2.1.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

socha-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

socha-2.1.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.5+ i686

socha-2.1.1-cp311-cp311-macosx_11_0_arm64.whl (435.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

socha-2.1.1-cp311-cp311-macosx_10_12_x86_64.whl (438.1 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

socha-2.1.1-cp310-none-win_amd64.whl (298.8 kB view details)

Uploaded CPython 3.10Windows x86-64

socha-2.1.1-cp310-none-win32.whl (279.6 kB view details)

Uploaded CPython 3.10Windows x86

socha-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

socha-2.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

socha-2.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

socha-2.1.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

socha-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

socha-2.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.5+ i686

socha-2.1.1-cp310-cp310-macosx_11_0_arm64.whl (435.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

socha-2.1.1-cp310-cp310-macosx_10_12_x86_64.whl (438.0 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file socha-2.1.1.tar.gz.

File metadata

  • Download URL: socha-2.1.1.tar.gz
  • Upload date:
  • Size: 66.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.4.0

File hashes

Hashes for socha-2.1.1.tar.gz
Algorithm Hash digest
SHA256 49e4ef76dee2ff5c3582d46d5d4a1fee3ce3d977c68973ba87a2fac498d5523c
MD5 3997b1274e6a5bf9f17fb60f81225229
BLAKE2b-256 34a8c23c547baa6f494412d4ee7adf8809d53e319284993bf87d0fe114f7f6d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 019dca4f57d5d8dc3db8d8b8757bb3bf3719f55fa2cc5cb31a182180d329928b
MD5 a5fcb201b9bde00c7f6a00bcfa7e181e
BLAKE2b-256 67c39262241dc8b379f76528217dabfc194f7ab146122f1b3beed5dc90fec985

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2ca7195de4899345d714b2a6d386f77b2160e0f8a6ea16c20843ace0c659f335
MD5 df45086c55ecdd60e1f41cb742cd810a
BLAKE2b-256 90ca70caa2a7e2f2d584874b00591155785bf37a9769611b1f184785c405fc95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 70a7573ad7ae4c166325d2e7a4717bb67c6baf3dc310680b5d5faf6e7c1391fa
MD5 278f875bcbd77beafe512db00071b53c
BLAKE2b-256 d181ee669558b67e0113f5e91060226b56647e212b23c6b4b5becd04c3f8e5f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 44ad30cc9c3f43ca37a57bf8d4d6ff009e92f02c7b7e3dc6e17c8d740eacf65a
MD5 25c2b6fa76331b5475b396ce96aa9fbb
BLAKE2b-256 198fa6c8eee0491c8c452beb005b1f049a51c68e027a236ade2436a3f02f2f98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 73ad6fe56529705079fcf98c45314b274b2e7a5e5690f774c4f8d3d500a90cc7
MD5 7c24185014f3bba42b336528f6f4c730
BLAKE2b-256 5eea247556669202c32d0fb1d787ad64bff128f9cbfa4e5d29186ff1a589ce02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 4a96ac43eadf1cc232323371fb0b50f72c71843f509fd02ed2c2cdd0adda2207
MD5 642ec2cb0fdc8b0d6085671739f656d7
BLAKE2b-256 7dec013c55fa67080ab3ad245b6b3d1d7f5ee12f942b4cca11e0f6a442acb5c0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for socha-2.1.1-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 9e01e70424d066cd6985456559aafd9be7e5e34c47a694feedcf7077f86cf713
MD5 e202df093fb7d231a4fb75a5086757f0
BLAKE2b-256 b2d23835e3fcf32134a24f212ff47be142b24c5aa355b1d5fef728929e747eba

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for socha-2.1.1-cp312-none-win32.whl
Algorithm Hash digest
SHA256 77268ac78aaec29b63ba04374ba5a712e6b7f1964e5ad4b8bdddccd34d332ee7
MD5 3d56c759d4fd6344e8163e4122f9598e
BLAKE2b-256 07da8303119457ec6fd2cafcf5e3a0c93913326de5168118de5ceb8d94e8eb69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0e44556aa943b32dc71b040c98ad72c92b01cad837705398f10aa188a2508acd
MD5 2d75784c0f2e1ccacbea24545b3709bd
BLAKE2b-256 474b6fbf7035ea006e6ddc585b12ed0972003a917400c967a71ccc9101280cb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 846e9a8359585a93dd3c0317e6b9227fc0ce570292d920b4738b34f51739418a
MD5 a347538e33b761710ec3e7efc0848aff
BLAKE2b-256 4566682fb20958e799284b1602558a2d025eb82f55bd8d4b95b57d3fb87c9ae0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1922b793f41082ad065a6f2da24cac000a4d7b471f1864e4fcadb04f826e707d
MD5 7be40bf8e38938ba902375c46d3d065d
BLAKE2b-256 1dce7daf3b4d050369d8778d64188922ebe38bac149940f3be5aaf36343d55f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 552350a575e52eae869c0edc20b69b2548357d30644e1f31de7fc331894f2356
MD5 512b392f39dcbeac719f507dc1cd965f
BLAKE2b-256 6d3070a96bb33ae86768329106b34c350c12435acc48d7ac5967ea59caba9e4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6fb2d248eb4223f197e1adeb5b5367095194e7aa116d002c61362fe271774e84
MD5 860a9bc72f6a5d379a9b42abd43d017b
BLAKE2b-256 d27fcbce581c6315dd9c80a1ddfb657c13649729c7649bab55842e1bc210904a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 e8644f46e9f9971a70e73b3f44cc97c2912664a57315238fa2447884f5c0a5af
MD5 bae301ce030e87e9610e612db40c21e7
BLAKE2b-256 415e2b715d7e9b3bf96c93d2337205e968917aaa6333044f84a26c1ac77efd0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 038bf29b7241f7edd2e0c334af313aab710b2e21cac5cab77ce50b9c5b67ab7c
MD5 a64f7d8cf80353512dc2af5ec4b20296
BLAKE2b-256 2efed1fe3ba3ce7b46f62f630f6fa38b6ca6fe57ef32e27a0f47898bc31fae85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 28aa28ac6cf0c9f1f680d01ec0ec59b6bbf8afc43834ce5029dc846c0aefa803
MD5 8970b870e673164605e55c4bbbbc88dd
BLAKE2b-256 c039fcb55082d483cf901005f3435e4096a9059e1913dad4ef01d7f84bb2136e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for socha-2.1.1-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 8973dbbb1573cafb1473643b98a778e0159b4476bfecaf81c20fea02ce7aaed6
MD5 07ba7b7173fd1f5077af4191e5fe2335
BLAKE2b-256 4c22ae9df5eb227de247de580a9e290f5071a74ba09d8c1a0f9aa173a539ec91

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for socha-2.1.1-cp311-none-win32.whl
Algorithm Hash digest
SHA256 474b275dfcb61fde743bf8fef9531cc8fcff7a35245bceaaa22afc2fa1d4d1fa
MD5 4c70c3c62aebc7cac7d301b2d80924c9
BLAKE2b-256 629f2e5178ef8b629caabf125219c05d7a5b6709d82be04659b2ee668aa49207

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6012451e88e3ccac86f356bfb5b14d583cf0c10b5801adbca295f48030dacf11
MD5 62d27d305204451456942525778e6b7a
BLAKE2b-256 9db3fc472bdeebcc812b2ff64e1be75f9f1ef38d7f3f3fca1fda43433c280772

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 fc8501234e780761d0ce9b07d1b606058f3240c425b3fc95ccc136aa0c2264be
MD5 c227a04d2e969f382adbeb9596e5ef71
BLAKE2b-256 0934a42664765547aa7948f01e02c972d23ce037bcb737999ba11099f112f69e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 0593ef74ff4113f3fd7348575992a268254eae034977d15ba31a855c3e1ebd6f
MD5 a409281521887d27ee8329a88323c06e
BLAKE2b-256 439b2cab5ec8b1ff02f713ca2fa9382a5284f10efa43e83917e3de51c0ccd3be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 85bac90a6c28a61697f29abccb4dde1ce8c77cec33c0c3a277451d9b4058785e
MD5 a10cffa238b5504084793422b4f129fc
BLAKE2b-256 1758585d87e6ce0f2d8bee194483afb510cd4d64bd7d589962090de0b3a59d58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c8ecc75923cd0ea51c0ef0b88fb7e745fbf93697ffcf2dbe2249480f21b8745c
MD5 372cbfb172306531fcf9b7dd77d529b3
BLAKE2b-256 3d54442443e828421d5b92da6296e1137f15171a3695cb6952dbf43aacec8806

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 a4620adf40a7e454087f20f9cc90e8af41d5b94e086109daec175b76c590f6fd
MD5 933c2350449064886723fecff56d2150
BLAKE2b-256 1a7b23b58f3b619cca46ab8c6b42f8b0c2a717b4fb329ad514b39c4f339a1069

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f8d016c030e29746d5f0b060159a8ae98f294a9f643f8cb641c6610d37cb4e73
MD5 6d13a3f4c9728646b32e0825b7c18a2f
BLAKE2b-256 ae03dd05ff961da9c0db9dfacfd93ba383222c9cff3c6de37223a6de2a5dde60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4dfccc0fef2030ffe99def58161f29207d9829388f958a0b3b750bb92ff41d25
MD5 f8db1216ee2c6904aa724d8a0756dca8
BLAKE2b-256 adc315952439086971089092a256def0824cc9059032ffd721fbdcb9f8f0282e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for socha-2.1.1-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 0dbc6c0f0661eacb7efddf4ded89952ebf85f0f76d3159b83a1a91b4381feace
MD5 e736aaf8ebf24a5d93c747ce2110f92c
BLAKE2b-256 a99e04a5c94e7df98c11198148fe765f44f7d61b0a4117cdc88d1e7561f3dd48

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for socha-2.1.1-cp310-none-win32.whl
Algorithm Hash digest
SHA256 299509d8be1ad1f30c76abd52ba7ef4c55fee0b8d56f173184b1e3de623b78b5
MD5 29a2a07068f00d21fd30860ce9eb7e89
BLAKE2b-256 1231547ab4497eafd0418b0c7ae9efb362220c2fe0f2673f6bb739a1ae0ec18f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1dd297dbe8f0f216cc05e32c384e91fcbcbec91c2ce8f3b540a3c88fccd0af06
MD5 7cac2cfce1f02b4dea65db4dfd5309a8
BLAKE2b-256 df3275b3d53c9804c6f54b2566196757091efe648b29738acdd2a17b1ffa40d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 f5def6de53331f838c092aaa0271a55f7adfa7cef8a2dc3e6af811765096d435
MD5 8dddcca79b1611068e1f8ead25f7ed94
BLAKE2b-256 0d4b11d4ac230f1f3ff1cb908971c8a582324e73711f60b9e97968f933ea8eac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3234e919c625a767d1782ba41fd9cf55ad2b8f14f29b7ab63fa29f5a460c2be4
MD5 c5f22630e0bb7eb46a52bf126785534b
BLAKE2b-256 ede80ed5c61cbf8bc116376dfed088b2cc029172ab531fabe7edf2f4e61df300

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f718017e914436cd19b48c4c2f81020215d9d6e7f00c5c4a43a7cd3dd5e5266c
MD5 95078c056c83cb1ead5401b5983f3b65
BLAKE2b-256 80aa3b1497f8359739afb8b358f1265f1084241dbb8eb4c858e9322e6e78c207

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1a1aa374f9d340b32bec1f9c007d40fd422e0d0187c96f9cb8dada8942c48b0e
MD5 b6c9c03ba0a576e0af09632eb39b1e14
BLAKE2b-256 ea7955f8c38df4222adb69e7f15d09eabd80b27968d56a94d1c6c2b86aa171e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 22974a5d9b27f5dfffc80b9007488f1a5f3b26c2713577a891c54b109419c2fd
MD5 54d8b60ea0662649de3dd46c27fd7109
BLAKE2b-256 9a4ad4cd9cb02e39dd4ef54d75ce47bad2ae59fe628db7fd401e433fa6fe5397

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e4bfc69d113fd5f014e2e88d76c80d088fb0b8ca7de30bba24d8ba30019b9ec6
MD5 310215273642dc6b90806d71f245edbf
BLAKE2b-256 99391bb8a07630ad2d478f20eae098a7e703f3f19bf5cc8df82a617aa5b987af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for socha-2.1.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2f4c90cb133e6a2e00e830186dbce9c10f57bebfd3103980cb34b100022d79eb
MD5 b036680a97ef80a002f888206866fd58
BLAKE2b-256 b1ce479ba2cdb6f548f983bff225c847ddc6fe3201d47b4332a7eb449f525098

See more details on using hashes here.

Supported by

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