Merge pull request #1018 from as3ii/fix-py-side

Add pyproject, cleanup python dependencies, deprecate python 3.9
pull/1014/head^2
DJ2LS 2025-10-27 08:46:31 +01:00 committed by GitHub
commit ed0095c933
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 83 additions and 9 deletions

View File

@ -17,8 +17,8 @@ jobs:
matrix:
include:
#- python-version: "3.7" EOL
- python-version: "3.8"
- python-version: "3.9"
#- python-version: "3.8" EOL
#- python-version: "3.9" EOL
- python-version: "3.10"
- python-version: "3.11"
- python-version: "3.12"
@ -47,4 +47,4 @@ jobs:
- name: run config tests
shell: bash
run: |
python -m unittest discover tests
python -m unittest discover tests

77
pyproject.toml 100644
View File

@ -0,0 +1,77 @@
[build-system]
requires = ["setuptools >= 77.0.3"]
build-backend = "setuptools.build_meta"
[project]
name = "freedata"
dynamic = ["version"]
authors = [
{name = "DJ2LS", email = "dj2ls@proton.me"}
]
description = "A versatile, open-source platform designed specifically for HF communications, leveraging Codec2 data modes for robust global digital communication."
readme = "README.md"
license = "GPL-3.0-or-later"
license-files = ["LICENSE"]
keywords = [
"freedata",
"codec2",
]
classifier = [
# See https://pypi.org/classifiers/
"Development Status :: 4 - Beta",
"Environment :: Web Environment",
"Intended Audience :: End Users/Desktop",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Communications :: Ham Radio",
]
requires-python = ">=3.10"
dependencies = [
"numpy",
"psutil",
"PyAudio",
"pyserial",
"sounddevice",
"structlog",
"requests",
"chardet",
"colorama",
"ordered-set",
"nuitka<=2.7.16",
"pyinstaller",
"websocket-client",
"fastapi[standard]",
"uvicorn[standard]",
]
[project.urls]
Homepage = "https://freedata.app"
Documentation = "https://wiki.freedata.app"
Repository = "https://github.com/DJ2LS/FreeDATA"
Tracker = "https://github.com/DJ2LS/FreeDATA/issues"
[project.scripts]
freedata = "freedata_server.server:main"
[project.optional-dependencies]
test = [
"pytest",
"pytest-cov",
"pytest-rerunfailures",
"pick",
"sqlalchemy",
]
dev = [
"autopep8",
"black",
"isort",
"pycodestyle",
]
[tool.pytest.ini_options]
testpaths = [ "tests" ]

View File

@ -5,11 +5,10 @@ pyserial
sounddevice
structlog
requests
asyncio
chardet
colorama
ordered-set
nuitka<=2.7.13
nuitka<=2.7.16
pyinstaller
websocket-client
fastapi[standard]
@ -22,8 +21,6 @@ isort
pycodestyle
pytest
pytest-cov
pytest-cover
pytest-coverage
pytest-rerunfailures
pick
sqlalchemy
sqlalchemy

View File

@ -13,7 +13,7 @@ setup(
packages=find_packages(where='.'),
package_dir={'': '.'},
install_requires=required,
python_requires='>=3.9',
python_requires='>=3.10',
author='DJ2LS',
author_email='dj2ls@proton.me',
description='INFO: THIS PACKAGE IS NOT YET WORKING - PLEASE USE THE OFFICIAL SCRIPT BASED SETUP',