semvec/pypi-packages huggingface dataset:
voip-ms-moxad 0.8.5
scripts using voip.ms API

# programs using voip.ms API
These programs use the API of the voip.ms phone service

## Description
This set of programs uses a config file to supply authentication information to
use the API of the VOIP service at voip.ms.  There is an included example config
file that needs to have the userid and password changed, and the file installed
into your HOME directory.  You can tweak the config file to set which fields 
you are interested in, the order and size of the fields, and the titles.

## programs

* black-list
* get-cdrs
* get-did-info
* send-sms-message

## Installation

To install from downloading from Github:

    make install        # install programs
    make man            # install man-pages

To install from the Python Package Index (PyPI):

    pip install voip-ms-moxad

## Example usages
This will print CDR records from November 11 to November 22, in reverse order
such that records will be numbered from oldest to newest:

    % get-cdrs --from 2017-11-15 --to 2017-11-22 --reverse

This will print last months CDR records and the cost for account 'home':

    % get-cdrs --last-month --cost --account home

This will print the filter rules along with filter IDs to make changes to an existing rule:

    % black-list

This will set a filter rule giving a Busy signal instead of the default NoService message:

    % black-list --note 'Bad Evil Dudes' --busy  416-555-1212 

This will change the previous filter rule from Busy to Hangup instead:

    % black-list --hangup --filterid 12345

This will send a SMS message to barney (an alias set up in the config file):

    % send-sms-message -r barney Time for a beer

This will print all data about each DID, with the phone-number preceded by the (sub)account-name

    % get-did-info --account --all

There is a help option with each program.  For eg:

    % get-cdrs --help

    usage: get-cdrs [options]*
        [-a|--account str]     (account name)
        [-c|--config file]     (config-file (default=/home/rj/.voip-ms.conf)
        [-d|--debug]           (debugging output)
        [-f|--from date]       (YYYY-MM-DD - FROM date)
        [-h|--help]            (help)
        [-p|--padding num]     (padding between output fields (default=3)
        [-q|--quiet]           (quiet.  No headings and titles)
        [-r|--reverse]         (reverse date order of CDR output)
        [-s|--sheldon]
        [-t|--to date]         (YYYY-MM-DD - TO date)
        [-w|--timeout  num]    (default=120)
        [-C|--cost]            (total up costs and duration of CDRs)
        [-L|--last-month]      (want CDR records for LAST month)
        [-T|--this-month]      (want CDR records for THIS month)
        [-V|--version]         (print version of this program)    


## API setup.
You need to set up your voip.ms service to permit access to it.  This includes
providing which IP addresses can use it.  Please see the following URL for instructions:

    https://voip.ms/m/api.php
gpgin-cli 0.1.1
General Purpose Graph Isomorphism Network is a GNN architecture that is able to process graphs with continuous node and edge features.
Requires Python: >=3.8

General Purpose Graph Isomorphism Network is a GNN architecture that is able to process graphs with continuous node and edge features.

## Installation

We recommend installing PyTorch and PyTorch Geometric before gpgin-cli to avoid compatibility issues related to CUDA versions and hardware acceleration.

> Note: we recommend using pip rather than conda, as some PyTorch Geometric dependencies are not available via conda.

Refer to:
- [PyTorch Installation Guide](https://pytorch.org/get-started/locally/)
- [PyTorch Geometric Installation](https://pytorch-geometric.readthedocs.io/en/latest/notes/installation.html)

The versions that we used, targeting CUDA-11.8:
```python
torch==2.2.2
torch-geometric==2.5.2
rdkit-pypi==2022.09.5
```

### Install script

This may be useful on a blank python 3.10 virtual environment

```
#!/bin/bash
set -e

# === CONFIGURABLE VARIABLES ===
CUDA_VERSION="cu118"
PYTORCH_VERSION="2.2.2"
TORCHVISION_VERSION="0.17.2"
TORCHAUDIO_VERSION="2.2.2"
TORCH_GEOMETRIC_VERSION="2.5.2"
RDKIT_PYPI_VERSION="2022.09.5"
# === 1. Install PyTorch ===
echo "[1/4] Installing PyTorch with CUDA $CUDA_VERSION..."
pip install torch=="$PYTORCH_VERSION" \
            torchvision=="$TORCHVISION_VERSION" \
            torchaudio=="$TORCHAUDIO_VERSION" \
            --index-url https://download.pytorch.org/whl/$CUDA_VERSION

# === 2. Install PyTorch Geometric core ===
echo "[2/4] Installing PyTorch Geometric $TORCH_GEOMETRIC_VERSION..."
pip install torch_geometric=="$TORCH_GEOMETRIC_VERSION"

# === 3. Install PyTorch Geometric Optional Dependencies ===
echo "[3/4] Installing PyG optional dependencies for CUDA $CUDA_VERSION..."
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv \
            -f https://data.pyg.org/whl/torch-${PYTORCH_VERSION}+${CUDA_VERSION}.html

# === 4. Install RDKit ===
echo "[4/4] Installing RDKit..."
pip install rdkit-pypi==$RDKIT_PYPI_VERSION

# === Final Step: Install Your CLI Package ===
echo "[✓] Installing your CLI package (gpgin-cli)..."
pip install gpgin-cli

```

## Examples:

Our API expects an SDF file for the `X` field and a line-separated values file for the `y` and `out` field

Training:

```bash
gpgin train \
  -X ./data/gdb9.sdf \
  -y ./data/gdb9_u0.txt \
  --name my_model \
  --batch_size 100 \
  --n_epochs 100 \
  --dataset_name QM9 \
  --target_name u0
# Notes:
# - Models are saved in ~/.gpgin/models
# - Processed datasets are saved in ~/.gpgin/processed
```

Inference:

```bash
gpgin run \
  -X ./data/gdb9.sdf \
  --out ./results/gdb9_u0.txt \
  --name my_model \
  --batch_size 64
```