Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1116 commits
Select commit Hold shift + click to select a range
716071f
Merge branch 'master' into rik/latency
gemenerik Oct 22, 2024
8264b02
Merge branch 'master' into rik/uplink_rssi
gemenerik Oct 22, 2024
45c537d
Merge branch 'rik/uplink_rssi' into rik/link_quality
gemenerik Oct 22, 2024
81bfd4a
Refactor SignalHealth to RadioLinkStatistics for clarity
gemenerik Oct 22, 2024
8cec9b8
Switch to pyproject.toml for package configuration
gemenerik Oct 24, 2024
b03d305
Support updated web-builder with venv
gemenerik Oct 24, 2024
ab3f748
Merge branch 'master' into rik/python_build
gemenerik Oct 24, 2024
fe7beba
Use assertEqual instead of deprecated assertEquals
gemenerik Oct 25, 2024
31ff8e4
Rename latency update callback, reduce ping interval to 0.1 seconds
gemenerik Nov 12, 2024
1585ee7
Update expected inputs in test-python-publish.yml
gemenerik Nov 18, 2024
7323c09
Trusted publish to test pypi
gemenerik Nov 18, 2024
8fe7f72
Update test-python-publish.yml
gemenerik Nov 18, 2024
efcd52d
Update pyproject.toml
gemenerik Nov 18, 2024
1319daa
Update homepage
gemenerik Nov 18, 2024
dc658aa
Update version to 0.1.27.1.dev0
gemenerik Nov 18, 2024
6d8d974
Trusted publish to pypi
gemenerik Nov 18, 2024
9313d01
Merge pull request #491 from bitcraze/rik/python_build
gemenerik Nov 19, 2024
608f5f0
Update dependencies, metadata
gemenerik Nov 20, 2024
52bff9d
Include Python 3.13 installation instructions
gemenerik Nov 20, 2024
95ced81
Automatic versioning
gemenerik Nov 20, 2024
1652896
Support auto versioning in GitHub publishing workflows
gemenerik Nov 20, 2024
4fc747d
Run dependency check on all supported Python versions
gemenerik Nov 20, 2024
b2772f0
Run dependency check weekly on Friday at 02:00
gemenerik Nov 20, 2024
840d891
Introduce nightly build and test
gemenerik Nov 20, 2024
a59ff76
Use self-hosted MacOS runner
gemenerik Nov 20, 2024
e5048d4
Update nightly.yml
gemenerik Nov 20, 2024
2866ce0
Install required dependencies for nightly. Run same script as docker …
gemenerik Nov 20, 2024
83e78ce
First build to fetch dependencies
gemenerik Nov 20, 2024
c1e97cf
Nightly: build wheel, pip install it. First run pre-commit checks. Bu…
gemenerik Nov 21, 2024
bdffcc8
Install setuptools, yaml for generating docs
gemenerik Nov 21, 2024
5d0ccc7
Find wheel on Windows
gemenerik Nov 21, 2024
14cf8b5
Use Brew Python on MacOs
gemenerik Nov 21, 2024
ce1afca
Merge pull request #496 from bitcraze/rik/nightly
gemenerik Nov 21, 2024
6623336
Merge pull request #495 from bitcraze/rik/build
ataffanel Nov 21, 2024
ec74aa4
Use Visual Studio for compiling wheels
gemenerik Nov 21, 2024
414af4d
Merge pull request #497 from bitcraze/rik/msvc
gemenerik Nov 21, 2024
02cfb05
Update dependency_check.yml
gemenerik Nov 22, 2024
580903f
Remove now redundant dependency check
gemenerik Nov 22, 2024
1d4c5e8
Remove deprecated call to setDaemon
ataffanel Nov 28, 2024
6b4d3ba
Merge pull request #498 from bitcraze/ataffanel/remove-setDaemon
gemenerik Nov 29, 2024
f9dd6f5
Add serial reader
Gadgeteering Dec 1, 2024
a175489
Merge pull request #1 from bitcraze/master
Gadgeteering Dec 1, 2024
aed7950
pre-commit check
Gadgeteering Dec 4, 2024
29146f6
Manually arm Crazyflies in all examples
gemenerik Dec 4, 2024
8817656
Merge pull request #501 from bitcraze/rik/example_arming
gemenerik Dec 5, 2024
2ccdb3d
Exclude python 3.13 on mac from unit tests
ToveRumar Dec 5, 2024
fb73c21
Add py 3.13 not supported for mac
ToveRumar Dec 5, 2024
38b449c
Merge pull request #503 from bitcraze/toverumar/exclude_py313_mac
ataffanel Dec 5, 2024
4a681d1
Python version in nighly exclude should be string
ToveRumar Dec 5, 2024
fba6170
Move radio link statistics into (universal) link statistics object
gemenerik Dec 5, 2024
965f3d2
Enable deprecation warnings lib-wide
gemenerik Dec 5, 2024
57c4b18
Merge pull request #500 from Gadgeteering/master
gemenerik Dec 9, 2024
d1ea364
Fix restart method in radiodriver.py.
h4writer Dec 16, 2024
dfd989c
Merge pull request #492 from bitcraze/rik/link_quality
ataffanel Dec 20, 2024
6eea1ed
Initialize rate_limit
ToveRumar Jan 8, 2025
6ed0286
Aris/Clarify_Same_Channel_In_Swarm_Examples
ArisMorgens Jan 17, 2025
94f3a2c
Merge pull request #505 from bitcraze/Aris/Clarify_Channel_In_Swarm_E…
ArisMorgens Jan 17, 2025
ba5f7f7
Added inline comments under all listed URIs in the sbs swarm interfac…
ArisMorgens Jan 21, 2025
1ba1804
Merge pull request #506 from bitcraze/Aris/ClarifySameChannel
gemenerik Jan 21, 2025
c0b09ae
Added comment in sbs_swarm.py
ArisMorgens Jan 22, 2025
16debdb
Merge pull request #507 from bitcraze/Aris/sbs_swarmInlineComment
ArisMorgens Jan 22, 2025
c654a1b
Increase sleep times during bootloading to wait for increased boot time
gemenerik Jan 28, 2025
32c1b1e
Only wait longer for restart if AI-deck is attached, reduce wait time
gemenerik Jan 29, 2025
d56f5c8
Added arming in sbs motion commander
ArisMorgens Feb 7, 2025
8359bea
Merge pull request #512 from bitcraze/Aris/Added_Arming_Option
ToveRumar Feb 7, 2025
1d846e2
Added warning about usage
ArisMorgens Feb 10, 2025
e2a07fa
Removed reset estimator - swarm is used
ArisMorgens Feb 11, 2025
12b02db
Added ResetEstimator util
ArisMorgens Feb 11, 2025
4b70359
Converted reset estimator in autonomy examples
ArisMorgens Feb 11, 2025
b50ebfb
Converted reset estimator in lighthouse examples
ArisMorgens Feb 11, 2025
0fa6840
Converted reset estimator in mocap examples
ArisMorgens Feb 11, 2025
76f29c6
Converted reset estimator in positioning examples
ArisMorgens Feb 11, 2025
3f0c5a0
Use correct yaw convention in motion commander
gemenerik Feb 11, 2025
1b6ebc3
Correct yaw convention in motion commander tests
gemenerik Feb 12, 2025
44dcf1f
Added asynchronized swarm example with motion commander
ArisMorgens Feb 12, 2025
c25aa44
Renamed file to reset_estimator.py
ArisMorgens Feb 12, 2025
86df715
Fixed reset_estimator confirmation message
ArisMorgens Feb 12, 2025
119ce20
Added swarm.reset_estimator in autonomy/swarm example
ArisMorgens Feb 12, 2025
edf4741
Merge pull request #513 from bitcraze/Aris/get_estimated_positions_Issue
ArisMorgens Feb 12, 2025
2a97614
Merge pull request #517 from bitcraze/Aris/MotionCommander_Swarm_Example
ArisMorgens Feb 12, 2025
03251bb
Added go_to() documentation
ArisMorgens Feb 10, 2025
405d32e
Added hl_commander documentation
ArisMorgens Feb 10, 2025
1a10819
Added warning about overlapping commands
ArisMorgens Feb 10, 2025
77b131f
Merge pull request #515 from bitcraze/Aris/Single_Drone_Reset_Estimator
ArisMorgens Feb 13, 2025
0c63fde
Send correct yaw sign based on the Crazyflie's CRTP version; maintain…
gemenerik Feb 13, 2025
38b5e6e
Merge pull request #514 from bitcraze/Aris/hl_commander_Issue
ArisMorgens Feb 14, 2025
50622b7
Added swarm sharing data example
ArisMorgens Feb 17, 2025
4edb8c3
Fixed minor issues in asynchronizedSwarm example
ArisMorgens Feb 17, 2025
635818d
Merge pull request #519 from bitcraze/Aris/asynchronizedSwarm-Fixed_m…
ArisMorgens Feb 17, 2025
0f1781c
Merge pull request #510 from bitcraze/rik/ai_deck_delayed_boot
gemenerik Feb 17, 2025
2a7dd80
Added arm option
ArisMorgens Feb 17, 2025
3db043b
Merge pull request #518 from bitcraze/Aris/swarm-sharing-data-example
ArisMorgens Feb 17, 2025
843c81a
Use correct Linux Trove classifier
gemenerik Feb 17, 2025
042e3f5
Remove robotics topic classifier
gemenerik Feb 17, 2025
eb659d3
Account for AI-deck boot delay in reset to firmware
gemenerik Feb 18, 2025
3c0f8e4
Fix deprecation warnings for params
ToveRumar Feb 18, 2025
cc8a935
Merge pull request #520 from bitcraze/toverumar/fix_depr
ToveRumar Feb 18, 2025
354a3fc
Increase waiting for boot delay time for AI-deck to 6 seconds
gemenerik Feb 18, 2025
b7ead19
Always wait 5 seconds for reset to firmware mode when triggered from …
gemenerik Feb 18, 2025
e17a506
Fixed some example issues
ArisMorgens Feb 19, 2025
768c58e
Merge pull request #522 from bitcraze/Aris/Issues_in_examples
ToveRumar Feb 19, 2025
70d10a1
Merge pull request #516 from bitcraze/rik/yawconvention
ToveRumar Feb 19, 2025
a2df6b1
Merge pull request #504 from h4writer/patch-1
ToveRumar Feb 24, 2025
f4c6cfd
Update sbs_swarm_interface.md
NageshEranki Mar 5, 2025
2298eb9
Merge pull request #525 from NageshEranki/patch-1
ArisMorgens Mar 10, 2025
f19691e
Increase ESP flashing timeout by 5s to match GAP8.
gemenerik Mar 18, 2025
a9cdfa2
Merge pull request #527 from bitcraze/rik/esp_boot_delay
gemenerik Mar 18, 2025
236a344
Refactor boot delay handling into `_get_boot_delay()` method
gemenerik Mar 19, 2025
0160110
Merge pull request #528 from bitcraze/rik/flash-detect-boot-delay
gemenerik Mar 19, 2025
2c75274
Suppress connection errors when checking Crazyflie state in boot dela…
gemenerik Mar 19, 2025
01e4fd3
Send continuous zero setpoints until landing in ramp examples
gemenerik Mar 19, 2025
5fb3f59
Restore comment about sleeping before closing the link
gemenerik Mar 19, 2025
db51fc2
Merge pull request #529 from bitcraze/rik/ramp_supervisor_fix
gemenerik Mar 19, 2025
185d517
Solved arming issue on sbs motion commander
ArisMorgens Mar 24, 2025
eb22acc
Merge pull request #531 from bitcraze/Aris/sbs_tutorials_update
ArisMorgens Mar 25, 2025
b42a989
Removed Lists from being global variables
ArisMorgens Apr 2, 2025
3ee1e99
Merge pull request #534 from bitcraze/Aris/GlobalVariables
ToveRumar Apr 2, 2025
8bbcee7
Update the flake8 version.
ToveRumar Apr 2, 2025
cf0bd19
Merge pull request #533 from bitcraze/toverumar/update_flake8_version
ToveRumar Apr 2, 2025
d57702a
Fixing some typing errors
krichardsson Apr 8, 2025
19d90d5
Spelling
krichardsson Apr 8, 2025
a1fe154
Introduced LhException type
krichardsson Apr 8, 2025
43cd6bb
Introduced named tuples for base station pair ids and poses
krichardsson Apr 8, 2025
92ba8d1
cleaned up _angles_to_poses()
krichardsson Apr 8, 2025
f20a22d
Updated deprecated import
krichardsson Apr 8, 2025
a1d24c8
Cleaned up _choose_solutions()
krichardsson Apr 8, 2025
3a6308d
Use typed named tuples
krichardsson Apr 8, 2025
fafc97b
Cleaned up array types
krichardsson Apr 8, 2025
1a4bf43
Fixed errors
krichardsson Apr 8, 2025
200a095
Fixed minor typos
ArisMorgens Apr 9, 2025
9f76d16
Merge pull request #537 from bitcraze/Aris/ExampleTypos
ArisMorgens Apr 9, 2025
696ac5f
Fix casing error
gemenerik Apr 10, 2025
aea9aa1
Added send_setpoint_manual command
ArisMorgens Apr 1, 2025
17f0fe2
Merge pull request #536 from krichardsson/lh_initial_estimator_refactor
gemenerik Apr 10, 2025
8ab8e14
Fix rotvec comparison to handle 180° rotation ambiguity
gemenerik Apr 14, 2025
a029f4f
autopep8 compliance
gemenerik Apr 14, 2025
1708d3f
Merge pull request #538 from bitcraze/rik/fix-rotation-check
ataffanel Apr 14, 2025
6a42731
Merge pull request #539 from bitcraze/Aris/Commander_Generic_Setpoints
ataffanel Apr 24, 2025
81b5e35
Name threads for easier debugging
ToveRumar Jun 4, 2025
0af73a7
properly close param thread and extendedtypefetcher thread
ToveRumar Jun 4, 2025
5032239
Stop modifying packet in callback
ToveRumar Jun 4, 2025
1121a10
Merge pull request #542 from bitcraze/toverumar/Fix_param_thread_close
gemenerik Jun 5, 2025
dabbb56
Add logging for more info
ToveRumar Jun 10, 2025
300ef5c
Incoming packet thread should also be daemon
ToveRumar Jun 11, 2025
4866bad
Radiodriver should be daemon
ToveRumar Jun 11, 2025
998a6a7
Start the ParamUpdater thread only when opening a connection
ToveRumar Jun 11, 2025
3f8fd51
Merge pull request #544 from bitcraze/toverumar/test_pram_threads
ataffanel Jun 18, 2025
7ae9973
Upgrade to numpy 2.3.0
ToveRumar Jun 13, 2025
ceebfc0
float_ is now float64 in later numpy versions
ToveRumar Jun 13, 2025
dc58596
NaN is now nan in numpy2.x
ToveRumar Jun 13, 2025
cfbc3d4
Merge pull request #545 from bitcraze/toverumar/numpy_upgrade
ToveRumar Jun 18, 2025
3a35d22
Downgrade to 2.2 to support python 3.10
ToveRumar Jun 18, 2025
382b226
Merge pull request #546 from bitcraze/toverumar/numpy_upgrade
ToveRumar Jun 18, 2025
41a09bf
Add support for trajectory high-level command with relative_yaw
gemenerik Jun 26, 2025
1f76d7f
Refactor: Clarify naming of relative flag to indicate it applies to p…
gemenerik Jun 26, 2025
0db5579
Add --relative-yaw flag to demonstrate relative yaw functionality
gemenerik Jun 26, 2025
30a9604
Fix: Update example to use renamed relative position flag
gemenerik Jun 27, 2025
5ba1e2b
Merge pull request #547 from bitcraze/test-relative-yaw
gemenerik Jun 27, 2025
bd83603
Added status messages for swarm.reset_estimators
ArisMorgens Jul 1, 2025
e997732
Updated the table in lh geo solver
ArisMorgens Jul 1, 2025
7cb9e40
Merge pull request #549 from bitcraze/Aris/TableAutoApiRender
ArisMorgens Jul 1, 2025
cabf8c3
Merge pull request #548 from bitcraze/Aris/SwarmResetEstimator
ArisMorgens Jul 7, 2025
ae7b3cd
Close RadioDriverThread upon failed reset to bootload
gemenerik Aug 18, 2025
0c813f5
Properly close link upon failed open link attempt with SyncCrazyflie
gemenerik Aug 19, 2025
70e6f7d
Close IncomingPacketHandlerThread upon link closure
gemenerik Aug 19, 2025
d9e6758
Add timeout to join IncomingPacketHandler thread on link closure
gemenerik Aug 20, 2025
ef6d5bf
Fix typo in install.md
valeriyvan Aug 24, 2025
f1e54f1
Fix typo in sbs_motion_commander.md
valeriyvan Aug 24, 2025
6dd4664
Merge pull request #556 from valeriyvan/sbs_motion_commander.md
gemenerik Aug 25, 2025
416871f
Merge pull request #555 from valeriyvan/install.md
gemenerik Aug 25, 2025
e2d7d24
Fix typo in test name
valeriyvan Aug 25, 2025
01ca9ce
Fix typos in mem
valeriyvan Aug 25, 2025
eb90d35
Fix typos in lighthouse_memory.py
valeriyvan Aug 25, 2025
8413aa3
Fix typos in memory_tester.py
valeriyvan Aug 25, 2025
17a5bb5
Fix typo in _ippe.py
valeriyvan Aug 25, 2025
ad9c5b3
Fix typos in lighthouse_config_manager.py
valeriyvan Aug 25, 2025
ca6fbfb
Merge pull request #558 from bitcraze/rik/close_threads
ataffanel Aug 27, 2025
95d9126
Merge pull request #557 from valeriyvan/typo
enyanil Aug 27, 2025
7431a8c
Add multicf_mocap_hl_and_motion_commander.py example
JacopoPan Sep 2, 2025
5430e96
style
JacopoPan Sep 2, 2025
52e62a8
Update packaging dependency to 25
ataffanel Sep 5, 2025
35b20d7
Specify exact version for packaging dependency (PEP 440)
gemenerik Sep 9, 2025
827f9df
Merge pull request #562 from bitcraze/ataffanel/update-packaging
gemenerik Sep 9, 2025
e76d0fb
Remove OpenCV-based lighthouse geometry estimator from cflib
gemenerik Sep 15, 2025
83c7325
Merge pull request #563 from bitcraze/rik/remove-opencv-geometry-esti…
ataffanel Sep 16, 2025
f898125
Cleaned up installation doc
gemenerik Sep 16, 2025
2f3225a
Include Qualisys SDK as optional dependency
gemenerik Sep 16, 2025
deee090
Merge pull request #565 from bitcraze/rik/qualisys_dependency
gemenerik Sep 16, 2025
be9ae91
Fix examples requesting thread closure from within same thread
gemenerik Sep 17, 2025
4d8d41e
Merge pull request #567 from bitcraze/rik/callback-thread-self-close
gemenerik Sep 17, 2025
3f9abb2
Update commander example (autonomous sequence)
gemenerik Sep 18, 2025
7d8a02a
Standardize example filenames to snake_case
gemenerik Sep 18, 2025
7eb3294
Lower "landing" setpoint height in full state setpoint demo to preven…
gemenerik Sep 18, 2025
1c4d0f6
Force Lighthouse deck into V2 mode for multi BS geometry estimation e…
gemenerik Sep 18, 2025
6b10a11
Added arming in asynchronized swarm example
ArisMorgens Sep 18, 2025
08516f9
Fix ramp example threading
ataffanel Sep 18, 2025
3212aa6
Remove unused Thread import in ramp.py
gemenerik Sep 18, 2025
bae3af9
Move venv recommendation up
gemenerik Sep 18, 2025
de587d7
Abstract away docker implementation details from user docs
gemenerik Sep 18, 2025
eab78e4
Merge pull request #570 from bitcraze/ataffanel/ramp_thread
gemenerik Sep 18, 2025
76cbbda
Update installation instructions for Ubuntu 20.04 and correct pip com…
gemenerik Sep 18, 2025
0a687ae
Merge pull request #568 from bitcraze/Aris/AddedArmingInExample
gemenerik Sep 18, 2025
06e23c7
Merge branch 'master' into rik/example_fixes
gemenerik Sep 19, 2025
53c7c16
Merge pull request #569 from bitcraze/rik/example_fixes
gemenerik Sep 19, 2025
ea6c9bd
Add optional dependency for motioncapture
gemenerik Sep 19, 2025
38e8a5a
Merge pull request #571 from bitcraze/rik/mocap_dep
gemenerik Sep 19, 2025
7885e5f
Remove comment about lack of Python 3.13 support on MacOS.
gemenerik Sep 22, 2025
6fcbb97
Merge pull request #564 from bitcraze/rik/cleanup_installation_doc
gemenerik Sep 24, 2025
2cc24a7
Moved the arming_request
ArisMorgens Sep 26, 2025
fdeb55d
Merge pull request #572 from bitcraze/Aris/fpv_example
gemenerik Oct 1, 2025
a40f6b8
Added missing description
ArisMorgens Oct 7, 2025
562e23d
Added a simple mocap swarm example
ArisMorgens Oct 9, 2025
03d5077
Updated the description and addressed flake8 checks
ArisMorgens Oct 9, 2025
2d017fb
Updated uris and moved them to the top
ArisMorgens Oct 9, 2025
c7d7b77
renamed the script
ArisMorgens Oct 9, 2025
357a5ed
Added the activate_kalman_estimator function
ArisMorgens Oct 9, 2025
aed9fb6
Merge pull request #573 from bitcraze/Aris/reset_estimator
ArisMorgens Oct 10, 2025
7bf438b
optitrack test
JacopoPan Oct 13, 2025
094d3a8
typo
JacopoPan Oct 13, 2025
4c84f36
Fixed failing CI
ArisMorgens Oct 14, 2025
da0b4b3
Changed radio channels
ArisMorgens Oct 14, 2025
11d9995
Merge pull request #560 from JacopoPan/patch-1
ArisMorgens Oct 14, 2025
95d0c2a
Add HP RGBW deck example scripts with thermal monitoring
gemenerik Oct 15, 2025
d11d9d7
Add generic LED deck controller example
gemenerik Oct 16, 2025
ce4c1b8
Added visualization script
ArisMorgens Oct 17, 2025
a43ff8e
Added a script for mass lighthouse config upload
ArisMorgens Oct 21, 2025
fa82111
Use updated Color LED deck parameter names
gemenerik Oct 22, 2025
e158ea5
Fix string formatting for thermal throttling warnings in LED deck exa…
gemenerik Oct 22, 2025
d3f50ea
Fix color cycle example
gemenerik Oct 22, 2025
30bfe06
Add license information and copyright notice to LED deck example scripts
gemenerik Oct 23, 2025
e11e5a1
Merge pull request #574 from bitcraze/Aris/LHvisualization
ArisMorgens Oct 30, 2025
6d96620
Merge pull request #575 from bitcraze/Aris/LHmassUpload
ArisMorgens Oct 30, 2025
4f2a4ed
Refactor LED deck examples to use WRGB ordering to match packet format
gemenerik Nov 3, 2025
5865350
Merge pull request #576 from bitcraze/rik/hprgbw
gemenerik Nov 4, 2025
017633b
Add auto-detection for color LED deck variants in examples
gemenerik Nov 5, 2025
0a2eb31
Fixed memory read/write size
evoggy Nov 13, 2025
22b794d
Merge pull request #579 from bitcraze/evoggy/24_byte_writes
evoggy Nov 15, 2025
5897611
Enhance target handling in Bootloader to support multiple targets
gemenerik Nov 17, 2025
dc0d606
Merge pull request #580 from bitcraze/rik/single-bin-multi-target
gemenerik Nov 18, 2025
d3a1276
Merge pull request #578 from bitcraze/rik/clr_led_variants
gemenerik Nov 26, 2025
b39356a
Added the christmas tree script
ArisMorgens Dec 1, 2025
738a8f4
Merge pull request #582 from bitcraze/Aris/ChristmasTreeDemoScript
ArisMorgens Dec 10, 2025
8d8a6d8
Revise README to enhance clarity of cflib
gemenerik Dec 16, 2025
c1abf3a
Increased the delay after flashing a deck by 3 seconds
ArisMorgens Dec 17, 2025
9f87ec8
Merge pull request #585 from bitcraze/Aris/Bootloader
gemenerik Dec 17, 2025
8634588
Fix quaternion averaging
gemenerik Jan 20, 2026
8900f0d
Merge pull request #587 from bitcraze/rik/lheigh
ArisMorgens Jan 20, 2026
fbdd14a
Add DeckCtrlElement class and integrate with Memory management
gemenerik Jan 21, 2026
3a00e17
Add read_failed callback to DeckCtrlElement for memory read failures
gemenerik Jan 21, 2026
93b7252
Merge pull request #588 from bitcraze/rik/aboutdeckctrl
gemenerik Jan 21, 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
25 changes: 25 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Run check and build of the lib using the Bitcraze builder docker image
name: CI

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
schedule:
# Weekly build to make sure dependencies are OK
- cron: '30 16 * * 6'

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Build
run: docker run --rm -v ${PWD}:/module bitcraze/builder ./tools/build/build

