semvec/pypi-packages huggingface dataset:
geteventplayback 0.10
A pure Python module for recording and processing low-level Android input events (Mouse/Keyboard/Touchpad) - no dependencies
License: MIT
Keywords: Android,getevent,sendevent,record,playback


# A pure Python module for recording and processing low-level Android input events (Mouse/Keyboard/Touchpad) - no dependencies

## pip install geteventplayback

### Tested against Windows 10 / Python 3.11 / Anaconda 

GeteventPlayBack is a powerful Python module that simplifies the capture and
processing of input events from Android devices, including not only touch events but also
mouse and keyboard events. It is designed to work entirely with native Python, making it
a versatile choice for Android input event analysis. 

### IMPORTANT: ONLY WORKS ON ROOTED DEVICES/EMULATORS

[![YT](https://i.ytimg.com/vi/LyGX7rQ-fLY/maxresdefault.jpg)](https://www.youtube.com/watch?v=LyGX7rQ-fLY)
[https://www.youtube.com/watch?v=LyGX7rQ-fLY]()

```python

"""
Args:
	adb_path (str): The path to the 'adb' tool.
	device (str): The device event file to record, e.g., "/dev/input/event3".
	device_serial (str): The serial number or address of the Android device.
	print_output (bool): Whether to print the 'getevent' output to the console.
	tmpfolder_device (str): The temporary folder on the device to store event data.
	tempfolder_hdd (str): The temporary folder on the local HDD to store event data.
	add_closing_command (bool): Whether to add closing commands to the event replay.
	clusterevents (int): The number of events to cluster together for replay, allowing
	you to adjust playback speed.

Methods:
	- start_recording(): Start recording input events, including mouse and keyboard events,
	  and customize the playback speed.
	- _get_files_and_cmd(unpacked_data): Process the recorded data and generate
	  commands for event replay.
	- _format_binary_data(): Format binary data from 'getevent' output into events.

Attributes:
	- alldata (list): The raw 'getevent' output data, stored as bytes.
	- FORMAT (str): The format string for parsing binary data.
	- chunk_size (int): The size of each event in bytes.
	- timestampnow (float): The current timestamp.
"""
	

import subprocess

from geteventplayback import GeteventPlayBack

pla = GeteventPlayBack(
    adb_path=r"C:\Android\android-sdk\platform-tools\adb.exe",
    device="/dev/input/event4",
    device_serial="127.0.0.1:5555",
    print_output=True,
    tmpfolder_device="/sdcard/event4/",
    tempfolder_hdd=rf"C:\sadxxxxxxxxxxxx",
    add_closing_command=True,
    clusterevents=16,
)

results = pla.start_recording()

subprocess.run(
    [pla.adb_path, "-s", pla.device_serial, "shell"],
    bufsize=0,
    input=results["adbcommand"],  # Can be resused
)

```
mikelint 1.2.6
Linter used for CSSE1001 at UQ
License: MIT
Requires Python: >=3.8

# Mikelint
Yet another attempt at a static analysis tool for CSSE1001.

## Prerequisite
You need Python 3.9 or above to run this project. Python 3.8 or below will not work.

## Setting up
1. Clone this repo `git clone https://github.com/mike-fam/mikelint.git`
2. cd into the repo and create a new virtual environment
    ```shell
    cd mikelint
    python3.9 -m venv venv && source venv/bin/activate
    ```
3. Install the required packages
   ```shell
   pip install -r requirements.txt
   ```

## How to use the linter
1. Create a config YAML file, an example of a config file is at `config.example.yaml`. 
   The key-values of the YAML file go from Criteria > Sub-criteria > Analyser/checker.
   
2. Run `python run.py -c config.yaml -s some_file.py`, with `config.yaml` being your 
   configuration file and `some_file.py` being the file to run the analyser on.
   
## How to contribute
If you want to contribute, DM me on Facebook or email me at mikepham1207@gmail.com.
I'll give you editor access to the repo.

Then, clone this repo and make a new branch, and write your implementation on that 
branch. Make a new pull request when you're ready. You'll be asked to go through a 
checklist before opening the PR. 

Once I approve the PR, you can merge it to the main branch.

Check out the documentation in the `docs` directory for more implementation details.
mini-init 0.0.1
简单辅助工具集合: 日志, 配置文件, 环境变量等
License: MIT
Requires Python: >=3.8
Keywords: mini-init,init,tools,project-init,logging,env,config

# mini-init

简单辅助工具集合: 日志, 配置文件, 环境变量等

加载依赖
------

```shell
pip install mini-init
```

读取环境变量
----------

```ini
# .env
PROJECT_NAME=mini-init
...
```

```python
from dataclasses import dataclass
from miniinit import env

@dataclass
class Env:
    # 环境变量
    PROJECT_NAME: str = ''
    ...

env_data = env.get_env(Env)
# 更换路径
# env_data = env.get_env(Env, '**/.env')

print(env_data.PROJECT_NAME)
# mini-init
```

读取项目配置
----------

```yaml
# 默认, 不可修改
# config/application.yaml
app:
  name: mini-init
  version: 0.0.1

log:
  is_use: true
  yaml_path: config/log.yaml

banner:
  is_show: true
  file_path: banner.txt
  welcome: welcome use mini-init (v0.0.1)

# 其他参数自行扩展
...
```

```python
from dataclasses import dataclass
from miniinit import config

@dataclass
class Config(config.Config):
    # 自定参数, 也可覆盖
    ...

config_data = config.get_config(Config)

print(config_data.app.name)
# mini-init
```