Skip to content
Open

v0.18.0 #1024

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
206 commits
Select commit Hold shift + click to select a range
2b6aeb2
attempt of streaming audio to gui
DJ2LS Jun 2, 2025
c32e409
attempt of streaming audio to gui
DJ2LS Jun 2, 2025
1560304
adjusted streaming
DJ2LS Jun 2, 2025
afafd71
adjusted streaming
DJ2LS Jun 2, 2025
2834089
buffer adjustments
DJ2LS Jun 3, 2025
0b74baf
buffer adjustments
DJ2LS Jun 3, 2025
c283197
adjusted streaming
DJ2LS Jun 4, 2025
9f17b2b
adjusted streaming
DJ2LS Jun 4, 2025
5de53bf
adjusted streaming
DJ2LS Jun 4, 2025
e73a8ca
adjusted streaming
DJ2LS Jun 4, 2025
20ed1ad
adjusted streaming
DJ2LS Jun 4, 2025
5433a00
first basic work on NORM implementation
DJ2LS Jun 22, 2025
870e6e0
save data to database
DJ2LS Jun 22, 2025
76518ca
save data to database
DJ2LS Jun 23, 2025
04efe87
work on multi burst
DJ2LS Jun 23, 2025
ecc4ea4
fixing crc failure
DJ2LS Jun 23, 2025
6b42e3d
update status if crc failure or received
DJ2LS Jun 23, 2025
ea8471c
Merge branch 'develop' into ls-norm
DJ2LS Jun 23, 2025
1ff0da0
first parts of implementing gui stuff
DJ2LS Jun 23, 2025
5631f1f
adjust database
DJ2LS Jun 24, 2025
9319018
get broadcasts per domain
DJ2LS Jun 24, 2025
6f57ade
adjusted gui
DJ2LS Jun 24, 2025
5d67e19
adjusted database
DJ2LS Jun 24, 2025
148def4
first working transmission via gui
DJ2LS Jun 24, 2025
64b19c2
fixing smaller stuff
DJ2LS Jun 24, 2025
35f187d
fixing smaller stuff
DJ2LS Jun 24, 2025
a44aa6b
updated database
DJ2LS Jun 24, 2025
e4beea7
adjusted new broadcast
DJ2LS Jun 24, 2025
00c4173
adjusted new broadcast
DJ2LS Jun 24, 2025
e5a7bb0
enable datac4 listening and fix database inserting on IRS
DJ2LS Jun 26, 2025
935e131
adjusted payloads
DJ2LS Jun 26, 2025
e8becdb
first work on NACK
DJ2LS Jun 26, 2025
2eebd5b
first work on NACK
DJ2LS Jun 26, 2025
dc6bb8e
work on nack
Jun 26, 2025
9d66dff
Merge branch 'develop' into ls-audio
DJ2LS Jun 28, 2025
989ba62
Merge branch 'develop' into ls-norm
DJ2LS Jun 28, 2025
f4dd204
Merge branch 'develop' into ls-norm
DJ2LS Jul 2, 2025
5b24dae
Merge branch 'develop' into ls-audio
DJ2LS Jul 2, 2025
5a3a75b
Merge branch 'develop' into ls-norm
DJ2LS Jul 2, 2025
845bba3
fix iss transmission
DJ2LS Jul 2, 2025
b738fea
work on nack
Jul 2, 2025
87ac1ac
fix iss transmission
DJ2LS Jul 2, 2025
6de4e2f
adjust database - added attempts
DJ2LS Jul 7, 2025
5295562
check for max attempts
DJ2LS Jul 7, 2025
cebb09c
run nack only if next transmission is reached
DJ2LS Jul 7, 2025
dcf7884
work on timezone stuff... :-/
DJ2LS Jul 7, 2025
c8be34f
work on timezone stuff... :-/
DJ2LS Jul 7, 2025
d059452
fix transmission stuff
DJ2LS Jul 8, 2025
3b94eef
change timestamps to unix timestamps
DJ2LS Jul 8, 2025
b61c068
change timestamps to unix timestamps
DJ2LS Jul 8, 2025
0294570
fixing message type
DJ2LS Jul 8, 2025
34dd0fa
fixing info modal
DJ2LS Jul 8, 2025
5aa9f58
add message placeholder when receiving
DJ2LS Jul 8, 2025
302afc1
limit input data
DJ2LS Jul 8, 2025
9dba0da
remove support for python3.8
DJ2LS Jul 8, 2025
4bd39e5
time related fixed and logging
DJ2LS Jul 8, 2025
43a19e2
bump version
DJ2LS Jul 8, 2025
aa06c54
adjusted backoff intervall
DJ2LS Jul 8, 2025
391287b
adjusted backoff intervall
DJ2LS Jul 8, 2025
edb743c
adjusted backoff intervall
DJ2LS Jul 8, 2025
f3df7f9
adjusted backoff intervall
DJ2LS Jul 8, 2025
38fd40b
fix sending of repair bursts
DJ2LS Jul 8, 2025
6e3e4fb
Merge branch 'develop' into ls-norm
DJ2LS Jul 9, 2025
f0b64eb
Merge branch 'develop' into ls-norm
DJ2LS Jul 9, 2025
f5ed489
Merge branch 'develop' into ls-audio
DJ2LS Jul 9, 2025
2e4b702
Started translation for new broadcast feature
dk5sm Jul 9, 2025
3607eb2
Added translation for new broadcast feature
dk5sm Jul 9, 2025
fc193b9
Fix for new broadcast translation
dk5sm Jul 9, 2025
56b4c8d
fixing translation string
DJ2LS Jul 10, 2025
af042a4
small translation fix
dk5sm Jul 10, 2025
8c5d9ec
added "deletebroadcastdomain" translation
dk5sm Jul 10, 2025
c6f82a9
work on retransmitting data
DJ2LS Jul 10, 2025
d0bc1e2
Merge remote-tracking branch 'origin/ls-norm' into ls-norm
DJ2LS Jul 10, 2025
2965e17
added new translations for broadcast feature
dk5sm Jul 10, 2025
ce22c81
minor translation corrections
dk5sm Jul 12, 2025
c76e5a5
small bug fixes
DJ2LS Jul 13, 2025
faa9621
fixing timestamps
DJ2LS Jul 13, 2025
6c2edb9
run retransmission async
DJ2LS Jul 13, 2025
ac0efd3
run retransmission async
DJ2LS Jul 13, 2025
e41f312
Merge branch 'develop' into ls-norm
DJ2LS Jul 14, 2025
cf1840c
Merge branch 'develop' into ls-audio
DJ2LS Jul 14, 2025
f1cae53
unread counter...
DJ2LS Aug 25, 2025
4543e68
respect message expired
DJ2LS Aug 25, 2025
b2e90e2
Merge branch 'develop' into ls-norm
DJ2LS Aug 27, 2025
0e564fb
Merge branch 'develop' into ls-audio
DJ2LS Aug 27, 2025
91cd642
timestamp related fix
DJ2LS Aug 27, 2025
f76f593
Merge remote-tracking branch 'origin/ls-norm' into ls-norm
DJ2LS Aug 27, 2025
1db1013
Inserted latest broadcast-related translations
dk5sm Aug 28, 2025
5048208
Update and corrections
dk5sm Aug 28, 2025
c22c515
Merge branch 'develop' into ls-norm
DJ2LS Aug 30, 2025
0c98f73
adjust domain list
DJ2LS Aug 30, 2025
0de4b1d
Merge branch 'develop' into ls-norm
DJ2LS Aug 30, 2025
9718369
Merge remote-tracking branch 'origin/ls-norm' into ls-norm
DJ2LS Aug 30, 2025
47fa728
adjust validation
DJ2LS Aug 30, 2025
edbd784
Merge branch 'develop' into ls-audio
DJ2LS Aug 30, 2025
d7bb61e
Merge branch 'develop' into ls-norm
DJ2LS Aug 31, 2025
efaf4cd
Merge branch 'develop' into ls-audio
DJ2LS Aug 31, 2025
860af27
adjusting repair
DJ2LS Aug 31, 2025
cec2980
implement METAR message for showing different message types
DJ2LS Sep 6, 2025
84e22bb
ICAO override
DJ2LS Sep 7, 2025
65ec61d
Merge branch 'develop' into ls-norm
DJ2LS Sep 21, 2025
b8f8f44
Merge branch 'develop' into ls-audio
DJ2LS Sep 21, 2025
341383f
Merge pull request #1012 from DJ2LS/develop
DJ2LS Sep 21, 2025
e51c848
Bump actions/setup-node from 4 to 5
dependabot[bot] Oct 1, 2025
c607b2f
Bump actions/setup-python from 5 to 6
dependabot[bot] Oct 1, 2025
cc2901d
update workflow
DJ2LS Sep 22, 2025
2389146
Removed useless/deprecated dependencies, updated nuitka
as3ii Oct 3, 2025
04f0ca5
Added pyproject.toml
as3ii Oct 3, 2025
5de39dc
Deprecate python versions older then 3.10, add 3.13 where missing
as3ii Oct 6, 2025
ed0095c
Merge pull request #1018 from as3ii/fix-py-side
DJ2LS Oct 27, 2025
ba963a5
Merge branch 'develop' into dependabot/github_actions/develop/actions…
DJ2LS Oct 27, 2025
4de27d7
Merge branch 'develop' into dependabot/github_actions/develop/actions…
DJ2LS Oct 27, 2025
4d96889
Merge branch 'develop' into ls-audio
DJ2LS Oct 27, 2025
edb2f5c
Merge branch 'develop' into ls-norm
DJ2LS Oct 27, 2025
1721c83
Merge pull request #1014 from DJ2LS/dependabot/github_actions/develop…
DJ2LS Oct 27, 2025
4387ffc
Merge branch 'develop' into dependabot/github_actions/develop/actions…
DJ2LS Oct 27, 2025
9a193db
Fix English locale hamlib radio control help texts and add Dutch
erikdewildt Oct 27, 2025
4288402
Rename dutch local file to nl_Nederlands
erikdewildt Oct 27, 2025
d2e4492
Merge branch 'develop' into add_dutch_language
erikdewildt Oct 28, 2025
64d41de
Add distance unit setting to choose between Kilometer or Miles.
erikdewildt Oct 29, 2025
e25f785
Update locales for distance unit setting.
erikdewildt Oct 29, 2025
5982ca6
Merge branch 'DJ2LS:main' into distance_unit_setting
erikdewildt Oct 30, 2025
b0bc3be
Merge pull request #1015 from DJ2LS/dependabot/github_actions/develop…
DJ2LS Oct 30, 2025
3f3ea54
Merge pull request #1021 from erikdewildt/add_dutch_language
DJ2LS Oct 30, 2025
836039d
Merge branch 'main' into develop
DJ2LS Oct 30, 2025
1b56712
Add a support for Nautical Miles
erikdewildt Oct 30, 2025
9db8472
Merge remote-tracking branch 'origin/develop' into distance_unit_setting
erikdewildt Oct 30, 2025
dd1f4bb
Update Dutch locale for distance unit settting.
erikdewildt Oct 30, 2025
e095693
Merge branch 'distance_unit_setting' of github.com:erikdewildt/FreeDA…
erikdewildt Oct 30, 2025
7ac290e
Bump actions/setup-node from 5 to 6
dependabot[bot] Nov 1, 2025
6309dc5
Bump github/codeql-action from 3 to 4
dependabot[bot] Nov 1, 2025
f166ebd
Bump actions/upload-artifact from 4 to 5
dependabot[bot] Nov 1, 2025
e7c2982
Update nuitka requirement from <=2.7.16 to <=2.8.4
dependabot[bot] Nov 1, 2025
08fed5c
Bump @babel/eslint-parser from 7.28.4 to 7.28.5 in /freedata_gui
dependabot[bot] Nov 1, 2025
f03cb73
Bump core-js from 3.45.1 to 3.46.0 in /freedata_gui
dependabot[bot] Nov 1, 2025
253ebd3
Merge pull request #1025 from DJ2LS/dependabot/github_actions/develop…
DJ2LS Nov 2, 2025
41594fd
Merge pull request #1026 from DJ2LS/dependabot/github_actions/develop…
DJ2LS Nov 2, 2025
223869b
Merge pull request #1027 from DJ2LS/dependabot/github_actions/develop…
DJ2LS Nov 2, 2025
ecd835c
Merge pull request #1028 from DJ2LS/dependabot/pip/develop/nuitka-lte…
DJ2LS Nov 2, 2025
3e6662b
Merge pull request #1030 from DJ2LS/dependabot/npm_and_yarn/freedata_…
DJ2LS Nov 2, 2025
254fac2
Merge pull request #1031 from DJ2LS/dependabot/npm_and_yarn/freedata_…
DJ2LS Nov 2, 2025
59541a8
Bump @babel/core from 7.28.4 to 7.28.5 in /freedata_gui
dependabot[bot] Nov 2, 2025
91bb2dd
Bump eslint from 9.37.0 to 9.39.0 in /freedata_gui
dependabot[bot] Nov 2, 2025
b80a9a4
Merge pull request #1032 from DJ2LS/dependabot/npm_and_yarn/freedata_…
DJ2LS Nov 8, 2025
ac07a6c
Merge pull request #1033 from DJ2LS/dependabot/npm_and_yarn/freedata_…
DJ2LS Nov 8, 2025
976c324
Merge pull request #1023 from erikdewildt/distance_unit_setting
DJ2LS Nov 8, 2025
9f8ba51
Fixed typo in pyproject.toml
as3ii Oct 27, 2025
602b982
Removed setup.py, fixed build of pip module
as3ii Nov 11, 2025
b22a10b
Reordered python dependencies, removed useless pyinstaller
as3ii Nov 11, 2025
e6bcd24
Install only required dependencies
as3ii Oct 27, 2025
131ce36
Merge pull request #1022 from as3ii/project-update
DJ2LS Nov 12, 2025
e2652b7
Switched to ruff for linting/formatting, added ruff CI
as3ii Nov 12, 2025
9cb5e0a
Merge branch 'develop' into ls-audio
DJ2LS Nov 12, 2025
c1097c1
Merge branch 'develop' into ls-norm
DJ2LS Nov 12, 2025
9f5c20d
Added basic CONTRIBUTING.md
as3ii Nov 12, 2025
66b2c6b
Run `ruff format`
as3ii Nov 13, 2025
23f1aab
Removed references to pylint and useless file encoding
as3ii Nov 13, 2025
6f72883
Switched from editing `sys.path` to proper PEP8 imports
as3ii Nov 13, 2025
0deef89
Fixed ruff rule E401 and E402
as3ii Nov 13, 2025
b86cea1
Fixed ruff rule E713, E721 and E722
as3ii Nov 13, 2025
4a45873
Removed unused imports
as3ii Nov 13, 2025
fbb1518
Fixed ruff F403 and F405
as3ii Nov 13, 2025
444c0d3
Removed f-strings without placeholders (ruff F541)
as3ii Nov 13, 2025
4285a81
Fixed errors in create_custom_ofdm_mod
as3ii Nov 13, 2025
b187628
Fixed `undefined name` errors (ruff F812)
as3ii Nov 13, 2025
1f4efac
Substituted unused variables with wildcard (ruff F841)
as3ii Nov 13, 2025
90a1e7c
Removed redefined set_tuner() flrig's function (ruff F811)
as3ii Nov 13, 2025
191c94c
Executed `ruff format --preview`, small update to CONTRIBUTING.md
as3ii Nov 13, 2025
a48e1c7
Bump globals from 16.4.0 to 16.5.0 in /freedata_gui
dependabot[bot] Dec 1, 2025
cc0c879
Bump eslint from 9.39.0 to 9.39.1 in /freedata_gui
dependabot[bot] Dec 1, 2025
5f944e7
Bump bootstrap-vue-next from 0.40.5 to 0.40.9 in /freedata_gui
dependabot[bot] Dec 1, 2025
a47fa91
Bump marked from 16.3.0 to 17.0.1 in /freedata_gui
dependabot[bot] Dec 1, 2025
c133899
Bump actions/checkout from 5 to 6
dependabot[bot] Dec 1, 2025
6ff03de
Update nuitka requirement from <=2.8.4 to <=2.8.9
dependabot[bot] Dec 1, 2025
5b51427
Bump actions/upload-artifact from 5 to 6
dependabot[bot] Jan 1, 2026
d2d224a
Merge pull request #1034 from as3ii/ruff
DJ2LS Jan 8, 2026
abe5c7f
Merge pull request #1039 from DJ2LS/dependabot/npm_and_yarn/freedata_…
DJ2LS Jan 8, 2026
4225d77
Merge pull request #1040 from DJ2LS/dependabot/npm_and_yarn/freedata_…
DJ2LS Jan 8, 2026
8608554
Merge pull request #1042 from DJ2LS/dependabot/npm_and_yarn/freedata_…
DJ2LS Jan 8, 2026
d792d4b
Merge pull request #1043 from DJ2LS/dependabot/npm_and_yarn/freedata_…
DJ2LS Jan 8, 2026
ccb119c
Merge pull request #1044 from DJ2LS/dependabot/github_actions/develop…
DJ2LS Jan 8, 2026
a4890aa
Merge pull request #1045 from DJ2LS/dependabot/pip/develop/nuitka-lte…
DJ2LS Jan 8, 2026
4856314
Merge pull request #1047 from DJ2LS/dependabot/github_actions/develop…
DJ2LS Jan 8, 2026
04366b0
Merge branch 'develop' into ls-norm
DJ2LS Jan 8, 2026
69bfd4c
make norm a setting - trying to merge this PR soon
Jan 8, 2026
a4451f8
fixing some path related issues - trying to merge this PR soon
Jan 8, 2026
f410066
Merge pull request #989 from DJ2LS/ls-norm
DJ2LS Jan 8, 2026
68a4bdc
Merge branch 'develop' into ls-audio
DJ2LS Jan 8, 2026
588d4a0
Merge pull request #987 from DJ2LS/ls-audio
DJ2LS Jan 8, 2026
987539c
bump version
Jan 8, 2026
e5b4f4c
removed stats publishing
Jan 8, 2026
35e7cf0
bump version in package json
Jan 8, 2026
6719119
Merge branch 'main' into develop
DJ2LS Jan 8, 2026
56f7632
Delete freedata_server/nmea.py
DJ2LS Jan 8, 2026
fd88a31
support for M1+ chips
Jan 9, 2026
e5e7ff6
fixed another wrong path
Jan 9, 2026
417d432
added Ubuntu 24.10 and 25.04 - changed default hamlib version to 4.6.5
deejdeej Jan 10, 2026
f88f5fe
Increased max line length to 120, reformatted everything
as3ii Jan 8, 2026
8f7113f
Fixed ruff E7
as3ii Jan 8, 2026
ed4c79c
Fixed ruff F541
as3ii Jan 8, 2026
bec3a28
Fixed ruff F841
as3ii Jan 8, 2026
646174b
Fixed ruff F811 and F401
as3ii Jan 10, 2026
c89b138
add pyproject.toml support
deejdeej Jan 10, 2026
e2b2c73
Fixed other module's paths
as3ii Jan 10, 2026
e3aca6f
Merge pull request #1052 from as3ii/ruff2
DJ2LS Jan 10, 2026
e0b865c
Merge branch 'main' into develop
DJ2LS Jan 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/build_appimage_bundle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ jobs:

