fastws-cli 0.0.24__tar.gz → 0.0.25__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fastws_cli-0.0.24/fastws_cli.egg-info → fastws_cli-0.0.25}/PKG-INFO +3 -3
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/README.md +2 -2
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/fastws/__init__.py +2 -1
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/fastws/build_backend.py +6 -4
- {fastws_cli-0.0.24 → fastws_cli-0.0.25/fastws_cli.egg-info}/PKG-INFO +3 -3
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/LICENSE +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/fastws/cargo.py +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/fastws/core.py +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/fastws/releases.py +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/fastws_cli.egg-info/SOURCES.txt +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/fastws_cli.egg-info/dependency_links.txt +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/fastws_cli.egg-info/entry_points.txt +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/fastws_cli.egg-info/requires.txt +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/fastws_cli.egg-info/top_level.txt +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/pyproject.toml +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/setup.cfg +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/tests/test_build.py +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/tests/test_build_backend.py +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/tests/test_releases.py +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/tests/test_setup.py +0 -0
- {fastws_cli-0.0.24 → fastws_cli-0.0.25}/tests/test_sync.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fastws-cli
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.25
|
|
4
4
|
Summary: Fast workspace tools for multi-repo management
|
|
5
5
|
Author: Jeremy Howard
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -217,9 +217,9 @@ Set `native-binaries = true` under `[tool.fastws]` to build and install the bina
|
|
|
217
217
|
|
|
218
218
|
`cargo develop` also copies the `data/` subdirectory of `[tool.maturin].data` into the active venv, as a wheel install does. For example, `data/share/jupyter/kernels/<name>/kernel.json` is installed as `share/jupyter/kernels/<name>/kernel.json`, where Jupyter finds the kernel. `cargo develop` installs the binaries it builds, not the staged copies in `scripts/`.
|
|
219
219
|
|
|
220
|
-
|
|
220
|
+
Use `fastws.build_backend` as the build backend of a mixed project, and include `fastws-cli>=0.0.25` alongside maturin in `[build-system].requires`. Its editable builds install only Python metadata and the source path, and compile no Rust. `ws-sync` then runs `cargo develop` to build and install the extension, the binaries and the wheel data files. After standalone `uv sync`, run `cargo develop` yourself.
|
|
221
221
|
|
|
222
|
-
|
|
222
|
+
For distribution wheels containing the binaries, also set `[tool.maturin].data` to a generated wheel-data directory. With `native-binaries = true`, wheel builds through the backend replace its `scripts/` subdirectory with the current Python-free binaries, then delegate packaging to maturin. Explicit profile and target arguments from maturin's build settings also apply to the binaries. Without `native-binaries`, wheel builds go straight to maturin, and `[tool.maturin].data` is optional.
|
|
223
223
|
|
|
224
224
|
Direct maturin CLI builds bypass the Python build backend. Stage the binaries first with the shared command:
|
|
225
225
|
|
|
@@ -191,9 +191,9 @@ Set `native-binaries = true` under `[tool.fastws]` to build and install the bina
|
|
|
191
191
|
|
|
192
192
|
`cargo develop` also copies the `data/` subdirectory of `[tool.maturin].data` into the active venv, as a wheel install does. For example, `data/share/jupyter/kernels/<name>/kernel.json` is installed as `share/jupyter/kernels/<name>/kernel.json`, where Jupyter finds the kernel. `cargo develop` installs the binaries it builds, not the staged copies in `scripts/`.
|
|
193
193
|
|
|
194
|
-
|
|
194
|
+
Use `fastws.build_backend` as the build backend of a mixed project, and include `fastws-cli>=0.0.25` alongside maturin in `[build-system].requires`. Its editable builds install only Python metadata and the source path, and compile no Rust. `ws-sync` then runs `cargo develop` to build and install the extension, the binaries and the wheel data files. After standalone `uv sync`, run `cargo develop` yourself.
|
|
195
195
|
|
|
196
|
-
|
|
196
|
+
For distribution wheels containing the binaries, also set `[tool.maturin].data` to a generated wheel-data directory. With `native-binaries = true`, wheel builds through the backend replace its `scripts/` subdirectory with the current Python-free binaries, then delegate packaging to maturin. Explicit profile and target arguments from maturin's build settings also apply to the binaries. Without `native-binaries`, wheel builds go straight to maturin, and `[tool.maturin].data` is optional.
|
|
197
197
|
|
|
198
198
|
Direct maturin CLI builds bypass the Python build backend. Stage the binaries first with the shared command:
|
|
199
199
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
r"Maturin build backend
|
|
1
|
+
r"Maturin build backend whose editable installs compile no Rust, and whose wheels can include Cargo binaries."
|
|
2
2
|
import argparse, base64, csv, hashlib, io
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
from tempfile import TemporaryDirectory
|
|
@@ -8,13 +8,15 @@ from .cargo import settings, stage_binaries
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def _stage(config_settings):
|
|
11
|
+
root = Path.cwd()
|
|
12
|
+
tool = settings(root)
|
|
13
|
+
if not tool.get('fastws', {}).get('native-binaries'): return
|
|
11
14
|
parser = argparse.ArgumentParser(add_help=False)
|
|
12
15
|
parser.add_argument('--profile')
|
|
13
16
|
parser.add_argument('--release', action='store_true')
|
|
14
17
|
parser.add_argument('--target')
|
|
15
18
|
args, _ = parser.parse_known_args(maturin.get_maturin_pep517_args(config_settings))
|
|
16
|
-
|
|
17
|
-
profile = args.profile or ('release' if args.release else settings(root)['maturin'].get('profile', 'release'))
|
|
19
|
+
profile = args.profile or ('release' if args.release else tool['maturin'].get('profile', 'release'))
|
|
18
20
|
stage_binaries(root, profile, args.target)
|
|
19
21
|
|
|
20
22
|
|
|
@@ -46,7 +48,7 @@ def build_editable(wheel_directory, config_settings=None, metadata_directory=Non
|
|
|
46
48
|
|
|
47
49
|
|
|
48
50
|
def prepare_metadata_for_build_wheel(metadata_directory, config_settings=None):
|
|
49
|
-
|
|
51
|
+
if data := settings(Path.cwd())['maturin'].get('data'): (Path.cwd()/data).mkdir(parents=True, exist_ok=True)
|
|
50
52
|
return maturin.prepare_metadata_for_build_wheel(metadata_directory, config_settings)
|
|
51
53
|
|
|
52
54
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fastws-cli
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.25
|
|
4
4
|
Summary: Fast workspace tools for multi-repo management
|
|
5
5
|
Author: Jeremy Howard
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -217,9 +217,9 @@ Set `native-binaries = true` under `[tool.fastws]` to build and install the bina
|
|
|
217
217
|
|
|
218
218
|
`cargo develop` also copies the `data/` subdirectory of `[tool.maturin].data` into the active venv, as a wheel install does. For example, `data/share/jupyter/kernels/<name>/kernel.json` is installed as `share/jupyter/kernels/<name>/kernel.json`, where Jupyter finds the kernel. `cargo develop` installs the binaries it builds, not the staged copies in `scripts/`.
|
|
219
219
|
|
|
220
|
-
|
|
220
|
+
Use `fastws.build_backend` as the build backend of a mixed project, and include `fastws-cli>=0.0.25` alongside maturin in `[build-system].requires`. Its editable builds install only Python metadata and the source path, and compile no Rust. `ws-sync` then runs `cargo develop` to build and install the extension, the binaries and the wheel data files. After standalone `uv sync`, run `cargo develop` yourself.
|
|
221
221
|
|
|
222
|
-
|
|
222
|
+
For distribution wheels containing the binaries, also set `[tool.maturin].data` to a generated wheel-data directory. With `native-binaries = true`, wheel builds through the backend replace its `scripts/` subdirectory with the current Python-free binaries, then delegate packaging to maturin. Explicit profile and target arguments from maturin's build settings also apply to the binaries. Without `native-binaries`, wheel builds go straight to maturin, and `[tool.maturin].data` is optional.
|
|
223
223
|
|
|
224
224
|
Direct maturin CLI builds bypass the Python build backend. Stage the binaries first with the shared command:
|
|
225
225
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|