Skip to content

Commit 2926b4a

Browse files
committed
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.
1 parent 614453a commit 2926b4a

8 files changed

Lines changed: 44 additions & 365 deletions

File tree

.github/workflows/publish-jedi.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,14 @@ jobs:
3030
- name: Set pybricks-jedi version
3131
run: poetry version "$VERSION"
3232
working-directory: jedi
33+
- name: Set pybricks version and update jedi dependency pin
34+
run: |
35+
poetry version "$VERSION"
36+
sed -i "s/^pybricks = \".*\"/pybricks = \"$VERSION\"/" jedi/pyproject.toml
3337
- uses: actions/setup-node@v4
3438
with:
3539
node-version: '24'
3640
registry-url: 'https://registry.npmjs.org'
37-
- run: ./build.py "$NPM_VERSION"
38-
working-directory: npm/jedi
41+
- run: python jedi/build.py "$NPM_VERSION"
3942
- run: npm publish --tag "$NPM_TAG"
40-
working-directory: npm/jedi/build
43+
working-directory: jedi/npm-build

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
build/
2626
build-*/
2727
_build/
28+
npm-build/
2829

2930
# Tests
3031
######################

CHANGELOG.md

Lines changed: 7 additions & 333 deletions
Original file line numberDiff line numberDiff line change
@@ -1,339 +1,13 @@
11
# Changelog
22

3-
<!-- refer to https://keepachangelog.com/en/1.0.0/ for guidance -->
3+
See [pybricks-micropython/CHANGELOG.md][changelog] for the changes in each release.
44

5-
## Unreleased
5+
This repository is frequently updated to stay in sync with the implementation.
66

7-
## 4.0.0b4 - 2026-05-29
7+
Major and minor versions are synchronized with `pybricks-micropython`, which
8+
leads. Patch versions and prerelease version numbers may differ, as they may
9+
be bumped for every small change or typo in the docs.
810

9-
### Changed
11+
The version for this repository is also used for the `@pybricks/jedi` and `@pybricks/ide-docs` npm packages.
1012

