Laurens Valk
796c600d72
v4.1.0b1
v4.1.0b1
2026-08-25 13:56:58 +02:00
Laurens Valk
226e811c7b
ubuiltins: Fix typing self imports.
2026-08-25 13:52:54 +02:00
Laurens Valk
9086eb696f
workflows: Match in local build script.
...
Also copy to Pybricks Code for local testing.
2026-08-25 13:22:50 +02:00
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
Bert
7e79c20f7d
pybricks.messaging: Fix a few minor typos in docstrings.
...
A few docstrings contained spelling and grammar mistakes. These changes improve readability and do not affect functionality.
2026-06-27 11:17:32 -05:00
Laurens Valk
d17b40796c
v4.0.0
v4.0.0
2026-06-08 15:16:08 +02:00
kai-morich
121e19b33d
pybricks.parameters: make Colors hashable.
...
The MicroPython implementation support hashing, we this should too.
2026-06-04 15:00:58 +02:00
Laurens Valk
a4e4f9cb52
v4.0.0b12
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
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
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