Laurens Valk
4241fe3607
all: More ruff fixes.
2026-08-25 12:53:19 +02:00
Laurens Valk
e0821fade4
all: Drop legacy Tuple.
2026-08-25 12:39:49 +02:00
Laurens Valk
d3ba6154f0
all: More ruff fixes.
...
Apply ruff check --fix --unsafe-fixes
and then update the pytests to match.
2026-08-25 12:30:08 +02:00
Laurens Valk
d00bf35c66
all: ruff check --fix.
...
Mainly fixes and sorts imports.
2026-08-25 12:22:28 +02:00
Laurens Valk
d661fa1838
jedi/tests: Modernize type signatures.
...
In one go with:
sed -i \
-e 's/Optional\[Union\[Collection\[int\], Collection\[Collection\[int\]\]\]\]/Collection[int] | Collection[Collection[int]] | None/g' \
-e 's/Optional\[Union\[Button, Iterable\[Button\]\]\]/Button | Iterable[Button] | None/g' \
-e 's/Optional\[Union\[Number, Tuple\[Number, Number\]\]\]/Number | Tuple[Number, Number] | None/g' \
-e 's/Optional\[int | str\]/int | str | None/g' \
-e 's/Optional\[str\]/str | None/g' \
-e 's/Optional\[Number\]/Number | None/g' \
-e 's/Union\[Number, Tuple\[Number, Number, Number, Number\]\]/Number | Tuple[Number, Number, Number, Number]/g' \
-e 's/Union\[Number, Tuple\[Number, Number, Number\]\]/Number | Tuple[Number, Number, Number]/g' \
-e 's/Union\[Color, Collection\[Color\]\]/Color | Collection[Color]/g' \
-e 's/Union\[int, Tuple\[int, int\]\]/int | Tuple[int, int]/g' \
-e 's/\bTuple\[/tuple[/g' \
-e 's/\bSet\[/set[/g' \
jedi/tests/test_get_signature.py
2026-08-25 12:21:14 +02:00
Laurens Valk
97564e33c5
pybricks.parameters: Fix tests for imports.
2026-08-25 12:19:24 +02:00
Laurens Valk
a59a567967
requirements: Add EV3.
2026-08-25 12:03:03 +02:00
Laurens Valk
adf8ed6b56
pybricks.hubs: Enable EV3.
...
First pass including Image and ImageFile. Largely migrated from old ev3dev version. We can refine this for the embedded version in the next commits.
2026-08-25 11:42:05 +02:00
Laurens Valk
6a70707f67
pybricks: Clean up typing.
2026-08-25 10:50:19 +02:00
Laurens Valk
4ade3939ae
pybricks.nxtdevices: Fix awaitability.
...
Some are, and some are not.
2026-08-25 10:19:53 +02:00
Laurens Valk
6cd0c3b136
pybricks._common.Motor: Enable on EV3 and NXT.
...
Use a shared include and only index the pupdevices Motor.
2026-08-25 10:13:58 +02:00
Laurens Valk
bd4a26f6ac
pybricks._common.Motor: Fix nested attributes.
...
Now we can use relative paths, which should help when sharing the motor class contents.
2026-08-25 09:54:02 +02:00
Laurens Valk
8dba975894
pybricks.ev3devices: Re-enable.
...
Also split out to separate class files like we did for pupdevices.
Also make various EV3 and NXT sensor methods awaitable.
2026-08-25 09:26:17 +02:00
Laurens Valk
bc70549edd
pyproject: Re-enable rtd-theme.
2026-08-24 17:28:00 +02:00
Laurens Valk
37664889c6
github/workflows: Always build.
2026-08-24 17:18:57 +02:00
Laurens Valk
b04e318c3c
github/workflows: Modernize toolchain.
2026-08-24 11:32:27 +02:00
Laurens Valk
7398f2df1a
npm/images: Drop this.
...
This was consumed only by Pybricks Code, which now just vendors them in.
2026-08-24 11:31:50 +02:00
Laurens Valk
421e589408
jedi: Bump to modern Python.
2026-08-24 11:30:14 +02:00
Laurens Valk
9bd82f7246
doc: Replace fork with extensions.
...
Use clean upstream Sphinx and use extensions for the awaitable types and work around a Sphinx docstring parsing bug.
2026-08-24 11:01:50 +02:00
Laurens Valk
1fca5c8ad9
all: Build with plain modern sphinx.
...
Updated for various Sphinx API changes.
Also drop rendered math. Simpler and makes the plain Python docstrings look better in jedi.
```
:math:`0 \leq x \leq 255`.
```
just becomes 0 ≤ x ≤ 255.
Also drop Latex dependencies. We don't rely on the PDF and don't need it for math anymore.
2026-08-24 10:30:57 +02:00
Laurens Valk
cab110d4c1
all: Format with ruff.
2026-08-24 09:28:29 +02:00
Laurens Valk
1df788d716
poetry: Drop customizations.
...
Prepare for an updated Sphinx with a modern theme.
2026-08-24 09:27:25 +02:00
Laurens Valk
d17b40796c
v4.0.0
2026-06-08 15:16:08 +02:00
Laurens Valk
a4e4f9cb52
v4.0.0b12
2026-06-02 12:24:39 +02:00
Laurens Valk
a442264953
npm/ide-docs: Export namespace index.
...
Make the linter happy.
2026-06-02 12:20:54 +02:00
Laurens Valk
1118aa2af8
jedi: Fallback to tomllib backport.
2026-06-02 12:03:41 +02:00
Laurens Valk
32ff42d583
CHANGELOG: Move version notes.
...
No need to post these in all release notes.
2026-06-02 12:02:21 +02:00
Laurens Valk
7895cac17f
index: Simplify landing.
...
Docs are great if you know what to look for already. Otherwise it is better to start in the welcome guide.
2026-06-02 12:01:00 +02:00
Laurens Valk
b891f6c35e
blockimg: Update screenshots for BLERadio and hubs.
...
Matches API update to move to BLERadio.
Also update DriveBase method images matching API update.
2026-06-02 11:48:19 +02:00
Laurens Valk
307abbf085
v4.0.0b11
2026-06-01 16:38:48 +02:00
Laurens Valk
9acbdb8367
conf: Build a json symbol index on build.
...
Ship it with the docs so we can parse it in Pybricks for namespace based lookup.
2026-06-01 16:38:34 +02:00
Laurens Valk
7409057b9c
pybricks: Indexing fixes.
...
The noindex made them not show up. Also fix misc related indexing issues.
2026-06-01 16:26:24 +02:00
Laurens Valk
89e5bde8e7
pybricks.pupdevices.Motor: Namespace model and control.
...
Otherwise the duplicate the Motor class in the object index.
2026-06-01 15:32:57 +02:00
Laurens Valk
5ecad4a845
pybricks.parameters. Document with full namespace.
...
This types them in full for the object index.
2026-06-01 15:18:09 +02:00
Laurens Valk
a402ae02e9
poetry: Update locks.
...
0.0.0 can't be pinned.
2026-05-30 11:47:05 +02:00
Laurens Valk
cd58dde773
v4.0.0b10
2026-05-30 11:40:00 +02:00
Laurens Valk
2926b4af71
npm/jedi: Build pybricks-api from source.
...
Now that we use a single release pipeline, the API itself might not yet be on
PyPI by the time we build jedi, so we build it locally.
We'll still keep the API docs on PyPI so users can have local autocomplete,
but that path is no longer a dependency for building jedi.
Also explain CHANGELOG synchronization with firmware repo.
2026-05-30 11:39:00 +02:00
Laurens Valk
614453aa32
.github/workflows: Fix permissions and npm version tags.
2026-05-30 11:32:04 +02:00
Laurens Valk
0f6b8dee67
npm: Simplify release pipeline.
...
Releasing API updates is quite a long and error prone process, so the point
that it was limiting our ability to push frequent updates in practice. There
were 5 tag, commit, wait, and proceed steps and you'd have to start over or
force push if a mistake was made.
This keeps all the npm packages as they were, but versions everything from a
single source of truth, which is this project's main version. Everything
builds on a tag on the main repo, much like we did for a regular IDE docs RTD
release.
It also skips the PyPI for jedi as an intermediate step, which isn't really
needed and required us to have this strict order of publication steps.
2026-05-30 11:31:38 +02:00
Laurens Valk
a9be86238d
pybricks.messaging.BLERadio: Fix example paths.
2026-05-29 20:28:36 +02:00
Laurens Valk
16d5ba64d2
pybricks.ev3devices: Update return types.
2026-05-29 20:09:06 +02:00
Laurens Valk
d8802ace7d
pybricks.common: Update system info.
2026-05-29 20:08:53 +02:00
Laurens Valk
acb5206349
pybricks.robotics: Update DriveBase.
2026-05-29 20:06:56 +02:00
Laurens Valk
6686fce3c3
pybricks.pupdevices: Document MarioHub, TechnicMoveHub and DuploTrain.
2026-05-29 16:59:51 +02:00
Laurens Valk
7d27fbb5d8
pybricks.iodevices: Document DCMotor.
2026-05-29 15:39:24 +02:00
Laurens Valk
a0e98ba75f
pybricks.iodevices: Document pinout.
2026-05-29 15:34:58 +02:00
Laurens Valk
1b69e42b6b
pybricks.iodevices: Update UARTDevice docstrings.
2026-05-29 14:57:53 +02:00
Laurens Valk
47a3d664c2
pybricks.iodevices: Include all classes in index.
...
Some were omitted once EV3 in Pybricks 2.0 was dropped, but they will be included again to prepare for EV3 in Pybricks 4.0.
Enable for Powered UP where relevant, as with UARTDevice.
2026-05-29 14:22:15 +02:00
Laurens Valk
e6cb436c47
pybricks.iodevices: Update I2CDevice docstrings.
2026-05-29 13:41:10 +02:00
Laurens Valk
a8d74720b6
pybricks.iodevices: Update AnalogSensor docstrings.
2026-05-29 12:38:49 +02:00
Laurens Valk
54b4e39360
pybricks.iodevices: Update XboxController docstrings.
2026-05-29 12:32:43 +02:00
Laurens Valk
1f8f0f777a
pybricks.iodevices: Update PUPDevice and LUMPDevice.
...
Also remove Ev3devSensor, which is no longer used.
2026-05-29 12:30:58 +02:00
Laurens Valk
45b9b89d11
pybricks.messaging: Add tests.
2026-05-29 11:48:15 +02:00
Laurens Valk
e0f48b178b
pybricks.messaging: Document AppData.
2026-05-29 11:41:45 +02:00
Laurens Valk
8ed5a489b9
pybricks.messaging.BLERadio: Include raised errors.
2026-05-29 11:24:41 +02:00
Laurens Valk
a2ba8e4dcd
pybricks.hubs: Move .ble to BLERadio.
...
Follows upstream firmware change.
Update tests and examples too.
2026-05-29 11:12:50 +02:00
Laurens Valk
0efcfd4a36
pybricks.iodevices.LWP3Device: Document new parameters.
2025-06-16 11:05:13 +02:00
Laurens Valk
356f6ffdba
v3.6.1
2025-05-01 11:30:32 +02:00
Laurens Valk
4967b96ddd
doc/main: Fix trailing whitespace.
...
For some reason this was not caught by CI.
2025-05-01 11:27:33 +02:00
Laurens Valk
116368e4c7
pybricks.hubs: List missing system.info method.
2025-05-01 11:25:56 +02:00
Laurens Valk
5b56249d8c
doc/common/extensions: Drop unused imports.
2025-05-01 11:19:48 +02:00
Laurens Valk
04fb7e3e19
@pybricks/images/v1.4.0
2025-03-19 10:33:59 +01:00
Laurens Valk
5814a73bb1
v3.6.0
2025-03-11 13:08:17 +01:00
Laurens Valk
ed3059b47b
pybricks.common.IMU: Clarify notes on calibrated values.
2025-03-11 13:01:10 +01:00
Laurens Valk
2a98264144
@pybricks/jedi/v1.17.0
2025-02-26 12:54:14 +01:00
Laurens Valk
6083b17d9a
pybricks_jedi/v1.17.0
2025-02-26 12:49:04 +01:00
Laurens Valk
1c598f35be
@pybricks/ide-docs/v2.20.0
2025-02-26 12:33:03 +01:00
Laurens Valk
52c522df2d
v3.6.0b5
2025-02-26 12:29:10 +01:00
Laurens Valk
2380be2814
extensions/blockimg: Embed svg.
...
This cuts the total build from 527 to 156 files,
which is considerably fewer requests when loading
this inside Pybricks Code.
See https://github.com/pybricks/support/issues/1559
2025-02-26 10:58:03 +01:00
Laurens Valk
89a34e9f51
conf: Don't export txt sources.
...
The sources are hosted on GitHub, so there is not additional information here. Also, the actual docstrings are included in the .py files.
See https://github.com/pybricks/support/issues/1559
2025-02-26 10:17:08 +01:00
Laurens Valk
9597f227f4
pybricks.common.IMU: Add settings blocks.
2025-02-25 13:47:07 +01:00
Laurens Valk
1e09cb2232
builtins: Document missing eval and exec on Move Hub.
...
Fixes https://github.com/pybricks/support/issues/1931
2025-02-25 11:32:01 +01:00
Laurens Valk
6739b517a5
examples: Fix duty cycle comment.
...
Fixes https://github.com/pybricks/support/issues/2029
2025-02-25 11:26:16 +01:00
Laurens Valk
c5cfcd0ac8
tests: Update for IMU changes.
2025-02-25 11:16:27 +01:00
Laurens Valk
827eda031b
pybricks.common.System: Document new system info.
2025-02-25 11:16:27 +01:00
Laurens Valk
c77b440270
pybricks.parameters: Allow iterating colors.
...
https://github.com/pybricks/support/issues/1661
2025-02-25 11:16:27 +01:00
Laurens Valk
789e70a42b
pybricks.common.BLE: Broadcast fixes.
...
Fix missing awaitable. Fix default broadcast channel following firmware update.
2025-02-25 11:16:27 +01:00
Laurens Valk
53d6d14de6
pybricks.common.IMU: Document calibration kwarg option.
2025-02-25 11:16:27 +01:00
Laurens Valk
ce9d7420fb
pybricks.common.IMU: Document new settings.
...
Also dcument hub.system.reset_storage.
2025-02-25 11:16:27 +01:00
Laurens Valk
044903b193
pybricks.common.Motor: Clarify drive base reset side effect.
...
Fixes https://github.com/pybricks/support/issues/1449
2025-02-25 11:16:27 +01:00
Laurens Valk
25bfd0e80e
pybricks.robotics.DriveBase: Document curve and reset updates.
2025-02-25 11:16:27 +01:00
Laurens Valk
f35bbe44f5
@pybricks/ide-docs/v2.19.0
2024-04-11 14:36:16 +02:00
Laurens Valk
08fa5b1c17
v3.5.0
2024-04-11 14:34:22 +02:00
Laurens Valk
6982cf4fd2
@pybricks/jedi/v1.16.0
2024-04-05 11:47:00 +02:00
Laurens Valk
8ffdde38e6
pybricks_jedi/v1.16.0
2024-04-05 11:45:50 +02:00
Laurens Valk
353310c1ba
@pybricks/ide-docs/v2.18.0
2024-04-05 11:43:43 +02:00
Laurens Valk
4ca1ddf909
v3.5.0b2
2024-04-05 11:11:21 +02:00
Laurens Valk
b0ff867dcc
.github: Merge release and PyPI steps.
...
"on: release" only triggers for manual releases, not releases created by another workflow.
Fixes https://github.com/pybricks/support/issues/1558
2024-04-05 11:11:08 +02:00
Laurens Valk
c05d5c42cd
.github: Add release workflow.
...
This was the only step that wasn't automated, which made it a bit harder to remember what to do.
Fixes https://github.com/pybricks/support/issues/1558
2024-04-05 10:46:39 +02:00
Laurens Valk
190c0a4a75
blocks: Add in and double ternary blocks.
2024-04-04 21:45:26 +02:00
Laurens Valk
52b3b4c007
pybricks.tools.read_input_byte: Add last and chr options.
2024-04-04 21:45:26 +02:00
Laurens Valk
0145fd41ae
pybricks.hubs: Add blocks for ready, stationary, up.
2024-04-04 21:45:09 +02:00
Laurens Valk
d228b7de99
pybricks.pupdevices.Remote: Add disconnect.
2024-04-04 20:42:17 +02:00
Laurens Valk
615d21cd54
pyproject: Fix version v prefix.
2024-03-21 19:37:51 +01:00
Laurens Valk
d028e805e7
@pybricks/jedi/v1.15.0
2024-03-21 19:23:54 +01:00
Laurens Valk
d2fee3557d
pybricks_jedi/v1.15.0
2024-03-21 19:21:52 +01:00
Laurens Valk
c02ab79abe
@pybricks/ide-docs/v2.17.0
2024-03-21 19:19:21 +01:00
Laurens Valk
3783fac4e3
v3.5.0b1
2024-03-21 19:16:39 +01:00
Laurens Valk
dcf8405f31
doc/main: Add program exit and comment blocks.
2024-03-21 17:07:06 +01:00
Laurens Valk
2d0cf6c28c
pybricks.iodevices.XboxController: Add rumble.
2024-03-21 17:06:41 +01:00