- name: Build docs
run: docker run --rm -v ${PWD}:/module bitcraze/web-builder ./tools/build-docs/build-docs
90 changes: 90 additions & 0 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Run check and build of the lib using the Bitcraze builder docker image
name: Nightly Build

on:
workflow_dispatch:
schedule:
- cron: '0 2 * * *'

jobs:
build-and-test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, lab-mac, windows-latest]
python-version: ["3.10", "3.11", "3.12", "3.13"]
exclude:
- os: lab-mac
python-version: "3.13"

runs-on: ${{ matrix.os }}

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
if: runner.os == 'Linux' || runner.os == 'Windows'
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Set up Python ${{ matrix.python-version }} and venv on macOS
if: runner.os == 'macOS'
run: |
brew install python@${{ matrix.python-version }}
$(brew --prefix)/bin/python${{ matrix.python-version }} -m venv venv
echo "PATH=$(pwd)/venv/bin:$PATH" >> $GITHUB_ENV

- name: Set up MSVC environment (Windows)
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64
if: runner.os == 'Windows'

- name: Install dependencies
run: |
python3 -m pip install --upgrade pip build setuptools
python3 -m pip install pre-commit

- name: Code quality checks
run: pre-commit run --all-files

- name: Build wheel
run: python3 -m build --wheel

