semvec/pypi-packages huggingface dataset:
plover-uinput 0.0.15
Plover output plugin for linux using evdev / uinput
License: MIT
Requires Python: >=3.8
Keywords: plover plover_plugin

# Plover output plugin for linux using uinput
This plugin directly emulates the keyboard using uinput, which is present on most linux distributions. This means that it will work on X11, wayland and even in the tty.

## Setup
Add your user to the `input` group, and install this `udev` rule:
```
KERNEL=="uinput", GROUP="input", MODE="0660", OPTIONS+="static_node=uinput"
```
Set the `PLOVER_UINPUT_LAYOUT` environment variable to your two-letter `xkb` keyboard layout, for example `us`, `no` or `fr`. This is not necessary if you're using a US keyboard.

## Issues
### Unicode characters
If you want to use unicode characters, either `iBus` or `fcitx5` has to be installed. You might have to increase the key press delay in plover if some characters do not output properly.

### Other issues
If you encounter any other problems, feel free to open an issue, pull request or send a message on discord (`lilleaila`)! Before asking for help, please check if the plugin is enabled in the settings.

## Inspired by:
- [halbGefressen/plover-output-dotool](https://github.com/halbGefressen/plover-output-dotool)
- [svenkeidel/plover-wtype-output](https://github.com/svenkeidel/plover-wtype-output/tree/main)

# TODO
- [ ] Implement keyboard capture
- [ ] Make it easier to install udev rules
- [ ] Add a github action for publishing to PyPi

Copyright (c) 2024 LilleAila

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
pygt1000 0.2.0
Library to interact with a Boss GT-1000/GT-1000CORE over MIDI
License: MIT
Requires Python: <4.0,>=3.10
Keywords: midi, boss, gt1000, gt-1000, gt-1000core, guitar, bass

# pygt1000

pygt1000 is a Python library for interacting with the BOSS GT-1000 and
GT-1000CORE guitar/bass effects processors over MIDI. This library provides an
easy-to-use API for controlling and managing the settings of your
GT-1000/GT-1000CORE, enabling both real-time interaction and more complex
automation tasks.

## Features

- Send and receive MIDI messages to/from GT-1000/GT-1000CORE
- Manage and modify effect parameters
- Automate complex sequences of commands
- Retrieve and process device states and data
- Construct MIDI messages using option names instead of hexadecimal codes

## Installation

To install the pygt1000 library, you can use pip:

```bash
pip install pygt1000
```


Or for local development, use `poetry`:

```bash
git clone https://github.com/jdesfossez/pygt1000.git
cd pygt1000
poetry install
```

## Usage

Here’s a basic example of how to use the pygt1000 library to interact with your
GT-1000:

```python
from pygt1000 import GT1000

# Initialize the GT1000 object
gt1000 = GT1000()

# Open the MIDI ports
gt1000.open_ports()
# By default it looks for a MIDI port starting with "GT-1000:GT-1000 MIDI 1"
# But you can override the portname option here

# Send a command to the GT-1000
gt1000.send_command(...)

# Close the MIDI ports when done
gt1000.close_ports()
```
## Crafting messages

Most of the [MIDI specifications from BOSS](https://www.boss.info/global/support/by_product/gt-1000/owners_manuals/564517d2-518e-469e-b50b-2bdca359d24d/
) have been imported as JSON files in the specs/ directory. This allows the user to construct MIDI messages using option names rather than manually crafting hexadecimal messages. For example:

```python
gt = GT1000()
start_section = gt._get_start_section("fx", "1")
message = gt.build_dt_message(start_section, "fx1", "SW", "ON")
gt1000.send_message(message)
```

The JSON files are created by parsing the text from the specification (one text
file by table). Some consistency fixes are performed by the parsing
[scripts](./scripts/). There are still some unhandled cases like messages options
with a very wide range requiring multiple bytes to set the value, but most features
work with a single byte operation.
databaseautomationry 0.0.1
A python package for connecting with database.
License: MIT
Requires Python: >=3.7

# mongodb_connector_package
making package for mongodb connector practice
# requirements_dev.txt we use for the testing
It makes it easier to install and manage dependencies for development and testing, separate from the dependencies required for production.

# difference between requirements_dev.txt and requirements.txt

requirements.txt is used to specify the dependencies required to run the production code of a Python project, while requirements_dev.txt is used to specify the dependencies required for development and testing purposes.

# tox.ini
We use if for the testing in the python package testing against different version of the python 

## how tox works tox enviornment creation
1. Install depedencies and packages 
2. Run commands
3. Its a combination of the (virtualenvwrapper and makefile)
4. It creates a .tox


# pyproject.toml
it is being used for configuration the python project it is a alternative of the setup.cfg file. its containts configuration related to the build system
such as the build tool used package name version author license and dependencies

# setup.cfg
In summary, setup.cfg is used by setuptools to configure the packaging and installation of a Python projec

# Testing python application
*types of testing*
1. Automated testing 
2. Manual testing

*Mode of testing*
1. Unit testing
2. Integration tests

*Testing frameworks*

1. pytest
2. unittest
3. robotframework
4. selenium
5. behave
6. doctest

# check with the code style formatting and syntax(coding standard)

1. pylint
2. flake8(it is best because it containt 3 library pylint pycodestyle mccabe)
3. pycodestyle
aiidalab 24.9.0
Implements core functions of AiiDAlab.
License: MIT
Requires Python: >=3.9

[![Documentation Status](https://readthedocs.org/projects/aiidalab/badge/)](https://aiidalab.readthedocs.io/)
[![codecov](https://codecov.io/gh/aiidalab/aiidalab/branch/main/graph/badge.svg)](https://codecov.io/gh/aiidalab/aiidalab)
# AiiDAlab package

The `aiidalab` package manages [AiiDAlab](https://www.aiidalab.net) applications within the [AiiDAlab Docker stack](https://github.com/aiidalab/aiidalab-docker-stack). It contains API and CLI interface to install/uninstall apps from the [AiiDAlab App registry](https://aiidalab.github.io/aiidalab-registry/) or directly from Git repositories. It also contains the code for building the App Registry, although the actual registry data are housed and deployed in a [aiidalab-registry repository](https://github.com/aiidalab/aiidalab-registry).

## Installation

Install latest version from pypi:
```
pip install aiidalab
```

or from the `conda-forge` conda channel:
```console
conda install -c conda-forge aiidalab
```

## Documentation
The documentation can be found on the [following web page](https://aiidalab.readthedocs.io).

## For maintainers

To create a new release, clone the repository, install development dependencies with `pip install -e '.[dev]'`, and then execute `bumpver update`.
This will:

  1. Create a tagged release with bumped version and push it to the repository.
  2. Trigger a GitHub actions workflow that creates a GitHub release.

Additional notes:

  - Use the `--dry` option to preview the release change.
  - The release tag (e.g. a/b/rc) is determined from the last release.
    Use the `--tag` option to switch the release tag.

## License

MIT

## Citation

Users of AiiDAlab are kindly asked to cite the following publication in their own work:

A. V. Yakutovich et al., Comp. Mat. Sci. 188, 110165 (2021).
[DOI:10.1016/j.commatsci.2020.110165](https://doi.org/10.1016/j.commatsci.2020.110165)

## Contact

aiidalab@materialscloud.org

## Acknowledgements

This work is supported by the [MARVEL National Centre for Competency in Research](<https://nccr-marvel.ch>)
funded by the [Swiss National Science Foundation](<https://www.snf.ch/en>), as well as by the [MaX
European Centre of Excellence](https://www.max-centre.eu/) funded by the Horizon 2020 EINFRA-5 program,
Grant No. 676598.

![MARVEL](miscellaneous/logos/MARVEL.png)
![MaX](miscellaneous/logos/MaX.png)