Softwareentwicklung

This software is written in Python and requires at least Python 3.9 to run. The following sections describe in short how to install, build and run the application.

Installing (Ubuntu/Debian)

  1. Clone the repository

    git clone {web_url}.git
  2. Check out the development branch

    git checkout development
  3. Ensure Python 3 is installed

    Install Python 3 and pipx
    sudo apt update
    sudo apt install python3 python3-pip python3-pipx
    Verify Python Version
    python3 --version
  4. Install all python dependencies and the package itself.

    Install the package for local development
    pipx install -e .[dev] (1)
    1 The . (dot) refers to the current directory and must not be omitted!

    The output should be something like:

      installed package memory_channels 0.0.29.dev0, installed using Python 3.12.3
      These apps are now globally available
        - memory-channels-processor
    done! ✨ 🌟 ✨
  5. Run the check.sh script to check if everything worked as expected. The output should be something like:

    --------------------
    Check version and usage information
    snapshot
    usage: memory-channels-processor [-h] [--source {csv,fm-channels-iaru-r1,...} ...
    
    ...
    
      --version             Show the version (default: False)
    --------------------

Testing

Install tox
sudo apt update
sudo apt install tox
Test the package
tox

Building

Building the package
python3 -m build

Playing around

The following commands give just a short overview about what’s possible…​

Useful commands for processing
# FM: Export from ÖVSV Repeater-DB to CSV
memory-channels-processor --source "oevsv-repeater-db" --band 70cm --type "fm" --output-file "fm_70cm_gen_oevsv-repeater-db.csv" --output-format="csv"
memory-channels-processor --source "oevsv-repeater-db" --band 2m --type "fm" --output-file "fm_2m_gen_oevsv-repeater-db.csv" --output-format="csv"

# D-STAR: Export from ÖVSV Repeater-DB to CSV
memory-channels-processor --source "oevsv-repeater-db" --band 23cm --band 70cm --band 2m --type "d-star" --output-file "d-star_23cm_70cm_2m_gen_oevsv-repeater-db.csv" --output-format="csv" --sort "callsign" --sort "freq_tx" --sort "name"

# FM: Input from CSV, filter and export to CSV - should be the same data - just for testing
memory-channels-processor --source "csv" --band 70cm --type "fm" --csv-input-file "fm_70cm_gen_oevsv-repeater-db.csv" --output-file "fm_70cm_gen_oevsv-repeater-db_dup.csv" --output-format="csv"

# FM + Additional data: Export from ÖVSV Repeater-DB mixed with additional entries to Icom
memory-channels-processor --source "oevsv-repeater-db" --source "csv" --band 70cm --type "fm" --csv-input-file "fm_additional.csv" --output-file "icom_ic705_id52_fm_70cm_gen_oevsv-repeater-db_additional.csv" --output-format="icom" --icom-group-number "02" --icom-group-name "OE 70cm"

# D-STAR: Export from ÖVSV Repeater-DB to Icom
memory-channels-processor --source "oevsv-repeater-db" --band 23cm --band 70cm --band 2m --type "d-star" --output-file "icom_ic705_id52_d-star_23cm_70cm_2m_gen_oevsv-repeater-db.csv" --output-format="icom" --icom-group-number "1" --icom-group-name "Austria" --icom-type="d-star" --sort "name"  --sort "callsign" --sort "freq_tx"