Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit b67c6ac

Browse files
Jason2866ivankravetscclaussDeen-Weibledimbleby
authoredFeb 27, 2025··
pioarduino core v6.1.17
* remove telemetry * no full git clone * add intelhex as required * no core packages * add `argcomplete` as pip dependencies * remove advertisings * add intelhex as required * install scons from github * Update projects.yml * Delete .github/workflows/docs.yml --------- Co-authored-by: Ivan Kravets <[email protected]> Co-authored-by: Christian Clauss <[email protected]> Co-authored-by: Deen-Weible <[email protected]> Co-authored-by: David Hotham <[email protected]>
1 parent 1856fc2 commit b67c6ac

File tree

27 files changed

+76
-172
lines changed

27 files changed

+76
-172
lines changed
 

‎.github/workflows/core.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ jobs:
2727
python -m pip install --upgrade pip
2828
pip install tox
2929
30+
- name: Run "codespell" on Linux
31+
if: startsWith(matrix.os, 'ubuntu')
32+
run: |
33+
python -m pip install codespell
34+
make codespell
35+
3036
- name: Core System Info
3137
run: |
3238
tox -e py

‎.github/workflows/deployment.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- name: Install dependencies
2525
run: |
2626
python -m pip install --upgrade pip
27-
pip install tox wheel
27+
pip install tox build
2828
2929
- name: Deployment Tests
3030
env:
@@ -34,9 +34,8 @@ jobs:
3434
run: |
3535
tox -e testcore
3636
37-
- name: Build Python source tarball
38-
# run: python setup.py sdist bdist_wheel
39-
run: python setup.py sdist
37+
- name: Build Python distributions
38+
run: python -m build
4039

4140
- name: Publish package to PyPI
4241
if: ${{ github.ref == 'refs/heads/master' }}

‎.github/workflows/docs.yml

Lines changed: 0 additions & 109 deletions
This file was deleted.

‎.github/workflows/projects.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
name: Projects
22

3-
on: [push, pull_request]
3+
on:
4+
workflow_dispatch: # Manually start a workflow
5+
push:
46

57
jobs:
68
build:

‎HISTORY.rst

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,13 @@ Unlock the true potential of embedded software development with
1818
PlatformIO's collaborative ecosystem, embracing declarative principles,
1919
test-driven methodologies, and modern toolchains for unrivaled success.
2020

21-
6.1.17 (2024-??-??)
21+
6.1.18 (2025-??-??)
2222
~~~~~~~~~~~~~~~~~~~
2323

24+
6.1.17 (2025-02-13)
25+
~~~~~~~~~~~~~~~~~~~
26+
27+
* Introduced the `PLATFORMIO_RUN_JOBS <https://docs.platformio.org/en/latest/envvars.html#envvar-PLATFORMIO_RUN_JOBS>`__ environment variable, allowing manual override of the number of parallel build jobs (`issue #5077 <https://github.com/platformio/platformio-core/issues/5077>`_)
2428
* Added support for ``tar.xz`` tarball dependencies (`pull #4974 <https://github.com/platformio/platformio-core/pull/4974>`_)
2529
* Ensured that dependencies of private libraries are no longer unnecessarily re-installed, optimizing dependency management and reducing redundant operations (`issue #4987 <https://github.com/platformio/platformio-core/issues/4987>`_)
2630
* Resolved an issue where the ``compiledb`` target failed to properly escape compiler executable paths containing spaces (`issue #4998 <https://github.com/platformio/platformio-core/issues/4998>`_)

‎Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,13 @@ format:
1010
black ./platformio
1111
black ./tests
1212

13+
codespell:
14+
codespell --skip "./build,./docs/_build" -L "AtLeast,TRE,ans,dout,homestate,ser"
15+
1316
test:
1417
pytest --verbose --exitfirst -n 6 --dist=loadscope tests --ignore tests/test_examples.py
1518

16-
before-commit: isort format lint
19+
before-commit: codespell isort format lint
1720

1821
clean-docs:
1922
rm -rf docs/_build

‎docs

Submodule docs updated 61 files

‎examples

‎platformio/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
VERSION = (6, 1, "17b2")
15+
VERSION = (6, 1, 17)
1616
__version__ = ".".join([str(s) for s in VERSION])
1717

