semvec/pypi-packages huggingface dataset:
testmatrix 0.2.2
A matrix server sanity tester
Requires Python: >=3.10
Keywords: matrix, chat, collaboration

# testmatrix [![PyPI version](https://badge.fury.io/py/testmatrix.svg)](https://pypi.org/project/testmatrix/) [![Matrix](https://img.shields.io/matrix/testmatrix:sspaeth.de?server_fqdn=chat.sspaeth.de&fetchMode=summary&link=https://matrix.to/#/#testmatrix:sspaeth.de)](https://matrix.to/#/#testmatrix:sspaeth.de)

A matrix server sanity tester. Relased under the GNU AGPLv3+.

## Usage

See `python3 test_matrix.py --help` for possible options (or `testmatrix -h` if you have it
properly installed).

Credentials are only needed if you want to test an underlying livekit
MatrixRTC setup (a.k.a. Element Call).

If you have installed the package via pip (or other means), the
installed command will be named `testmatrix` and not test_matrix.py.

**Note:** There is an `--anonymize` switch, which will attempt to clean
up domain names in the log output. However, there is no guarantee that
it will work 100%. So do double-check your output before submitting
somewhere if you are using this.

### Installation

Currently, you do not need to install anything, as long as you have all
requirements (see below) installed, you can directly run the
`test_matrix.py` script.

Alternatively, you can install this by issueing: `pip install testmatrix`

Or even better: install the cool [uvenv](https://pypi.org/project/uvenv/) package manager and install into a separate venv via:
`uvenv install testmatrix`

### Requirements

Requires python and python-requests.

You can install all requirements on your system by running
`pip install -r requirements.txt`

## Discussion

Matrix chatroom: [#testmatrix:sspaeth.de](https://matrix.to/#/#testmatrix:sspaeth.de)

## Development

### Build an installable package

To build an installable package, you need to have python3-build
installed. Running `python3 -m build` in the git root will create
packages in the `dist` directory.

### How to upload to pypi:
Note to self: `twine upload dist/* --verbose`
pytq-cxx 1.1.2
single-threaded timer demultiplexer backed by C++ implementation
Requires Python: >=3.7

# pytq-cxx
**pytq-cxx** is a _python_ wrapper for **yatq** -- a _C++_ template library. For the documentation and examples please
see [yatq homepage](https://github.com/vaganov/yatq)

**NB:** This package has nothing to do with [pytq package](https://pypi.org/project/pytq)

**NB:** Module name is, however, **pytq**

    from pytq import ThreadPool, TimerQueue, pythonize

**NB:** On _macOS_ one may need to specify **MACOSX_DEPLOYMENT_TARGET** environment variable on install. Do not set
higher than the current _macOS_ version. Minimal supported version is **13.4**

    (venv) $ MACOSX_DEPLOYMENT_TARGET=13.4 pip install pytq-cxx
putty-export 0.1.3
Export PuTTY session settings from Windows registry to OpenSSH config format
Requires Python: >=3.8
Keywords: putty, ssh, config, registry, windows, openssh

# putty-export

Export PuTTY session settings from a Windows registry (.reg) file to OpenSSH `~/.ssh/config` format.

## Usage

```bash
# Print SSH config to stdout
putty-export putty_sessions.reg

# Write to a file
putty-export putty_sessions.reg -o ~/.ssh/config

# Include the "Default Settings" template session (normally skipped)
putty-export putty_sessions.reg --include-default-settings -o config
```

## Exporting PuTTY sessions from Windows

1. Open **Registry Editor** (`regedit.exe`).
2. Navigate to `HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions`.
3. Right-click **Sessions** and choose **Export**.
4. Save as a `.reg` file (e.g. `putty_sessions.reg`) and transfer it to the machine where you run `putty-export`.

## PuTTY → OpenSSH mapping

| PuTTY (registry)              | OpenSSH config                | Notes |
|--------------------------------|-------------------------------|-------|
| Session name (from key path)   | `Host`                        | URL-decoded (e.g. `%20` → space). |
| HostName                       | `HostName`                    | Decoded from UTF-16LE. |
| PortNumber                     | `Port`                        | Default 22 if missing. |
| UserName                       | `User`                        | Omitted if empty. |
| PublicKeyFile                  | `IdentityFile`                | Path normalized to forward slashes. See [Keys](#keys) below. |
| ProxyMethod + ProxyHost/Port/Username | `ProxyCommand` or `ProxyJump` | See [Proxy](#proxy) below. |
| PortForwardings                | `LocalForward` / `RemoteForward` / `DynamicForward` | Comma-separated: `Lport=host:port`, `Rport=host:port`, `Dport`. |
| AgentFwd                       | `ForwardAgent`                 | 1 → yes (omitted when 0). |
| Compression                    | `Compression`                 | 1 → yes (omitted when 0). |
| X11Forward                     | `ForwardX11`                  | 1 → yes (omitted when 0). |

### Keys

- **IdentityFile** is written with the path from PuTTY (backslashes converted to forward slashes). PuTTY uses `.ppk` keys; OpenSSH uses PEM/OpenSSH format. Convert keys with:
  ```bash
  puttygen key.ppk -O private-openssh -o ~/.ssh/key_openssh
  ```
  Then point `IdentityFile` at the converted file, or replace the path in the generated config.

### Proxy

- **ProxyMethod** 0 = none (no directive). 1 = SOCKS → `ProxyCommand nc -x host:port %h %p`. 2 = HTTP CONNECT → `ProxyCommand connect -H host:port %h %p`. 3/4 = Telnet/Local → `ProxyCommand` from ProxyTelnetCommand. 5 = SSH proxy → `ProxyJump user@host`.
- **ProxyPassword** is not stored in SSH config. Use key-based auth or other means for proxy/jump host authentication.

## Requirements

- Python 3.8+
- No external dependencies (stdlib only).

## Installation

```bash
pip install -e .
```

## Development

Run tests:

```bash
python -m unittest discover -s tests -v
```