Skip to content

Commit adf895d

Browse files
authoredMar 11, 2025··
Fix site-packages packaging for Pyodide platform. (#150)
Fix flet-dev/flet#4962
1 parent db595de commit adf895d

File tree

11 files changed

+58
-37
lines changed

11 files changed

+58
-37
lines changed
 

‎src/serious_python/CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## 0.9.2
22

33
* Breaking change: multiple `--requirements` options of `package` command must be passed as `--requirements DEP_1 --requirements DEP_2 ...` (or `-r DEP_1 -r DEP_2 ...`) instead of `-r DEP_1,DEP_2,...` to support dependency specifications with commas, e.g. `pandas>=2.2,<3`.
4+
* Fix site-packages packaging for Pyodide platform.
45

56
## 0.9.1
67

‎src/serious_python/bin/package_command.dart

+12-6
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const pyodideLockFile = "pyodide-lock.json";
2020

2121
const buildPythonVersion = "3.12.9";
2222
const buildPythonReleaseDate = "20250205";
23+
const defaultSitePackagesDir = "__pypackages__";
2324
const sitePackagesEnvironmentVariable = "SERIOUS_PYTHON_SITE_PACKAGES";
2425
const flutterPackagesFlutterEnvironmentVariable =
2526
"SERIOUS_PYTHON_FLUTTER_PACKAGES";
@@ -264,12 +265,17 @@ class PackageCommand extends Command {
264265
if (requirements.isNotEmpty && !skipSitePackages) {
265266
String? sitePackagesRoot;
266267

267-
if (Platform.environment.containsKey(sitePackagesEnvironmentVariable)) {
268-
sitePackagesRoot =
269-
Platform.environment[sitePackagesEnvironmentVariable];
270-
}
271-
if (sitePackagesRoot == null || sitePackagesRoot.isEmpty) {
272-
sitePackagesRoot = path.join(currentPath, "build", "site-packages");
268+
if (platform != "Pyodide") {
269+
if (Platform.environment
270+
.containsKey(sitePackagesEnvironmentVariable)) {
271+
sitePackagesRoot =
272+
Platform.environment[sitePackagesEnvironmentVariable];
273+
}
274+
if (sitePackagesRoot == null || sitePackagesRoot.isEmpty) {
275+
sitePackagesRoot = path.join(currentPath, "build", "site-packages");
276+
}
277+
} else {
278+
sitePackagesRoot = path.join(tempDir.path, defaultSitePackagesDir);
273279
}
274280

275281
if (await Directory(sitePackagesRoot).exists()) {

‎src/serious_python/example/run_example/README.md

+14-5
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,41 @@ For Android:
66

77
```
88
export SERIOUS_PYTHON_SITE_PACKAGES=$(pwd)/build/site-packages
9-
dart run serious_python:main package app/src -p Android --requirements -r,app/src/requirements.txt
9+
dart run serious_python:main package app/src -p Android -r -r -r app/src/requirements.txt
1010
```
1111

1212
For iOS:
1313

1414
```
1515
export SERIOUS_PYTHON_SITE_PACKAGES=$(pwd)/build/site-packages
16-
dart run serious_python:main package app/src -p iOS --requirements -r,app/src/requirements.txt
16+
dart run serious_python:main package app/src -p iOS -r -r -r app/src/requirements.txt
1717
```
1818

1919
For macOS:
2020

2121
```
22-
dart run serious_python:main package app/src -p Darwin --requirements -r,app/src/requirements.txt
22+
export SERIOUS_PYTHON_SITE_PACKAGES=$(pwd)/build/site-packages
23+
dart run serious_python:main package app/src -p Darwin -r -r -r app/src/requirements.txt
2324
```
2425

2526
For Windows:
2627

2728
```
28-
dart run serious_python:main package app/src -p Windows --requirements -r,app/src/requirements.txt
29+
export SERIOUS_PYTHON_SITE_PACKAGES=$(pwd)/build/site-packages
30+
dart run serious_python:main package app/src -p Windows -r -r -r app/src/requirements.txt
2931
```
3032

3133
For Linux:
3234

3335
```
34-
dart run serious_python:main package app/src -p Linux --requirements -r,app/src/requirements.txt
36+
export SERIOUS_PYTHON_SITE_PACKAGES=$(pwd)/build/site-packages
37+
dart run serious_python:main package app/src -p Linux -r -r -r app/src/requirements.txt
38+
```
39+
40+
For Pyodide:
41+
42+
```
43+
dart run serious_python:main package app/src -p Pyodide -r -r -r app/src/requirements.txt
3544
```
3645

3746
For Android:
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
bb18353320e48c8f5166c446e7c527cd2d69fd298a5e18881d64034f944a527e
1+
f191238eabf7628dcbb3a2671a20407a5338b7c375c015bf177ece347228b8ea

‎src/serious_python/example/run_example/app/src/requirements.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#numpy
2-
lru-dict
1+
numpy
2+
#lru-dict
33
#pyjnius
44
#flet-libsodium
55
# pysodium

‎src/serious_python/example/run_example/pubspec.lock

+23-23
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ packages:
5353
dependency: transitive
5454
description:
5555
name: collection
56-
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
56+
sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
5757
url: "https://pub.dev"
5858
source: hosted
59-
version: "1.18.0"
59+
version: "1.19.0"
6060
crypto:
6161
dependency: transitive
6262
description:
@@ -158,18 +158,18 @@ packages:
158158
dependency: transitive
159159
description:
160160
name: leak_tracker
161-
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
161+
sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
162162
url: "https://pub.dev"
163163
source: hosted
164-
version: "10.0.4"
164+
version: "10.0.7"
165165
leak_tracker_flutter_testing:
166166
dependency: transitive
167167
description:
168168
name: leak_tracker_flutter_testing
169-
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
169+
sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
170170
url: "https://pub.dev"
171171
source: hosted
172-
version: "3.0.3"
172+
version: "3.0.8"
173173
leak_tracker_testing:
174174
dependency: transitive
175175
description:
@@ -198,18 +198,18 @@ packages:
198198
dependency: transitive
199199
description:
200200
name: material_color_utilities
201-
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
201+
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
202202
url: "https://pub.dev"
203203
source: hosted
204-
version: "0.8.0"
204+
version: "0.11.1"
205205
meta:
206206
dependency: transitive
207207
description:
208208
name: meta
209-
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
209+
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
210210
url: "https://pub.dev"
211211
source: hosted
212-
version: "1.12.0"
212+
version: "1.15.0"
213213
path:
214214
dependency: "direct main"
215215
description:
@@ -278,10 +278,10 @@ packages:
278278
dependency: transitive
279279
description:
280280
name: platform
281-
sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec"
281+
sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65"
282282
url: "https://pub.dev"
283283
source: hosted
284-
version: "3.1.4"
284+
version: "3.1.5"
285285
plugin_platform_interface:
286286
dependency: transitive
287287
description:
@@ -352,7 +352,7 @@ packages:
352352
dependency: transitive
353353
description: flutter
354354
source: sdk
355-
version: "0.0.99"
355+
version: "0.0.0"
356356
source_span:
357357
dependency: transitive
358358
description:
@@ -365,10 +365,10 @@ packages:
365365
dependency: transitive
366366
description:
367367
name: stack_trace
368-
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
368+
sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
369369
url: "https://pub.dev"
370370
source: hosted
371-
version: "1.11.1"
371+
version: "1.12.0"
372372
stream_channel:
373373
dependency: transitive
374374
description:
@@ -381,10 +381,10 @@ packages:
381381
dependency: transitive
382382
description:
383383
name: string_scanner
384-
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
384+
sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
385385
url: "https://pub.dev"
386386
source: hosted
387-
version: "1.2.0"
387+
version: "1.3.0"
388388
sync_http:
389389
dependency: transitive
390390
description:
@@ -405,10 +405,10 @@ packages:
405405
dependency: transitive
406406
description:
407407
name: test_api
408-
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
408+
sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
409409
url: "https://pub.dev"
410410
source: hosted
411-
version: "0.7.0"
411+
version: "0.7.3"
412412
toml:
413413
dependency: transitive
414414
description:
@@ -437,10 +437,10 @@ packages:
437437
dependency: transitive
438438
description:
439439
name: vm_service
440-
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
440+
sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
441441
url: "https://pub.dev"
442442
source: hosted
443-
version: "14.2.1"
443+
version: "14.3.0"
444444
web:
445445
dependency: transitive
446446
description:
@@ -453,10 +453,10 @@ packages:
453453
dependency: transitive
454454
description:
455455
name: webdriver
456-
sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e"
456+
sha256: "3d773670966f02a646319410766d3b5e1037efb7f07cc68f844d5e06cd4d61c8"
457457
url: "https://pub.dev"
458458
source: hosted
459-
version: "3.0.3"
459+
version: "3.0.4"
460460
xdg_directories:
461461
dependency: transitive
462462
description:

‎src/serious_python_android/CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## 0.9.2
22

33
* Breaking change: multiple `--requirements` options of `package` command must be passed as `--requirements DEP_1 --requirements DEP_2 ...` (or `-r DEP_1 -r DEP_2 ...`) instead of `-r DEP_1,DEP_2,...` to support dependency specifications with commas, e.g. `pandas>=2.2,<3`.
4+
* Fix site-packages packaging for Pyodide platform.
45

56
## 0.9.1
67

‎src/serious_python_darwin/CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## 0.9.2
22

33
* Breaking change: multiple `--requirements` options of `package` command must be passed as `--requirements DEP_1 --requirements DEP_2 ...` (or `-r DEP_1 -r DEP_2 ...`) instead of `-r DEP_1,DEP_2,...` to support dependency specifications with commas, e.g. `pandas>=2.2,<3`.
4+
* Fix site-packages packaging for Pyodide platform.
45

56
## 0.9.1
67

‎src/serious_python_linux/CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## 0.9.2
22

33
* Breaking change: multiple `--requirements` options of `package` command must be passed as `--requirements DEP_1 --requirements DEP_2 ...` (or `-r DEP_1 -r DEP_2 ...`) instead of `-r DEP_1,DEP_2,...` to support dependency specifications with commas, e.g. `pandas>=2.2,<3`.
4+
* Fix site-packages packaging for Pyodide platform.
45

56
## 0.9.1
67

‎src/serious_python_platform_interface/CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## 0.9.2
22

33
* Breaking change: multiple `--requirements` options of `package` command must be passed as `--requirements DEP_1 --requirements DEP_2 ...` (or `-r DEP_1 -r DEP_2 ...`) instead of `-r DEP_1,DEP_2,...` to support dependency specifications with commas, e.g. `pandas>=2.2,<3`.
4+
* Fix site-packages packaging for Pyodide platform.
45

56
## 0.9.1
67

‎src/serious_python_windows/CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## 0.9.2
22

33
* Breaking change: multiple `--requirements` options of `package` command must be passed as `--requirements DEP_1 --requirements DEP_2 ...` (or `-r DEP_1 -r DEP_2 ...`) instead of `-r DEP_1,DEP_2,...` to support dependency specifications with commas, e.g. `pandas>=2.2,<3`.
4+
* Fix site-packages packaging for Pyodide platform.
45

56
## 0.9.1
67

0 commit comments

Comments
 (0)
Please sign in to comment.