steps:
- name: Check out repository
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Set up Python 3.13
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.13"

- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: 24

Expand All @@ -35,7 +35,7 @@ jobs:
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install .[nuitka]

- name: Build binaries
working-directory: freedata_server
Expand Down Expand Up @@ -114,7 +114,7 @@ jobs:


- name: Upload artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: 'FreeDATA-x86_64.AppImage'
path: FreeDATA-x86_64.AppImage
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build_docker_image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
name: Build image and upload artifact
steps:
- name: Checkout Code
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
Expand All @@ -25,7 +25,7 @@ jobs:

# Upload the image tarball as an artifact.
- name: Upload Docker image artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: freedata-image
path: freedata.tar
Expand All @@ -40,7 +40,7 @@ jobs:
contents: read
steps:
- name: Checkout Repo
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/build_nsis_bundle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@ jobs:

steps:
- name: Check out repository
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Set up Python 3.13
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.13"

- name: Install NSIS via choco
run: choco install nsis

- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: 24

Expand All @@ -34,7 +34,7 @@ jobs:
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install .[nuitka]

- uses: robinraju/release-downloader@v1.12
with:
Expand Down Expand Up @@ -92,7 +92,7 @@ jobs:
run: ls -R

- name: Upload artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: 'FreeDATA-Installer'
path: ./FreeDATA-Installer.exe
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/build_server.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ jobs:

