Keyboard layout optimization via ILP
This repository contains my implementation of the task to optimize a keyboard layout in terms of assigning the available characters to the keys in a clever way. This is part of my participation in the Seminar: Integer Programming modeling of puzzles, games, and real-world problems during the winter term 21/22 at Technische Universität zu Berlin.
Usage
This code requires the SCIP Optimization Suite to be installed on the machine to be used, which we prepared in a Docker image at docker_pyscipopt . The proper use of this image is well documented in its README.md . The actual code can then be found in the src/ilp_keyboard_layout_optimization subfolder .
Remote development
We included a bash script pull_and_optimize.sh in our codebase to streamline a remote development workflow. We work on the code on a computer, that is well-equipped for that task. The committed and pushed code then gets processed on another machine, which uses this script, to update its code base and run the parameters handed over. It is designed to be called without parameters to execute the optimize module of the latest version released on Test.PyPI.org .
$ ./pull_and_optimize.sh
The execution requires the Docker image of our repository docker_pyscipopt to be built in advance, but it could be easily adapted for a local installation of the SCIP Optimization Suite.
Metadata
Release files for ilp-keyboard-layout-optimization 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ilp_keyboard_layout_optimization-0.0.3.tar.gz | 21.4 kB | Without provenance | Details for ilp_keyboard_layout_optimization-0.0.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ilp_keyboard_layout_optimization-0.0.3-py3-none-any.whl | Python 3 | none | any | Details for ilp_keyboard_layout_optimization-0.0.3-py3-none-any.whl |
Total release size: 35.4 kB
Release files / ilp_keyboard_layout_optimization-0.0.3.tar.gz
| Download URL | ilp_keyboard_layout_optimization-0.0.3.tar.gz |
|---|---|
| Size | 21.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d8a3d076555b38d6db3743c971d9f025fc8b4889e8aaf5fb9337bac4315c228d
|
|
BLAKE2b-256 checksum How to use checksums |
5cba4e60391801f458c3ecadf43a80ae8cb5b13a5104d2442056915a071df3dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2
|
Release files / ilp_keyboard_layout_optimization-0.0.3-py3-none-any.whl
| Download URL | ilp_keyboard_layout_optimization-0.0.3-py3-none-any.whl |
|---|---|
| Size | 14.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1be0de112ffb87a983789a0aa6db51b596b99757c3e10791bfdc0da7bafa70f3
|
|
BLAKE2b-256 checksum How to use checksums |
167ccadbc67ddfc8cedc2581f8db3c12df0d1afefe2310ab259322758c63ef0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2
|
Security for ilp-keyboard-layout-optimization 0.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.