semvec/pypi-packages huggingface dataset:
jbb 0.1.5
Download prebuilt libraries from Binary Builder

## Download prebuilt libraries from [Binary Builder](https://binarybuilder.org/)

### Command line

```
usage: jbb.py [-h] [-b ABI] [-a {aarch64,armv6l,armv7l,i686,powerpc64le,x86_64}] [-d OUTDIR] [-l {glibc,musl}] [-o {linux,windows,macos}] [-p PROJECT] [-z {memory}] [-s] [-c] [-q] package [package ...]

Download prebuilt libraries from Binary Builder

positional arguments:
  package               package/GitHub tag to download

options:
  -h, --help            show this help message and exit
  -b --abi ABI          ABI type if Linux
  -a --arch {aarch64,armv6l,armv7l,i686,powerpc64le,x86_64}
                        target machine
  -d --outdir OUTDIR
                        output directory
  -l --libc {glibc,musl}
                        libc type if Linux
  -o --os {linux,windows,macos}
                        operating system
  -p --project PROJECT  GitHub project (user/repo)
  -z --sanitize {memory}
                        sanitizer type
  -s, --static          copy .a files
  -c, --clean           start with clean output directory
  -q, --quiet           suppress output
```

#### For example:
```
# python3 jbb.py libcurl -d /tmp/libcurl 
Getting libcurl
- Downloading Project-libcurl.toml
- Downloading Artifacts-libcurl.toml
- Downloading LibCURL.v8.9.1.x86_64-linux-gnu.tar.gz
- Extracting LibCURL.v8.9.1.x86_64-linux-gnu.tar.gz
Getting LibSSH2
- Downloading Project-LibSSH2.toml
- Downloading Artifacts-LibSSH2.toml
- Downloading LibSSH2.v1.11.2.x86_64-linux-gnu.tar.gz
- Extracting LibSSH2.v1.11.2.x86_64-linux-gnu.tar.gz
Getting OpenSSL
- Downloading Tags_OpenSSL.bin
- Downloading Project-OpenSSL.toml
- Downloading Artifacts-OpenSSL.toml
- Downloading OpenSSL.v3.0.15.x86_64-linux-gnu.tar.gz
- Extracting OpenSSL.v3.0.15.x86_64-linux-gnu.tar.gz
Getting nghttp2
- Downloading Project-nghttp2.toml
- Downloading Artifacts-nghttp2.toml
- Downloading nghttp2.v1.63.0.x86_64-linux-gnu.tar.gz
- Extracting nghttp2.v1.63.0.x86_64-linux-gnu.tar.gz
Getting Zlib
- Downloading Project-Zlib.toml
- Downloading Artifacts-Zlib.toml
- Downloading Zlib.v1.3.1.x86_64-linux-gnu.tar.gz
- Extracting Zlib.v1.3.1.x86_64-linux-gnu.tar.gz
Downloaded to /tmp/libcurl
/tmp/libcurl/libcurl/lib:/tmp/libcurl/LibSSH2/lib:/tmp/libcurl/OpenSSL/lib:/tmp/libcurl/nghttp2/lib:/tmp/libcurl/Zlib/lib

# export LD_LIBRARY_PATH=`python3 jbb.py libcurl -d /tmp/libcurl -q`
# echo $LD_LIBRARY_PATH
/tmp/libcurl/libcurl/lib:/tmp/libcurl/LibSSH2/lib:/tmp/libcurl/OpenSSL/lib:/tmp/libcurl/nghttp2/lib:/tmp/libcurl/Zlib/lib
```

### API

```python
import os

import jbb

jbb.jbb(
    package = "zlib",
    outdir=os.path.join(os.getcwd(), "zlib"),
    arch="x86_64",
    os="linux",
    libc="musl",
    quiet=False
)
```
paragradio 2025.3.2
Parallel GNU Radio. Launches a flowgraph using `multiprocessing`, provides methods for flowgraph. Includes pre-built flowgraphs.
Requires Python: <3.12,>=3.8

# paragradio
    
paragradio (Parallel GNU Radio) module.
    
Note that much of the functionality also depends on GNU Radio. However, `gnuradio` is not listed in the dependencies as it is not pip-installable (as far as the authors know).

Most of the flowgraphs also use PyQt5, which you likely have if you have gnuradio.
    
### Example usage

Example for version 2025.02:

```python3
from paragradio.v2025_02 import SpecAnSim

sa = SpecAnSim()
sa.start()
```
   
### Version / breaking changes policy

Versions are marked by year and month. We will adhere to the following policy:
    
- Before the version's month and year, that version is unstable, and changes will be made freely.
- Once that version's month and year arrive, that version is stable, and only non-breaking changes will be made.

Examples:

| Version  | Unstable              | Stable                 |
|----------|-----------------------|------------------------|
| v2025_02 | Before Feb 1, 2025    | Starting Feb 1, 2025   | 
| v2025_05 | Before May 1, 2025    | Starting May 1, 2025   | 
| v2026_01 | Before Jan 1, 2026    | Starting Jan 1, 2026   | 
| etc.     |                       |                        |

### License

Same license as GNU Radio.
bounce-ws 0.9.9
A simple framework for websocket event-based messaging using flask websockets under the hood
Requires Python: >=3.8

# Bounce-WS

## Overview

This project is a WebSocket-based framework built with FastAPI and Uvicorn, designed to facilitate real-time communication between the frontend and backend.

## Features

- Real-time WebSocket communication.
- Multi-threaded server for efficient handling of connections.
- Scalable and modular design for easy integration.
- Prebuilt logic for messages

## Installation

To install the project, clone the repository and install the required dependencies:

```bash
git clone https://github.com/Allorak/bounce-ws
cd websocket-api
pip install -r requirements.txt
```

Alternatively you can use pip to install:

```bash
pip install https://github.com/Allorak/bounce-ws
```

Or install from PyPI index:
```bash
pip install bounce-ws
```

## Core ideas

The main idea is that client and server use websockets for message exchange with specified message structure:
```json
{
  "event": "<event name>",
  "data": "<message payload>",
  "timestamp": "<iso formated send time timestamp without offset>"
}
```

For interacting with the server clients firstly have to subscribe to the needed events sending following message:
```json
{
  "event": "subscribe",
  "data": {
    "events": [<list of event names to subscribe to>]
  },
  "timestamp": "<iso formated send time timestamp without offset>"
}
```
You may specify `"*"` in `"events"` key to subscribe to all events, provided by the server

In a similar way client may unsubscribe from the specified events:
```json
{
  "event": "unsubscribe",
  "data": {
    "events": [<list of event names to unsubscribe from>]
  },
  "timestamp": "<iso formated send time timestamp without offset>"
}
```

Framework provides following options for message exchange:
- Clients can subscribe to the needed events and unsubscribe from them
- Send message using AbstractSender calling "send" method manually
- Send message using TimedAbstractSender calling "send" method repeatedly
- Handle incoming messages with AbstractHandler, discarding messages of the same event with timestamp larger than last handled

## Example

Usage examples can be found in `examples/` folder