11-
- Tag npm prereleases.
12-
13-
## 4.0.0b4 - 2026-05-29
14-
15-
### Changed
16-
17-
- Bump node version.
18-
19-
## 4.0.0b3 - 2026-05-29
20-
21-
### Changed
22-
23-
- Fixed NPM publishing permissions.
24-
25-
## 4.0.0b2 - 2026-05-29
26-
27-
### Changed
28-
29-
- Change NPM publishing to trusted publishers.
30-
31-
32-
## 4.0.0b1 - 2026-05-29
33-
34-
### Changed
35-
36-
- Updated API for firmware 4.0.0bx. See upstream changelog for details.
37-
- Updated release pipeline to publish rtd, npm/docs and npm/jedi on tag.
38-
39-
### Fixed
40-
41-
- Fixed `DriveBase.angle` reporting an incorrect return type.
42-
43-
## 3.6.1 - 2025-05-01
44-
45-
### Fixed
46-
47-
- Fixed missing `hub.system.info` method on some hubs.
48-
49-
## 3.6.0 - 2025-03-11
50-
51-
### Changed
52-
53-
- Update API for firmware 3.6.0. See upstream changelog for details.
54-
55-
## 3.6.0b5 - 2025-02-26
56-
57-
### Changed
58-
59-
- Update API for firmware 3.6.0b5. See upstream changelog for details.
60-
61-
## 3.5.0 - 2024-04-11
62-
63-
### Changed
64-
- Bump version to 3.5.0 without additional changes.
65-
66-
## 3.5.0b2 - 2024-04-05
67-
68-
### Added
69-
70-
- Added `pybricks.pupdevices.Remote.disconnect` method.
71-
- Added blocks for `up`, `ready` and `stationary` for IMUs.
72-
- Added `last` and `chr` parameters to `read_input_byte` and add blocks.
73-
- Added block for the `in` operation.
74-
- Add double ternary block.
75-
76-
## 3.5.0b1 - 2024-03-11
77-
78-
### Added
79-
80-
- Added `XboxController.rumble` method.
81-
- Added block icons for `hub.system.set_stop_button` and `hub.system.shutdown`.
82-
- Added program stop block (`raise SystemExit`).
83-
84-
## 3.4.1 - 2024-03-11
85-
86-
### Fixed
87-
88-
- Fixed Read The Docs virtual environment workflow.
89-
90-
## 3.4.0 - 2024-03-11
91-
92-
### Changed
93-
94-
- Update list block screenshots to match implementation.
95-
96-
## 3.4.0b5 - 2024-03-05
97-
98-
### Changed
99-
100-
- Updates for v3.4.0b3 firmware (out of sync with docs).
101-
- Changed `hub.button` to `hub.buttons` on single button hubs. Access via
102-
`hub.button` will keep working in the firmware for backwards compatibility.
103-
104-
## 3.4.0b4 - 2024-02-14
105-
106-
### Added
107-
108-
- Added `pybricks.iodevices.XboxController` class.
109-
110-
### Changed
111-
112-
- Changed `buttons.pressed` return type to set.
113-
114-
## 3.4.0b3 - 2024-01-30
115-
116-
### Added
117-
118-
- Added `pybricks.robotics.Car` class.
119-
120-
### Changed
121-
122-
- Changed `pybricks.robotics.DriveBase` icon to two wheels instead of steering
123-
wheel, which will be used for the new car class.
124-
125-
## 3.4.0b2 - 2023-11-28
126-
127-
### Changed
128-
- Include first batch of block coding images.
129-
130-
## 3.3.0 - 2023-11-24
131-
132-
### Changed
133-
- Bump beta version to release version with no further changes.
134-
135-
## 3.3.0c1 - 2023-11-20
136-
137-
### Added
138-
- Enabled tilt and orientation config for `MoveHub()`.
139-
- Documented `Motor.close()`
140-
141-
## Fixed
142-
- Fixed missing awaitable for `Remote.light` and LWP3 writes.
143-
144-
## 3.3.0b9 - 2023-10-26
145-
146-
### Changed
147-
- Changed the beta feature for using the hub's gyro. Gyro control can now be
148-
toggled using `use_gyro` instead of using a separate `GyroDriveBase` class.
149-
- Documentation updates to match firmware 3.3.0b5--3.3.0b9 updates.
150-
151-
### Added
152-
- Added `set` to `ubuiltins` module.
153-
- Basic multitasking docs.
154-
- Awaitable keyword for awaitable methods and functions.
155-
156-
## 3.3.0b5 - 2023-05-16
157-
158-
### Added
159-
- Documented new `hub.ble` methods.
160-
161-
## 3.3.0b4 - 2023-04-21
162-
163-
### Added
164-
- Documented `integral_deadzone` in `Control.pid()`.
165-
- Documented `Motor.model`. This can be used to view the estimated motor
166-
state and change its settings.
167-
- Added `rotation`, `orientation`, `ready`, `stationary` and `settings` methods
168-
to `IMU` class.
169-
- Added `GyroDriveBase` class to `pybricks.robotics`.
170-
171-
### Changed
172-
- Change implementation status of `IMU.heading` and `IMU.reset_heading`. They
173-
are now implemented, with some limitations as noted in a note box.
174-
- Moved `Matrix` and `vector` from `pybricks.geometry` to `pybricks.tools`.
175-
- Moved `Axis` from `pybricks.geometry` to `pybricks.parameters`.
176-
177-
### Removed
178-
- Removed `pybricks.geometry` module.
179-
180-
## 3.2.0 - 2022-12-20
181-
182-
### Changed
183-
- Changed module TOC headings to make it easier to find things.
184-
185-
## 3.2.0c1 - 2022-12-09
186-
187-
### Changed
188-
- Updated "front" side of the Technic Hub to be consistent with
189-
the Prime Hub.
190-
191-
## 3.2.0b6 - 2022-12-02
192-
193-
### Added
194-
- Documented ``Stop.NONE`` and ``Stop.COAST_SMART``.
195-
- Documented ``ujson`` module.
196-
- Added `done` and `stalled` methods for `DriveBase`.
197-
198-
### Changed
199-
- Changed `PrimeHub.display.image()` to `PrimeHub.display.icon()` and renamed
200-
its kwarg from `image` to `icon`.
201-
- Improved presentation and docstrings of the ``ubuiltins`` and other
202-
MicroPython modules
203-
- Moved the random numbers example for Move Hub to the Move Hub page.
204-
- Moved `done()`, `stalled()`, `load()` from `Control` to `Motor` object.
205-
206-
## 3.2.0b5 - 2022-11-11
207-
208-
### Fixed
209-
- Fixed Jedi code completion for `Color` and `Icon` classes in `pybricks.parameters`.
210-
211-
## 3.2.0b4 - 2022-10-21
212-
213-
### Added
214-
- Code auto-completion for `EssentialHub`.
215-
- Added `System.storage` method.
216-
217-
### Fixed
218-
- Fixed some type hints in `parameters` submodule.
219-
220-
## 3.2.0b1-r3 - 2022-06-26
221-
222-
### Fixed
223-
- Fixed more type hints and improved compatibility with jedi.
224-
225-
## 3.2.0b1-r2 - 2022-06-24
226-
227-
### Changed
228-
- Moved remaining type hints from `.pyi` files to the python stub modules, and
229-
fixed numerous errors in the type hints throughout.
230-
231-
## 3.2.0b1-r1 - 2022-06-09
232-
233-
### Added
234-
- Added `__init__.py` to `pybricks` package.
235-
236-
## 3.2.0b1 - 2022-06-02
237-
238-
### Added
239-
- Code auto-completion for `hub.charger`, `hub.imu` and `hub.system`.
240-
- Moved typing from several `.pyi` files to the actual python modules.
241-
242-
### Fixed
243-
- Fixed code completion for `DCMotor` and `Motor` classes in MS Python VS Code extension.
244-
- Fixed missing `DCMotor` type in `ev3devices`.
245-
- Fixed type hint for `Motor.reset_angle()` in `pupdevices`.
246-
247-
### Changed
248-
- Setter for acceleration can now also be used to set acceleration and
249-
deceleration to different values, using a two-valued tuple.
250-
251-
## 3.1.0 - 2021-12-16
252-
253-
### Added
254-
- Added maximum voltage setter for `DCMotor` and `Motor`.
255-
- Documented `DriveBase.curve()` method.
256-
257-
### Changed
258-
- Removed `duty` setting from `Control.limits` method.
259-
- Removed `integral_range` setting from `Control.pid` method.
260-
261-
### Fixed
262-
- Fixed link to Color Light Matrix page.
263-
- Fixed link to Inventor Hub page.
264-
265-
## 3.1.0rc1 - 2021-11-19
266-
267-
### Added
268-
- Added `ColorLightMatrix` class.
269-
- Added `LWP3Device` class.
270-
271-
**NOTE: version number after this point were from JavaScript package and do
272-
not correspond to Pybricks firmware version numbers.**
273-
274-
## 1.6.0 - 2021-08-30
275-
276-
### Added
277-
- MicroPython module documentation.
278-
- Examples for hub system functions including stop button and shutdown.
279-
280-
### Changed
281-
- Build IDE docs as main docs with minor changes, instead of a completely
282-
separate build.
283-
- Moved motor control documentation to the motor page.
284-
285-
## 1.5.0 - 2021-07-01
286-
287-
### Added
288-
- Documentation for Powered Up Remote Control.
289-
290-
## 1.4.0 - 2021-06-23
291-
292-
### Added
293-
- Enabled beta content that was hidden for the 3.0 release.
294-
- Added notice about using the latest beta version.
295-
296-
## 1.3.3 - 2021-05-21
297-
298-
### Changed
299-
- Match example snippet styling to IDE.
300-
- Add more examples.
301-
302-
## 1.3.2 - 2021-04-26
303-
304-
### Changed
305-
- Theme style fixes.
306-
- Example code fixes
307-
- Match doc version to firmware version.
308-
309-
## 1.3.1 - 2021-04-12
310-
311-
### Changed
312-
- Upgrade sphinx and rtd-theme to fix style issues.
313-
314-
## 1.3.0 - 2021-04-12
315-
316-
### Removed
317-
- Removed features which not be in the official 3.0 release. These features
318-
are still in beta. They'll come back in future releases once tested.
319-
320-
## 1.2.0 - 2021-04-09
321-
322-
### Changed
323-
- Moved installation guide to external site.
324-
325-
## 1.1.1 - 2021-02-14
326-
327-
### Added
328-
- Added installation guide.
329-
- Various documentation fixes.
330-
331-
## 1.1.0 - 2021-01-28
332-
333-
### Added
334-
- Scrollbar styling.
335-
336-
## 1.0.0 - 2021-01-25
337-
338-
### Added
339-
- Sphinx build output.
13+
[changelog]: https://github.com/pybricks/pybricks-micropython/blob/master/CHANGELOG.md

0 commit comments

Comments
 (0)