steps:
- name: Checkout code for ${{ matrix.platform.name }}
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
repository: DJ2LS/FreeDATA

- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: 24

Expand All @@ -43,7 +43,7 @@ jobs:
npm run build

- name: Set up Python 3.13
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.13"

Expand All @@ -62,7 +62,7 @@ jobs:
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install .[nuitka]

- name: Add MacOS certs
if: ${{startsWith(matrix.os, 'macos')}}
Expand Down Expand Up @@ -117,7 +117,7 @@ jobs:
run: ls -R

- name: Upload artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: '${{ matrix.zip_name }}'
path: ./freedata_server/server.dist/${{ matrix.zip_name }}.zip
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
ref: ${{ github.head_ref }}

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
Expand All @@ -56,7 +56,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
uses: github/codeql-action/autobuild@v4

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
Expand All @@ -70,4 +70,4 @@ jobs:
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@v4
4 changes: 2 additions & 2 deletions .github/workflows/gui_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ jobs:
- node-version: "24"

steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}

Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/modem_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@ 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"
- python-version: "3.13"

steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -42,9 +42,9 @@ jobs:
- name: Install python packages
shell: bash
run: |
pip3 install -r requirements.txt
pip install .[test]

- name: run config tests
shell: bash
run: |
python -m unittest discover tests
python -m unittest discover tests
11 changes: 5 additions & 6 deletions .github/workflows/pip_package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- name: Set up Python 3.13
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.13"

- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: 24

Expand All @@ -24,8 +24,7 @@ jobs:
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install wheel
pip install .[build]

- name: Build GUI
working-directory: freedata_gui
Expand All @@ -35,7 +34,7 @@ jobs:

- name: Build package
run: |
python setup.py sdist bdist_wheel
python -m build

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@v1.13.0
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/prettier.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.head_ref }}
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/ruff.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: "Ruff"

on:
push:
branches:
- 'main'
- 'develop'
paths:
- '**.py'
- 'pyproject.toml'
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
merge_group:
workflow_dispatch:

jobs:
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ruff
- name: Run Ruff check
run: ruff check --output-format=github .
- name: Run Ruff Format
# TODO: remove `--preview` when `--output-format=github` stabilizes for the format action
run: ruff format --check --preview --output-format=github .
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,7 @@ venv_3.11/
venv/
test_venv/
freedata_server/lib/codec2/codec2/

# `python -m build` artifacts
/dist/
/*.egg-info/
58 changes: 58 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Contribution Guide

## Required Tools and Dependencies

The backend of FreeDATA is built with python, with a couple dependencies written
in C/C++, and the frontend is build with VueJS, so you will need Python (from
3.10 to 3.13) to work on the backend, and node+npm to work on the frontend.

System dependencies required:
- python3 (with virtual environment support)
- portaudio
- hamlib (optional, there is a vendored version bundled with the freedata
server, or you can build it from source)
- nodejs + npm

Example for debian trixie: `sudo apt update && sudo apt install python3
python3-venv nodejs npm portaudio19-dev`

Example for MacOS: `brew install python pyenv-virtualenv npm node@24 portaudio`

To fetch the python dependencies create a virtual environment and next use pip:

- Create a virtual environment: `python -m venv venv`
- Load the virtual environment `source venv/bin/activate`
- There are several sets of dependencies you can install:
- `pip install .` installs only the libraries required to run freedata
- `pip install .[test]` installs the libraries required for running and testing
freedata
- `pip install .[dev]` installs the libraries required for running, testing
and linting/checking freedata
- `pip install .[build]` installs only the libraries required to run and build
the freedata pip module
- `pip install .[nuitka]` installs only the libraries required to run and
build the freedata windows executable

To fetch the `npm` dependencies go inside `./freedata_gui` and run `npm
install`. See `./freedata_gui/README.md` for additional informations.

## Linting and Formatting (python-only)
The python sources must be formatted and checked using `ruff`. There is a CI
workflow that block all PRs that do not pass the linter/formatter checks.

- To check formatting run `ruff format --check` (lists file that needs formatting)
- To see what the automatic formatter will change run `ruff format --preview
--diff` (shows diff-style changes).
- To automatically format files run `ruff format --preview`

NOTE: the `--preview` enables new auto-formatting actions and enables a feature
usefull in the CI. In the future it will no longer be necessary

- To run the checker/linter execute `ruff check`
- Some errors can be automatically fixed running `ruff check --fix`, but always
check and test the changes made by ruff. There are errors that ruff cannot safely
fix automatically, you must fix them manually.

## Testing backend
To run the backend tests run inside the virtual environment `python -m unittest
discover tests`
3 changes: 1 addition & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@ ADD https://github.com/DJ2LS/FreeDATA.git#v0.16.10-alpha ./
RUN python3 -m venv /app/FreeDATA/venv
ENV PATH="/app/FreeDATA/venv/bin:$PATH"

RUN pip install --no-cache-dir --upgrade pip wheel && \
pip install --no-cache-dir -r requirements.txt
RUN pip install --no-cache-dir --upgrade pip .

WORKDIR /app/FreeDATA/freedata_server/lib

Expand Down
Loading