qrzlogger now uses setuptools for packaging and installation

This commit is contained in:
Michael Clemens 2021-06-02 00:58:01 +02:00
parent 8f0ae111c9
commit 0b0faba5df
5 changed files with 52 additions and 6 deletions

View File

@ -22,10 +22,10 @@ qrzlogger needs the following libraries:
* prettytable * prettytable
* colored * colored
These libraries can be installed with the following command on Debian Linux based operating systems: These libraries can be installed with the following commands:
``` ```
# sudo apt install python3-xmltodict python3-prettytable python3-colored # sudo pip install xmltodict prettytable colored
``` ```
Furthermore, you need at least the XML subscription from QRZ.com. Furthermore, you need at least the XML subscription from QRZ.com.

6
pyproject.toml Normal file
View File

@ -0,0 +1,6 @@
[build-system]
requires = [
"setuptools>=42",
"wheel"
]
build-backend = "setuptools.build_meta"

33
setup.cfg Normal file
View File

@ -0,0 +1,33 @@
[metadata]
name = qrzlogger
version = 0.6
author = Michael Clemens
author_email = qrzlogger@qrz.is
description = A python application to log QSOs directly to QRZ.com from the command line
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/exitnode/qrzlogger
project_urls =
Bug Tracker = https://github.com/exitnode/qrzlogger/issues
classifiers =
Programming Language :: Python :: 3
License :: OSI Approved :: MIT License
Operating System :: OS Independent
[options]
package_dir =
= src
packages = find:
python_requires = >=3.6
install_requires=
xmltodict
prettytable
colored
[options.packages.find]
where = src
[options.entry_points]
console_scripts =
qrzlogger = qrzlogger.__main__:main

View File

@ -0,0 +1 @@
from qrzlogger.__main__ import QRZLogger

View File

@ -19,6 +19,7 @@ import urllib
import re import re
import datetime import datetime
import os import os
import sys
import xmltodict import xmltodict
from prettytable import PrettyTable from prettytable import PrettyTable
from requests.structures import CaseInsensitiveDict from requests.structures import CaseInsensitiveDict
@ -27,7 +28,7 @@ from datetime import timezone
import configparser import configparser
from colored import fore, back, style from colored import fore, back, style
class qrzlogger(): class QRZLogger():
# initialize things # initialize things
@ -478,7 +479,7 @@ class qrzlogger():
print(" __ _ _ _ __| |___ __ _ __ _ ___ _ _ ") print(" __ _ _ _ __| |___ __ _ __ _ ___ _ _ ")
print(" / _` | '_|_ / / _ \/ _` / _` / -_) '_|") print(" / _` | '_|_ / / _ \/ _` / _` / -_) '_|")
print(" \__, |_| /__|_\___/\__, \__, \___|_| ") print(" \__, |_| /__|_\___/\__, \__, \___|_| ")
print(" |_| |___/|___/ " + style.RESET) print(" |_| DL6MHC |___/|___/ v0.6 " + style.RESET)
@ -486,9 +487,10 @@ class qrzlogger():
# Main Routine # # Main Routine #
##################################################### #####################################################
if __name__ == '__main__':
q = qrzlogger() def main():
q = QRZLogger()
q.printBanner() q.printBanner()
keeponlogging = True keeponlogging = True
@ -581,3 +583,7 @@ if __name__ == '__main__':
print(q.inputcol) print(q.inputcol)
print("73!") print("73!")
print(style.RESET) print(style.RESET)
if __name__ == "__main__":
sys.exit(main())