@guidanti/duet 1.8.0 → 1.9.0
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.
- package/README.md +4 -4
- package/artifact/{duet-1.8.0-py3-none-any.whl → duet-1.9.0-py3-none-any.whl} +0 -0
- package/artifact/duet-1.9.0.artifact.json +15 -0
- package/bin/duet +7 -7
- package/duet-npm.json +13 -13
- package/lib/setup.py +6 -6
- package/lib/setup.sh +4 -4
- package/package.json +1 -1
- package/artifact/duet-1.8.0.artifact.json +0 -15
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@ Setup also creates six starter instruction files under `~/.duet/instructions/`,
|
|
|
40
40
|
|
|
41
41
|
## What your runtimes are called
|
|
42
42
|
|
|
43
|
-
A managed runtime is named by the version it publishes: `~/.duet/installations/1.
|
|
43
|
+
A managed runtime is named by the version it publishes: `~/.duet/installations/1.9.0/`. That name is what `duet select`, `duet remove` and every report use, and `duet --version` prints the version alone. The build identity -- a digest of the exact bytes installed -- is kept where it is load-bearing instead of in the name: the runtime's own manifest, every run's pin, and the reports whose job is to say which build this is (`duet self-check`, `duet status --installations`, and `duet select` listing what is there, interactively on a terminal and read-only under `--json`).
|
|
44
44
|
|
|
45
45
|
Runtimes installed before this release are named `<version>+<build id>`, and they keep that name: they stay listed, stay selectable and stay runnable, nothing is renamed, and no run is repinned. Select one by its full name. A bare version that *is* the name of a runtime selects that runtime; a bare version that is not a name, and that two older runtimes share, is ambiguous and refuses with both names printed for you to choose from. `duet remove` takes an exact name only.
|
|
46
46
|
|
|
@@ -56,9 +56,9 @@ That removes this package and the `duet` npm linked onto your PATH. It removes n
|
|
|
56
56
|
|
|
57
57
|
## This build
|
|
58
58
|
|
|
59
|
-
- version `1.
|
|
60
|
-
- artifact `duet-1.
|
|
61
|
-
- `sha256=
|
|
59
|
+
- version `1.9.0`, build `00bad774e066ab13`
|
|
60
|
+
- artifact `duet-1.9.0-py3-none-any.whl`
|
|
61
|
+
- `sha256=126f6a3b8139990f2ac0008947c0417ff92b5e45558f9d0d7f35525816897f26`
|
|
62
62
|
|
|
63
63
|
## Permission to use duet
|
|
64
64
|
|
|
Binary file
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"build_id": "00bad774e066ab13",
|
|
3
|
+
"name": "duet",
|
|
4
|
+
"schema": 1,
|
|
5
|
+
"source": {
|
|
6
|
+
"clean": true,
|
|
7
|
+
"commit": "6bb9a3be09ef3fff1846c4a65ce495c893f96fec"
|
|
8
|
+
},
|
|
9
|
+
"verification": {
|
|
10
|
+
"contract": 2
|
|
11
|
+
},
|
|
12
|
+
"version": "1.9.0",
|
|
13
|
+
"wheel": "duet-1.9.0-py3-none-any.whl",
|
|
14
|
+
"wheel_sha256": "126f6a3b8139990f2ac0008947c0417ff92b5e45558f9d0d7f35525816897f26"
|
|
15
|
+
}
|
package/bin/duet
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
|
-
# Generated by duet.npm for @guidanti/duet 1.
|
|
2
|
+
# Generated by duet.npm for @guidanti/duet 1.9.0.
|
|
3
3
|
#
|
|
4
4
|
# This is the whole of what npm puts on your PATH. It invokes no
|
|
5
5
|
# Node, no npm and no source checkout: it finds the managed
|
|
@@ -34,8 +34,8 @@ duet: there is no executable duet dispatcher at $dispatcher.
|
|
|
34
34
|
file is written. This message cannot tell you which of those
|
|
35
35
|
happened, and it says nothing about what is installed under
|
|
36
36
|
$root or which release is selected there.
|
|
37
|
-
Install or retry: npm install --global @guidanti/duet@1.
|
|
38
|
-
See why it failed: npm install --global @guidanti/duet@1.
|
|
37
|
+
Install or retry: npm install --global @guidanti/duet@1.9.0 --allow-scripts=@guidanti/duet
|
|
38
|
+
See why it failed: npm install --global @guidanti/duet@1.9.0 --allow-scripts=@guidanti/duet --foreground-scripts
|
|
39
39
|
If scripts are off: npm config get ignore-scripts
|
|
40
40
|
Run setup by hand: /bin/sh "$here/lib/setup.sh"
|
|
41
41
|
A successful setup installs this package's release and makes it
|
|
@@ -55,14 +55,14 @@ set_up_here() {
|
|
|
55
55
|
[ -f "$1" ] || return 1
|
|
56
56
|
while IFS= read -r line; do
|
|
57
57
|
case "$line" in
|
|
58
|
-
*'"wheel_sha256": "
|
|
58
|
+
*'"wheel_sha256": "126f6a3b8139990f2ac0008947c0417ff92b5e45558f9d0d7f35525816897f26"'*) return 0 ;;
|
|
59
59
|
esac
|
|
60
60
|
done < "$1"
|
|
61
61
|
return 1
|
|
62
62
|
}
|
|
63
63
|
if ! set_up_here "$root/npm.json"; then
|
|
64
64
|
cat >&2 <<INCOMPLETE
|
|
65
|
-
duet: @guidanti/duet 1.
|
|
65
|
+
duet: @guidanti/duet 1.9.0 is installed and no setup record under
|
|
66
66
|
$root names the artifact it carries.
|
|
67
67
|
That record names the one artifact its own setup installed, so
|
|
68
68
|
this reads the same whether none has been written here, a setup
|
|
@@ -75,8 +75,8 @@ duet: @guidanti/duet 1.8.0 is installed and no setup record under
|
|
|
75
75
|
dispatcher decides that from the pin of the run you named and the
|
|
76
76
|
selected default, and every run still reaches the build it was
|
|
77
77
|
started on.
|
|
78
|
-
Retry the setup: npm install --global @guidanti/duet@1.
|
|
79
|
-
See why it failed: npm install --global @guidanti/duet@1.
|
|
78
|
+
Retry the setup: npm install --global @guidanti/duet@1.9.0 --allow-scripts=@guidanti/duet
|
|
79
|
+
See why it failed: npm install --global @guidanti/duet@1.9.0 --allow-scripts=@guidanti/duet --foreground-scripts
|
|
80
80
|
If scripts are off: npm config get ignore-scripts
|
|
81
81
|
Run setup by hand: /bin/sh "$here/lib/setup.sh"
|
|
82
82
|
npm runs no install script for a package it decides is already up
|
package/duet-npm.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"artifact": {
|
|
3
|
-
"build_id": "
|
|
4
|
-
"sidecar": "duet-1.
|
|
3
|
+
"build_id": "00bad774e066ab13",
|
|
4
|
+
"sidecar": "duet-1.9.0.artifact.json",
|
|
5
5
|
"verification": {
|
|
6
6
|
"contract": 2
|
|
7
7
|
},
|
|
8
|
-
"wheel": "duet-1.
|
|
9
|
-
"wheel_sha256": "
|
|
8
|
+
"wheel": "duet-1.9.0-py3-none-any.whl",
|
|
9
|
+
"wheel_sha256": "126f6a3b8139990f2ac0008947c0417ff92b5e45558f9d0d7f35525816897f26"
|
|
10
10
|
},
|
|
11
11
|
"contents": {
|
|
12
12
|
"LICENSE.md": "cbc7853b308655c45a049a2c8c53c0a5e556cee29229d80209cbe82a896b1d0e",
|
|
13
13
|
"NOTICE.md": "8cf095fd1e5abc0c29634b010890189a9a8a340f96358db93635650dbdf5ed89",
|
|
14
|
-
"README.md": "
|
|
15
|
-
"artifact/duet-1.
|
|
16
|
-
"artifact/duet-1.
|
|
17
|
-
"bin/duet": "
|
|
18
|
-
"lib/setup.py": "
|
|
19
|
-
"lib/setup.sh": "
|
|
20
|
-
"package.json": "
|
|
14
|
+
"README.md": "dd80dc22bce122ca3f5af3d2afd9242f634d1db1f41a003ae38f22a21c8b768c",
|
|
15
|
+
"artifact/duet-1.9.0-py3-none-any.whl": "126f6a3b8139990f2ac0008947c0417ff92b5e45558f9d0d7f35525816897f26",
|
|
16
|
+
"artifact/duet-1.9.0.artifact.json": "084e7f915434f5ac70e9775fb077aa2bb7e18429a665bc90b00f7c647d53d8ee",
|
|
17
|
+
"bin/duet": "67c43a86457b9c38abd6f0a9e33b4bf2f2b78ffce0d59dcc5c17445dc0d318b3",
|
|
18
|
+
"lib/setup.py": "cb1e1efde7ec58dd14b2eb73097391858a063ffafdf5e362df3a901bc170795f",
|
|
19
|
+
"lib/setup.sh": "8b86b06c2c9e683a791b7e284ce1cdfc883e88c0defb39f7e471839d5397b396",
|
|
20
|
+
"package.json": "d8b7cd0fb9351cf1767ae4518ca77fc87679d40dcdc61305e3db7ea0ad148849"
|
|
21
21
|
},
|
|
22
22
|
"notices": [
|
|
23
23
|
"LICENSE.md",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"schema": 1,
|
|
28
28
|
"source": {
|
|
29
29
|
"clean": true,
|
|
30
|
-
"commit": "
|
|
30
|
+
"commit": "6bb9a3be09ef3fff1846c4a65ce495c893f96fec"
|
|
31
31
|
},
|
|
32
|
-
"version": "1.
|
|
32
|
+
"version": "1.9.0"
|
|
33
33
|
}
|
package/lib/setup.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""Generated by duet.npm for @guidanti/duet 1.
|
|
1
|
+
"""Generated by duet.npm for @guidanti/duet 1.9.0.
|
|
2
2
|
|
|
3
3
|
The install script's Python half: check the bundled artifact against
|
|
4
4
|
the digest this file was generated with, import the installer out of
|
|
@@ -10,12 +10,12 @@ import os
|
|
|
10
10
|
import sys
|
|
11
11
|
|
|
12
12
|
PACKAGE = '@guidanti/duet'
|
|
13
|
-
PACKAGE_VERSION = '1.
|
|
13
|
+
PACKAGE_VERSION = '1.9.0'
|
|
14
14
|
HERE = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
15
|
-
WHEEL = os.path.join(HERE, 'artifact', 'duet-1.
|
|
16
|
-
SIDECAR = os.path.join(HERE, 'artifact', 'duet-1.
|
|
17
|
-
WHEEL_SHA256 = '
|
|
18
|
-
REINSTALL = ('The files in this installed package are not the ones it was published with, and npm runs nothing for a package it decides is already up to date. Remove it and install it again:', ' npm uninstall --global @guidanti/duet', ' npm install --global @guidanti/duet@1.
|
|
15
|
+
WHEEL = os.path.join(HERE, 'artifact', 'duet-1.9.0-py3-none-any.whl')
|
|
16
|
+
SIDECAR = os.path.join(HERE, 'artifact', 'duet-1.9.0.artifact.json')
|
|
17
|
+
WHEEL_SHA256 = '126f6a3b8139990f2ac0008947c0417ff92b5e45558f9d0d7f35525816897f26'
|
|
18
|
+
REINSTALL = ('The files in this installed package are not the ones it was published with, and npm runs nothing for a package it decides is already up to date. Remove it and install it again:', ' npm uninstall --global @guidanti/duet', ' npm install --global @guidanti/duet@1.9.0 --allow-scripts=@guidanti/duet', "That install names this package's own version, so a release you installed deliberately is the release you get back.", 'That uninstall takes this package and the duet npm linked onto your PATH. It takes nothing under ~/.duet: every managed runtime, every run and every piece of evidence stays where it is.')
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
def refuse(message, *lines):
|
package/lib/setup.sh
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
|
-
# Generated by duet.npm for @guidanti/duet 1.
|
|
2
|
+
# Generated by duet.npm for @guidanti/duet 1.9.0.
|
|
3
3
|
#
|
|
4
4
|
# npm runs this once, after it has unpacked the package. It finds an
|
|
5
5
|
# interpreter that can run the installer and hands over to it; the
|
|
@@ -66,7 +66,7 @@ duet: DUET_SETUP_PYTHON names $DUET_SETUP_PYTHON, which duet will not run as an
|
|
|
66
66
|
Install Python from https://www.python.org/downloads/macos/
|
|
67
67
|
An explicit interpreter is an instruction, so duet does not look elsewhere when it is unusable.
|
|
68
68
|
Nothing was installed and nothing was selected. Unset it or name another, then run:
|
|
69
|
-
npm install --global @guidanti/duet@1.
|
|
69
|
+
npm install --global @guidanti/duet@1.9.0 --allow-scripts=@guidanti/duet
|
|
70
70
|
npm runs no install script for a package it decides is already up to date, so that install can do nothing at all. While this package is installed, its own setup script always runs setup, for the release it carries:
|
|
71
71
|
/bin/sh "$here/lib/setup.sh"
|
|
72
72
|
OVERRIDE
|
|
@@ -109,8 +109,8 @@ if [ -z "$found" ]; then
|
|
|
109
109
|
duet: no usable Python was found, and duet does not install one.
|
|
110
110
|
duet needs CPython >=3.9 on macOS (arm64), able to create a virtual environment.
|
|
111
111
|
Install Python from https://www.python.org/downloads/macos/
|
|
112
|
-
Then run: npm install --global @guidanti/duet@1.
|
|
113
|
-
Or name one yourself: DUET_SETUP_PYTHON=/path/to/python3 npm install --global @guidanti/duet@1.
|
|
112
|
+
Then run: npm install --global @guidanti/duet@1.9.0 --allow-scripts=@guidanti/duet
|
|
113
|
+
Or name one yourself: DUET_SETUP_PYTHON=/path/to/python3 npm install --global @guidanti/duet@1.9.0 --allow-scripts=@guidanti/duet
|
|
114
114
|
npm runs no install script for a package it decides is already up to date, so that install can do nothing at all. While this package is installed, its own setup script always runs setup, for the release it carries:
|
|
115
115
|
/bin/sh "$(npm root -g)/@guidanti/duet/lib/setup.sh"
|
|
116
116
|
Nothing was installed, nothing was selected, and no existing duet installation was changed.
|
package/package.json
CHANGED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"build_id": "646869928c864ea4",
|
|
3
|
-
"name": "duet",
|
|
4
|
-
"schema": 1,
|
|
5
|
-
"source": {
|
|
6
|
-
"clean": true,
|
|
7
|
-
"commit": "5d13ae499990e613e949e7501c13d3aad8808426"
|
|
8
|
-
},
|
|
9
|
-
"verification": {
|
|
10
|
-
"contract": 2
|
|
11
|
-
},
|
|
12
|
-
"version": "1.8.0",
|
|
13
|
-
"wheel": "duet-1.8.0-py3-none-any.whl",
|
|
14
|
-
"wheel_sha256": "41b3258715af0b49865c4b4151eac320019abf3dae66815e9626ab571c9bfe96"
|
|
15
|
-
}
|