Code Monkey home page Code Monkey logo

pyqso's Introduction

Copyright (C) 2013-2018 Christian Thomas Jacobs.

This file is part of PyQSO.

PyQSO is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

PyQSO is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with PyQSO.  If not, see <http://www.gnu.org/licenses/>.

PyQSO

PyQSO is a contact logging tool for amateur radio operators.

Build Status Documentation Status

Dependencies

As the name suggests, PyQSO is written primarily in the Python programming language (version 3.x). The graphical user interface has been developed using the GTK+ library through the PyGObject bindings. Therefore, in order to run PyQSO, the Python interpreter must be present on your system along with support for GTK+. On many Linux-based systems this can be accomplished by installing the following Debian packages:

  • python3
  • gir1.2-gtk-3.0
  • python3-gi-cairo

Several extra packages are necessary to enable the full functionality of PyQSO. Many of these (specified in the requirements.txt file) can be readily installed system-wide using the Python package manager by issuing the following command in the terminal:

sudo pip3 install -U -r requirements.txt

but the complete list is given below:

  • python3-matplotlib (version 1.3.0 or later)
  • python3-numpy
  • libxcb-render0-dev
  • cartopy, for drawing the world map. This package in turn depends on python3-scipy, python3-cairocffi, cython, libproj-dev (version 4.9.0 or later), and libgeos-dev (version 3.3.3 or later).
  • geocoder, for QTH lookups.
  • python3-sphinx, for building the documentation.
  • python3-hamlib, for Hamlib support.

Hamlib support

There currently does not exist a Python 3-compatible Debian package for Hamlib. This library must be built manually to enable Hamlib support. As per the instructions on the Hamlib mailing list, run the following commands in the Hamlib root directory (you may need to run sudo apt-get install build-essential autoconf automake libtool beforehand):

export PYTHON=/usr/bin/python3
autoreconf --install
./configure --with-python-binding
make
sudo make install

You will also need to append the Hamlib bindings and bindings/.libs directories to the PYTHONPATH:

export PYTHONPATH=$PYTHONPATH:/path/to/hamlib/bindings:/path/to/hamlib/bindings/.libs

Installing and running

Assuming that the current working directory is PyQSO's base directory (the directory that the Makefile is in), PyQSO can be run without installation by issuing the following command in the terminal:

python3 bin/pyqso

If the Python package manager pip3 is available on your system then PyQSO can be installed system-wide using:

sudo make install

Once installed, the following command will run PyQSO:

pyqso

Documentation

Guidance on how to use PyQSO is available on Read the Docs and in the screencast below.

PyQSO: A Logging Tool for Amateur Radio Operators

The documentation can also be built locally with the following command:

make docs

which will produce an HTML version of the documentation in docs/build/html that can be opened in a web browser.

Contact

If you have any comments or questions about PyQSO please send them via email to Christian Jacobs, M0UOS, at [email protected].

pyqso's People

Contributors

ctjacobs avatar dnet avatar merkato avatar wb5vqx avatar njohnsn avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.