1818
__title__ = "platformio"
@@ -40,6 +40,5 @@
4040

4141
__check_internet_hosts__ = [
4242
"185.199.110.153", # Github.com
43-
"88.198.170.159", # platformio.org
4443
"github.com",
4544
] + __registry_mirror_hosts__

‎platformio/commands/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,5 +76,5 @@ def settings_set(ctx, name, value):
7676
@click.pass_context
7777
def settings_reset(ctx):
7878
app.reset_settings()
79-
click.secho("The settings have been reseted!", fg="green")
79+
click.secho("The settings have been reset!", fg="green")
8080
ctx.invoke(settings_get)

‎platformio/dependencies.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def get_pip_dependencies():
4040
home = [
4141
# PIO Home requirements
4242
"ajsonrpc == 1.2.*",
43-
"starlette >=0.19, <0.46",
43+
"starlette >=0.19, <0.47",
4444
"uvicorn >=0.16, <0.35",
4545
"wsproto == 1.*",
4646
]

‎platformio/package/commands/uninstall.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def uninstall_project_env_dependencies(project_env, options=None):
111111
uninstalled_conds.append(
112112
_uninstall_project_env_custom_tools(project_env, options)
113113
)
114-
# custom ibraries
114+
# custom libraries
115115
if options.get("libraries"):
116116
uninstalled_conds.append(
117117
_uninstall_project_env_custom_libraries(project_env, options)

‎platformio/package/commands/update.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ def update_project_env_dependencies(project_env, options=None):
110110
# custom tools
111111
if options.get("tools"):
112112
updated_conds.append(_update_project_env_custom_tools(project_env, options))
113-
# custom ibraries
113+
# custom libraries
114114
if options.get("libraries"):
115115
updated_conds.append(_update_project_env_custom_libraries(project_env, options))
116116
# declared dependencies

‎platformio/platform/factory.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def get_clsname(name):
3333

3434
@staticmethod
3535
def load_platform_module(name, path):
36-
# backward compatibiility with the legacy dev-platforms
36+
# backward compatibility with the legacy dev-platforms
3737
sys.modules["platformio.managers.platform"] = base
3838
try:
3939
return load_python_module("platformio.platform.%s" % name, path)

‎platformio/project/commands/init.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,7 @@ def init_include_readme(include_dir):
201201
finding and changing all the copies as well as the risk that a failure to
202202
find one copy will result in inconsistencies within a program.
203203
204-
In C, the usual convention is to give header files names that end with `.h'.
205-
It is most portable to use only letters, digits, dashes, and underscores in
206-
header file names, and at most one dot.
204+
In C, the convention is to give header files names that end with `.h'.
207205
208206
Read more about using header files in official GCC documentation:
209207
@@ -222,12 +220,12 @@ def init_lib_readme(lib_dir):
222220
fp.write(
223221
"""
224222
This directory is intended for project specific (private) libraries.
225-
PlatformIO will compile them to static libraries and link into executable file.
223+
PlatformIO will compile them to static libraries and link into the executable file.
226224
227-
The source code of each library should be placed in an own separate directory
228-
("lib/your_library_name/[here are source files]").
225+
The source code of each library should be placed in a separate directory
226+
("lib/your_library_name/[Code]").
229227
230-
For example, see a structure of the following two libraries `Foo` and `Bar`:
228+
For example, see the structure of the following example libraries `Foo` and `Bar`:
231229
232230
|--lib
233231
| |
@@ -237,7 +235,7 @@ def init_lib_readme(lib_dir):
237235
| | |--src
238236
| | |- Bar.c
239237
| | |- Bar.h
240-
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
238+
| | |- library.json (optional. for custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
241239
| |
242240
| |--Foo
243241
| | |- Foo.c
@@ -249,7 +247,7 @@ def init_lib_readme(lib_dir):
249247
|--src
250248
|- main.c
251249
252-
and a contents of `src/main.c`:
250+
Example contents of `src/main.c` using Foo and Bar:
253251
```
254252
#include <Foo.h>
255253
#include <Bar.h>
@@ -261,8 +259,8 @@ def init_lib_readme(lib_dir):
261259
262260
```
263261
264-
PlatformIO Library Dependency Finder will find automatically dependent
265-
libraries scanning project source files.
262+
The PlatformIO Library Dependency Finder will find automatically dependent
263+
libraries by scanning project source files.
266264
267265
More information about PlatformIO Library Dependency Finder
268266
- https://docs.platformio.org/page/librarymanager/ldf.html

‎platformio/project/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ def _re_interpolation_handler(self, parent_section, parent_option, match):
347347
if section is None:
348348
if option in self.BUILTIN_VARS:
349349
return self.BUILTIN_VARS[option]()
350-
# SCons varaibles
350+
# SCons variables
351351
return f"${{{option}}}"
352352

353353
# handle system environment variables

‎platformio/project/helpers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ def load_build_metadata(project_dir, env_or_envs, cache=False, build_type=None):
158158
return result or None
159159

160160

161-
# Backward compatibiility with dev-platforms
161+
# Backward compatibility with dev-platforms
162162
load_project_ide_data = load_build_metadata
163163

164164

‎platformio/project/integration/tpls/netbeans/nbproject/private/launcher.properties.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# common.symbolFiles=<Symbol Files loaded by debugger>
1818
# (This value is overwritten by a launcher specific symbolFiles value if the latter exists)
1919
#
20-
# In runDir, symbolFiles and env fields you can use these macroses:
20+
# In runDir, symbolFiles and env fields you can use these macros:
2121
# ${PROJECT_DIR} - project directory absolute path
2222
# ${OUTPUT_PATH} - linker output path (relative to project directory path)
2323
# ${OUTPUT_BASENAME}- linker output filename

‎platformio/run/cli.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,11 @@
3333
# pylint: disable=too-many-arguments,too-many-locals,too-many-branches
3434

3535
try:
36-
DEFAULT_JOB_NUMS = cpu_count()
36+
SYSTEM_CPU_COUNT = cpu_count()
3737
except NotImplementedError:
38-
DEFAULT_JOB_NUMS = 1
38+
SYSTEM_CPU_COUNT = 1
39+
40+
DEFAULT_JOB_NUMS = int(os.getenv("PLATFORMIO_RUN_JOBS", SYSTEM_CPU_COUNT))
3941

4042

4143
@click.command("run", short_help="Run project targets (build, upload, clean, etc.)")

‎platformio/util.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,16 +65,16 @@ def _reset(self):
6565

6666

6767
class throttle:
68-
def __init__(self, threshhold):
69-
self.threshhold = threshhold # milliseconds
68+
def __init__(self, threshold):
69+
self.threshold = threshold # milliseconds
7070
self.last = 0
7171

7272
def __call__(self, func):
7373
@functools.wraps(func)
7474
def wrapper(*args, **kwargs):
7575
diff = int(round((time.time() - self.last) * 1000))
76-
if diff < self.threshhold:
77-
time.sleep((self.threshhold - diff) * 0.001)
76+
if diff < self.threshold:
77+
time.sleep((self.threshold - diff) * 0.001)
7878
self.last = time.time()
7979
return func(*args, **kwargs)
8080

‎tests/commands/pkg/test_install.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
[env]
3232
platform = platformio/atmelavr@^3.4.0
3333
lib_deps =
34-
milesburton/DallasTemperature@^3.9.1
34+
milesburton/DallasTemperature@^4.0.4
3535
https://github.com/esphome/ESPAsyncWebServer/archive/refs/tags/v2.1.0.zip
3636
3737
[env:baremetal]
@@ -215,7 +215,7 @@ def test_project(
215215
PackageSpec("toolchain-atmelavr@1.70300.191015"),
216216
]
217217
assert config.get("env:devkit", "lib_deps") == [
218-
"milesburton/DallasTemperature@^3.9.1",
218+
"milesburton/DallasTemperature@^4.0.4",
219219
"https://github.com/esphome/ESPAsyncWebServer/archive/refs/tags/v2.1.0.zip",
220220
]
221221

@@ -241,7 +241,7 @@ def test_private_lib_deps(
241241
"version": "1.0.0",
242242
"dependencies": {
243243
"bblanchon/ArduinoJson": "^5",
244-
"milesburton/DallasTemperature": "^3.9.1"
244+
"milesburton/DallasTemperature": "^4.0.4"
245245
}
246246
}
247247
"""
@@ -340,7 +340,7 @@ def test_remove_project_unused_libdeps(
340340
),
341341
]
342342

343-
# manually remove from cofiguration file
343+
# manually remove from configuration file
344344
config.set("env:baremetal", "lib_deps", ["bblanchon/ArduinoJson@^5"])
345345
config.save()
346346
result = clirunner.invoke(

‎tests/commands/pkg/test_outdated.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def test_project(clirunner, validate_cliresult, isolated_pio_core, tmp_path):
5656
re.MULTILINE,
5757
)
5858
assert re.search(
59-
r"^DallasTemperature\s+3\.\d\.1\s+3\.\d+\.\d+\s+3\.\d+\.\d+\s+Library\s+devkit",
59+
r"^DallasTemperature\s+3\.\d\.1\s+3\.\d+\.\d+\s+4\.\d+\.\d+\s+Library\s+devkit",
6060
result.output,
6161
re.MULTILINE,
6262
)

‎tests/commands/pkg/test_uninstall.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,14 @@ def test_global_packages(
5858
validate_cliresult(result)
5959
assert pkgs_to_names(LibraryPackageManager().get_installed()) == [
6060
"ArduinoJson",
61+
"Async TCP",
6162
"AsyncMqttClient",
6263
"AsyncTCP",
64+
"AsyncTCP_RP2040W",
6365
"Bounce2",
6466
"ESP Async WebServer",
6567
"ESPAsyncTCP",
66-
"ESPAsyncTCP",
68+
"ESPAsyncTCP-esphome",
6769
"Homie",
6870
]
6971
# uninstall all deps
@@ -96,12 +98,14 @@ def test_global_packages(
9698
validate_cliresult(result)
9799
assert pkgs_to_names(LibraryPackageManager().get_installed()) == [
98100
"ArduinoJson",
101+
"Async TCP",
99102
"AsyncMqttClient",
100103
"AsyncTCP",
104+
"AsyncTCP_RP2040W",
101105
"Bounce2",
102106
"ESP Async WebServer",
103107
"ESPAsyncTCP",
104-
"ESPAsyncTCP",
108+
"ESPAsyncTCP-esphome",
105109
]
106110
# remove specific dependency
107111
result = clirunner.invoke(
@@ -116,6 +120,7 @@ def test_global_packages(
116120
assert pkgs_to_names(LibraryPackageManager().get_installed()) == [
117121
"ArduinoJson",
118122
"AsyncMqttClient",
123+
"AsyncTCP",
119124
"Bounce2",
120125
"ESPAsyncTCP",
121126
]

‎tests/commands/pkg/test_update.py

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@
3434
platform = platformio/atmelavr@^2
3535
framework = arduino
3636
board = attiny88
37-
lib_deps = milesburton/DallasTemperature@^3.8.0
37+
lib_deps = milesburton/DallasTemperature@^3.9.1
3838
"""
3939

4040
PROJECT_UPDATED_CONFIG_TPL = """
4141
[env:devkit]
4242
platform = platformio/atmelavr@<4
4343
framework = arduino
4444
board = attiny88
45-
lib_deps = milesburton/DallasTemperature@^3.8.0
45+
lib_deps = milesburton/DallasTemperature@^3.9.1
4646
"""
4747

4848

@@ -179,7 +179,7 @@ def test_project(
179179
PackageSpec("toolchain-atmelavr@1.50400.190710"),
180180
]
181181
assert config.get("env:devkit", "lib_deps") == [
182-
"milesburton/DallasTemperature@^3.8.0"
182+
"milesburton/DallasTemperature@^3.9.1"
183183
]
184184

185185
# update packages
@@ -195,10 +195,7 @@ def test_project(
195195
assert pkgs[0].metadata.name == "atmelavr"
196196
assert pkgs[0].metadata.version.major == 3
197197
assert pkgs_to_specs(lm.get_installed()) == [
198-
PackageSpec(
199-
"DallasTemperature@%s"
200-
% get_pkg_latest_version("milesburton/DallasTemperature")
201-
),
198+
PackageSpec("DallasTemperature@3.11.0"),
202199
PackageSpec(
203200
"OneWire@%s" % get_pkg_latest_version("paulstoffregen/OneWire")
204201
),
@@ -210,7 +207,7 @@ def test_project(
210207
PackageSpec("toolchain-atmelavr@1.50400.190710"),
211208
]
212209
assert config.get("env:devkit", "lib_deps") == [
213-
"milesburton/DallasTemperature@^3.8.0"
210+
"milesburton/DallasTemperature@^3.9.1"
214211
]
215212

216213
# update again
@@ -230,7 +227,7 @@ def test_custom_project_libraries(
230227
project_dir = tmp_path / "project"
231228
project_dir.mkdir()
232229
(project_dir / "platformio.ini").write_text(PROJECT_OUTDATED_CONFIG_TPL)
233-
spec = "milesburton/DallasTemperature@^3.8.0"
230+
spec = "milesburton/DallasTemperature@^3.9.1"
234231
result = clirunner.invoke(
235232
package_install_cmd,
236233
["-d", str(project_dir), "-e", "devkit", "-l", spec],
@@ -251,15 +248,15 @@ def test_custom_project_libraries(
251248
# update package
252249
result = clirunner.invoke(
253250
package_update_cmd,
254-
["-e", "devkit", "-l", "milesburton/DallasTemperature@^3.8.0"],
251+
["-e", "devkit", "-l", "milesburton/DallasTemperature@^3.9.1"],
255252
)
256253
assert ProjectConfig().get("env:devkit", "lib_deps") == [
257-
"milesburton/DallasTemperature@^3.8.0"
254+
"milesburton/DallasTemperature@^3.9.1"
258255
]
259256
# try again
260257
result = clirunner.invoke(
261258
package_update_cmd,
262-
["-e", "devkit", "-l", "milesburton/DallasTemperature@^3.8.0"],
259+
["-e", "devkit", "-l", "milesburton/DallasTemperature@^3.9.1"],
263260
)
264261
validate_cliresult(result)
265262
assert "Already up-to-date." in result.output
@@ -276,16 +273,13 @@ def test_custom_project_libraries(
276273
os.path.join(config.get("platformio", "libdeps_dir"), "devkit")
277274
)
278275
assert pkgs_to_specs(lm.get_installed()) == [
279-
PackageSpec(
280-
"DallasTemperature@%s"
281-
% get_pkg_latest_version("milesburton/DallasTemperature")
282-
),
276+
PackageSpec("DallasTemperature@3.11.0"),
283277
PackageSpec(
284278
"OneWire@%s" % get_pkg_latest_version("paulstoffregen/OneWire")
285279
),
286280
]
287281
assert config.get("env:devkit", "lib_deps") == [
288-
"milesburton/DallasTemperature@^3.8.0"
282+
"milesburton/DallasTemperature@^3.9.1"
289283
]
290284

291285
# unknown libraries

‎tests/commands/test_lib_complex.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ def test_global_lib_update_check(clirunner, validate_cliresult):
235235
validate_cliresult(result)
236236
output = json.loads(result.output)
237237
assert set(
238-
["Adafruit PN532", "AsyncMqttClient", "ESPAsyncTCP", "NeoPixelBus"]
238+
["Adafruit PN532", "AsyncMqttClient", "AsyncTCP", "ESPAsyncTCP", "NeoPixelBus"]
239239
) == set(lib["name"] for lib in output)
240240

241241

‎tests/package/test_manager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ def test_symlink(tmp_path: Path):
335335
# uninstall
336336
lm.uninstall("External")
337337
assert ["Installed"] == [pkg.metadata.name for pkg in lm.get_installed()]
338-
# ensure original package was not rmeoved
338+
# ensure original package was not removed
339339
assert external_pkg_dir.is_dir()
340340

341341
# install again, remove from a disk

‎tox.ini

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,12 @@ passenv = *
2727
usedevelop = True
2828
deps =
2929
black
30+
codespell
3031
isort
32+
jsondiff
3133
pylint
3234
pytest
3335
pytest-xdist
34-
jsondiff
3536
commands =
3637
{envpython} --version
3738
pio system info

0 commit comments

Comments
 (0)
Please sign in to comment.