spkb


Namespkb JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/whitelynx/spkb
SummaryA SolidPython-based library for building custom keyboards with Python and OpenSCAD.
upload_time2024-12-16 02:11:32
maintainerNone
docs_urlNone
authorDavid H. Bronke
requires_python<4.0,>=3.12
licenseBSD-3-Clause
keywords keyboard openscad
VCS
bugtrack_url
requirements ply setuptools solidpython2
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SPKB

*SolidPython-based Keyboard Builder*

[![API Documentation on ReadTheDocs](https://readthedocs.org/projects/spkb/badge/?version=latest)][API docs]
[![Python package](https://github.com/whitelynx/spkb/actions/workflows/python-package.yml/badge.svg)](https://github.com/whitelynx/spkb/actions/workflows/python-package.yml)

![Action Shot](images/action-shot.jpg)

A [SolidPython][]-based library for building custom keyboards with [Python][] and [OpenSCAD][].

Some portions ported from Clojure, originally from [the Dactyl Keyboard][] and my fork thereof,
[the Dactyl Lynx Keyboard][].

[SolidPython]: https://github.com/jeff-dh/SolidPython
[Python]: https://www.python.org/
[OpenSCAD]: https://openscad.org/
[the Dactyl Keyboard]: https://github.com/adereth/dactyl-keyboard
[the Dactyl Lynx Keyboard]: https://github.com/whitelynx/dactyl-lynx-keyboard


## Using SPKB

### Installing

Simply install the library in your project, using your preferred package manager.

[Poetry][]:
```bash
poetry add spkb
```

[PDM](https://pdm-project.org/):
```bash
pdm add
```

[pipenv](https://pipenv.pypa.io/):
```bash
pipenv install spkb
```

[Poetry]: https://python-poetry.org/


### Usage

In your project, you can simply import what you need from the submodules of `spkb`:
```python
from spkb.switch_plate import plate_thickness, mx_plate
from spkb.board_mount import stm32_blackpill
from spkb.keycaps import sa_double_length, sa_cap
```

See the sidebar of [the documentation][API docs] for a reference of what's available.


#### Examples

See the example scripts in the `examples/` directory. You can run them by setting `PYTHONPATH` to include the current
directory:
```bash
env PYTHONPATH=$PWD poetry run python examples/stm32_blackpill_mount.py
```


---


## Developing SPKB

### Prerequisites

* [Python][] version 3.11 or newer
* [Poetry][]

### Installing dependencies

```bash
poetry install
```


### Usage

For simply generating interesting key testers, see the example scripts in the `examples/`
directory.


### Running tests

You can run simple tests from some of the submodules:
```bash
poetry run python -m spkb.keycaps         # Renders the built-in keycap approximations
poetry run python -m spkb.single_key_pcb  # Renders a simple approximation of a single-key PCB
poetry run python -m spkb.single_tester   # Renders a single-key tester
poetry run python -m spkb.keyswitch.base  # Renders a switch socket negative, plate with board mount, and dummy switch shape
poetry run python -m spkb.keyswitch.choc  # Renders a switch socket with backplate for a Kailh Choc switch
poetry run python -m spkb.keyswitch.mx    # Renders a switch socket with backplate for an MX-style switch

# Deprecated modules
poetry run python -m spkb.switch_plate    # Renders a variety of keyswitch plates (sockets)
poetry run python -m spkb.keyswitch       # Renders a basic approximation of an MX-style switch body
```

You can also run all module tests and check for appropriate outputs with this script:
```bash
scripts/run-module-tests.sh
```


---


## Documentation

You can view the documentation online [on ReadTheDocs][API docs].

You can also view the generated API documentation locally by running [pdoc][]:
```bash
poetry run pdoc -n -t templates spkb
```

[API docs]: https://spkb.readthedocs.io/
[pdoc]: https://pdoc.dev/


## Links

* [parametric-key-tester](https://github.com/whitelynx/parametric-key-tester) - the original project this library was forked from
* [the Dactyl Keyboard][] and my fork, [the Dactyl Lynx Keyboard][] - original switch sockets, keycap approximations, etc.


## License

This project is released under [the BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/whitelynx/spkb",
    "name": "spkb",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.12",
    "maintainer_email": null,
    "keywords": "keyboard, OpenSCAD",
    "author": "David H. Bronke",
    "author_email": "whitelynx@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/75/1c/4628b2c9650c7968c85d1c6ccfed2af7d51676a31993e1ac5c0b2fc51252/spkb-0.1.1.tar.gz",
    "platform": null,
    "description": "# SPKB\n\n*SolidPython-based Keyboard Builder*\n\n[![API Documentation on ReadTheDocs](https://readthedocs.org/projects/spkb/badge/?version=latest)][API docs]\n[![Python package](https://github.com/whitelynx/spkb/actions/workflows/python-package.yml/badge.svg)](https://github.com/whitelynx/spkb/actions/workflows/python-package.yml)\n\n![Action Shot](images/action-shot.jpg)\n\nA [SolidPython][]-based library for building custom keyboards with [Python][] and [OpenSCAD][].\n\nSome portions ported from Clojure, originally from [the Dactyl Keyboard][] and my fork thereof,\n[the Dactyl Lynx Keyboard][].\n\n[SolidPython]: https://github.com/jeff-dh/SolidPython\n[Python]: https://www.python.org/\n[OpenSCAD]: https://openscad.org/\n[the Dactyl Keyboard]: https://github.com/adereth/dactyl-keyboard\n[the Dactyl Lynx Keyboard]: https://github.com/whitelynx/dactyl-lynx-keyboard\n\n\n## Using SPKB\n\n### Installing\n\nSimply install the library in your project, using your preferred package manager.\n\n[Poetry][]:\n```bash\npoetry add spkb\n```\n\n[PDM](https://pdm-project.org/):\n```bash\npdm add\n```\n\n[pipenv](https://pipenv.pypa.io/):\n```bash\npipenv install spkb\n```\n\n[Poetry]: https://python-poetry.org/\n\n\n### Usage\n\nIn your project, you can simply import what you need from the submodules of `spkb`:\n```python\nfrom spkb.switch_plate import plate_thickness, mx_plate\nfrom spkb.board_mount import stm32_blackpill\nfrom spkb.keycaps import sa_double_length, sa_cap\n```\n\nSee the sidebar of [the documentation][API docs] for a reference of what's available.\n\n\n#### Examples\n\nSee the example scripts in the `examples/` directory. You can run them by setting `PYTHONPATH` to include the current\ndirectory:\n```bash\nenv PYTHONPATH=$PWD poetry run python examples/stm32_blackpill_mount.py\n```\n\n\n---\n\n\n## Developing SPKB\n\n### Prerequisites\n\n* [Python][] version 3.11 or newer\n* [Poetry][]\n\n### Installing dependencies\n\n```bash\npoetry install\n```\n\n\n### Usage\n\nFor simply generating interesting key testers, see the example scripts in the `examples/`\ndirectory.\n\n\n### Running tests\n\nYou can run simple tests from some of the submodules:\n```bash\npoetry run python -m spkb.keycaps         # Renders the built-in keycap approximations\npoetry run python -m spkb.single_key_pcb  # Renders a simple approximation of a single-key PCB\npoetry run python -m spkb.single_tester   # Renders a single-key tester\npoetry run python -m spkb.keyswitch.base  # Renders a switch socket negative, plate with board mount, and dummy switch shape\npoetry run python -m spkb.keyswitch.choc  # Renders a switch socket with backplate for a Kailh Choc switch\npoetry run python -m spkb.keyswitch.mx    # Renders a switch socket with backplate for an MX-style switch\n\n# Deprecated modules\npoetry run python -m spkb.switch_plate    # Renders a variety of keyswitch plates (sockets)\npoetry run python -m spkb.keyswitch       # Renders a basic approximation of an MX-style switch body\n```\n\nYou can also run all module tests and check for appropriate outputs with this script:\n```bash\nscripts/run-module-tests.sh\n```\n\n\n---\n\n\n## Documentation\n\nYou can view the documentation online [on ReadTheDocs][API docs].\n\nYou can also view the generated API documentation locally by running [pdoc][]:\n```bash\npoetry run pdoc -n -t templates spkb\n```\n\n[API docs]: https://spkb.readthedocs.io/\n[pdoc]: https://pdoc.dev/\n\n\n## Links\n\n* [parametric-key-tester](https://github.com/whitelynx/parametric-key-tester) - the original project this library was forked from\n* [the Dactyl Keyboard][] and my fork, [the Dactyl Lynx Keyboard][] - original switch sockets, keycap approximations, etc.\n\n\n## License\n\nThis project is released under [the BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause).\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "A SolidPython-based library for building custom keyboards with Python and OpenSCAD.",
    "version": "0.1.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/whitelynx/spkb/issues",
        "Documentation": "https://spkb.readthedocs.io",
        "Homepage": "https://github.com/whitelynx/spkb",
        "Repository": "https://github.com/whitelynx/spkb"
    },
    "split_keywords": [
        "keyboard",
        " openscad"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5ccbbda5bc3dfe9e26824b21658a9c4ab9e03ce5af06e0578d926ecf234f66d0",
                "md5": "c2186431f108b19aa3936990901c35eb",
                "sha256": "eaa3a57ffe93242b4493c032ce88c841ce5041109605ab11f3d3a85c8350af17"
            },
            "downloads": -1,
            "filename": "spkb-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c2186431f108b19aa3936990901c35eb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.12",
            "size": 18400,
            "upload_time": "2024-12-16T02:11:29",
            "upload_time_iso_8601": "2024-12-16T02:11:29.540182Z",
            "url": "https://files.pythonhosted.org/packages/5c/cb/bda5bc3dfe9e26824b21658a9c4ab9e03ce5af06e0578d926ecf234f66d0/spkb-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "751c4628b2c9650c7968c85d1c6ccfed2af7d51676a31993e1ac5c0b2fc51252",
                "md5": "6136af2b0834f22935e7eab9749c0a84",
                "sha256": "430ccff75bfdb6ceea3210168fcf09f24973b58252df3040ffc939db0679fc54"
            },
            "downloads": -1,
            "filename": "spkb-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "6136af2b0834f22935e7eab9749c0a84",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.12",
            "size": 13888,
            "upload_time": "2024-12-16T02:11:32",
            "upload_time_iso_8601": "2024-12-16T02:11:32.209822Z",
            "url": "https://files.pythonhosted.org/packages/75/1c/4628b2c9650c7968c85d1c6ccfed2af7d51676a31993e1ac5c0b2fc51252/spkb-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-16 02:11:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "whitelynx",
    "github_project": "spkb",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "ply",
            "specs": [
                [
                    "==",
                    "3.11"
                ]
            ]
        },
        {
            "name": "setuptools",
            "specs": [
                [
                    "==",
                    "75.5.0"
                ]
            ]
        },
        {
            "name": "solidpython2",
            "specs": [
                [
                    "==",
                    "2.1.0"
                ]
            ]
        }
    ],
    "lcname": "spkb"
}
        
Elapsed time: 3.53876s