Skip to main content

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)

Source distribution for ilp-keyboard-layout-optimization 0.0.3
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)

Table of built distributions (wheels) for ilp-keyboard-layout-optimization 0.0.3
File Interpreter ABI Platform Actions
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.

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