{"id":13635293,"url":"https://github.com/ctjacobs/pyqso","last_synced_at":"2026-01-21T17:31:26.609Z","repository":{"id":37470931,"uuid":"13325529","full_name":"ctjacobs/pyqso","owner":"ctjacobs","description":"PyQSO is a contact logging tool for amateur radio operators.","archived":false,"fork":false,"pushed_at":"2021-11-01T22:03:49.000Z","size":10119,"stargazers_count":79,"open_issues_count":16,"forks_count":19,"subscribers_count":19,"default_branch":"master","last_synced_at":"2024-08-02T00:22:12.837Z","etag":null,"topics":["amateur-radio","ham-radio","log","logbook","logging","qso"],"latest_commit_sha":null,"homepage":"http://christianjacobs.uk/pyqso","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ctjacobs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-10-04T13:55:57.000Z","updated_at":"2024-05-29T18:29:28.000Z","dependencies_parsed_at":"2022-07-19T18:04:20.336Z","dependency_job_id":null,"html_url":"https://github.com/ctjacobs/pyqso","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctjacobs%2Fpyqso","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctjacobs%2Fpyqso/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctjacobs%2Fpyqso/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctjacobs%2Fpyqso/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctjacobs","download_url":"https://codeload.github.com/ctjacobs/pyqso/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223790260,"owners_count":17203353,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amateur-radio","ham-radio","log","logbook","logging","qso"],"created_at":"2024-08-02T00:00:43.660Z","updated_at":"2026-01-21T17:31:21.586Z","avatar_url":"https://github.com/ctjacobs.png","language":"Python","funding_links":[],"categories":["Software"],"sub_categories":["Logging"],"readme":"    Copyright (C) 2013-2018 Christian Thomas Jacobs.\n\n    This file is part of PyQSO.\n\n    PyQSO is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    PyQSO is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with PyQSO.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n\n# PyQSO\n\nPyQSO is a contact logging tool for amateur radio operators.\n\n[![Documentation Status](https://readthedocs.org/projects/pyqso/badge/?version=latest)](https://readthedocs.org/projects/pyqso/?badge=latest)\n\n## Dependencies\n\nAs the name suggests, PyQSO is written primarily in the [Python](https://www.python.org/) programming language (version 3.x). The graphical user interface has been developed using the [GTK+ library](https://www.gtk.org/) through the [PyGObject bindings](https://pygobject.readthedocs.io). 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:\n\n* python3\n* gir1.2-gtk-3.0\n* python3-gi-cairo\n\nSeveral 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:\n\n    sudo pip3 install -U -r requirements.txt\n\nbut the complete list is given below:\n\n* python3-matplotlib (version 1.3.0 or later)\n* python3-numpy\n* libxcb-render0-dev\n* [cartopy](http://scitools.org.uk/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).\n* [geocoder](https://pypi.python.org/pypi/geocoder), for QTH lookups.\n* python3-sphinx, for building the documentation.\n* python3-hamlib, for Hamlib support.\n\n### Hamlib support\n\nThere currently does not exist a Python 3-compatible Debian package for [Hamlib](http://www.hamlib.org). This library must be built manually to enable Hamlib support. As per the instructions on the [Hamlib mailing list](https://sourceforge.net/p/hamlib/mailman/message/35692744/), run the following commands in the Hamlib root directory (you may need to run `sudo apt-get install build-essential autoconf automake libtool` beforehand):\n\n    export PYTHON=/usr/bin/python3\n    autoreconf --install\n    ./configure --with-python-binding\n    make\n    sudo make install\n\nYou will also need to append the Hamlib `bindings` and `bindings/.libs` directories to the `PYTHONPATH`:\n\n    export PYTHONPATH=$PYTHONPATH:/path/to/hamlib/bindings:/path/to/hamlib/bindings/.libs\n\n## Installing and running\n\nAssuming 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:\n\n    python3 bin/pyqso\n\nIf the Python package manager `pip3` is available on your system then PyQSO can be installed system-wide using:\n\n    sudo make install\n\nOnce installed, the following command will run PyQSO:\n\n    pyqso\n\n## Documentation\n\nGuidance on how to use PyQSO is available on [Read the Docs](http://pyqso.readthedocs.io/) and in the screencast below.\n\n[![PyQSO: A Logging Tool for Amateur Radio Operators](https://img.youtube.com/vi/sVdZl9KnDsk/0.jpg)](https://www.youtube.com/watch?v=sVdZl9KnDsk)\n\nThe documentation can also be built locally with the following command:\n\n    make docs\n\nwhich will produce an HTML version of the documentation in `docs/build/html` that can be opened in a web browser.\n\n## Contact\n\nPlease raise any technical issues or feature suggestions about PyQSO on the GitHub issue tracker.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctjacobs%2Fpyqso","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctjacobs%2Fpyqso","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctjacobs%2Fpyqso/lists"}