- name: Install the built wheel
run: |
# Find the built wheel
WHEEL_FILE=$(ls dist/*.whl | head -n 1)
echo "Installing wheel: $WHEEL_FILE"
pip install "$WHEEL_FILE"
shell: bash
if: runner.os != 'Windows'

- name: Install the built wheel (Windows)
run: |
for /f %%i in ('dir /b dist\*.whl') do set WHEEL_FILE=dist\%%i
echo Installing wheel: %WHEEL_FILE%
pip install %WHEEL_FILE%
shell: cmd
if: runner.os == 'Windows'

- name: Test
run: python3 -m unittest discover test/

build-docs:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip setuptools
python3 -m pip install pdoc3 pyyaml
- name: Build docs
run: ./tools/build-docs/build-docs
44 changes: 44 additions & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Release

on:
workflow_dispatch:

permissions:
contents: read

jobs:
deploy:

runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/cflib
permissions:
id-token: write

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Build package
run: python -m build
- name: Publish package
uses: pypa/gh-action-pypi-publish@release/v1
with:
verbose: true
45 changes: 45 additions & 0 deletions .github/workflows/test-python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Test Release

on:
workflow_dispatch:

permissions:
contents: read

jobs:
deploy:

runs-on: ubuntu-latest
environment:
name: pypi-test
url: https://pypi.org/p/cflib
permissions:
id-token: write

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Build package
run: python -m build
- name: Publish package to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
verbose: true
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,13 @@ venv*

#jekyll generated pages
docs/.jekyll-metadata
docs/api/cflib/*

# Generated documentation
tools/build-docs/.local
tools/build-docs/.cache
docs/api/cflib
!docs/api/cflib/index.md

#vscode config folder
.vscode/
14 changes: 9 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
- repo: git://github.com/pre-commit/pre-commit-hooks
sha: 7192665e31cea6ace58a71e086c7248d7e5610c2
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: 7192665e31cea6ace58a71e086c7248d7e5610c2
hooks:
- id: autopep8-wrapper
- id: check-added-large-files
Expand All @@ -13,9 +14,12 @@
- id: detect-private-key
- id: double-quote-string-fixer
- id: end-of-file-fixer
- id: flake8
- id: requirements-txt-fixer
- repo: git://github.com/asottile/reorder_python_imports
sha: ab609b9b982729dfc287b4e75963c0c4de254a31
- repo: https://github.com/PyCQA/flake8
rev: 16f5f28a384f0781bebb37a08aa45e65b9526c50
hooks:
- id: flake8
- repo: https://github.com/asottile/reorder_python_imports
rev: ab609b9b982729dfc287b4e75963c0c4de254a31
hooks:
- id: reorder-python-imports
6 changes: 0 additions & 6 deletions .travis.yml

This file was deleted.

55 changes: 0 additions & 55 deletions CONTRIBUTING.md

This file was deleted.

1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
recursive-include cflib/resources/binaries *.bin
Loading