@emend-ai/utim 1.46.12 ā 1.46.14
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/bin/utim.js +26 -23
- package/package.json +1 -1
package/bin/utim.js
CHANGED
|
@@ -137,33 +137,36 @@ function installEngine(python) {
|
|
|
137
137
|
'\nš” Termux detected. Preparing Android-compatible dependencies...\n\n'
|
|
138
138
|
);
|
|
139
139
|
|
|
140
|
-
// Step 1:
|
|
141
|
-
|
|
140
|
+
// Step 1: Install python-cryptography via pkg to avoid heavy cryptography C/Rust compilation
|
|
141
|
+
process.stderr.write('ā Installing python-cryptography via Termux package manager...\n\n');
|
|
142
|
+
spawnSync('pkg', ['install', '-y', 'python-cryptography'], {
|
|
143
|
+
stdio: 'inherit',
|
|
144
|
+
shell: false,
|
|
145
|
+
});
|
|
142
146
|
|
|
143
|
-
// Step 2:
|
|
144
|
-
// This is the
|
|
145
|
-
//
|
|
146
|
-
process.stderr.write('ā
|
|
147
|
-
|
|
148
|
-
'
|
|
149
|
-
|
|
147
|
+
// Step 2: Install pydantic-core using the Eutalix community shell installer script.
|
|
148
|
+
// This is the only bulletproof way to download the pre-compiled Android aarch64 wheel
|
|
149
|
+
// for Python 3.13+ without triggering compiling from Rust source.
|
|
150
|
+
process.stderr.write('\nā Running precompiled pydantic-core Android wheel installer...\n\n');
|
|
151
|
+
spawnSync(
|
|
152
|
+
'sh',
|
|
153
|
+
['-c', 'curl -sL https://raw.githubusercontent.com/Eutalix/android-pydantic-core/main/install_pydantic_core.sh | bash'],
|
|
154
|
+
{ stdio: 'inherit', shell: false, timeout: 180000 }
|
|
150
155
|
);
|
|
151
156
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
);
|
|
164
|
-
}
|
|
157
|
+
// Step 3: Install pydantic v2 from the extra index (WITHOUT --upgrade, so it uses the local pre-built wheel)
|
|
158
|
+
process.stderr.write('\nā Installing pydantic v2 (pre-compiled wheel)...\n\n');
|
|
159
|
+
spawnSync(
|
|
160
|
+
python,
|
|
161
|
+
[
|
|
162
|
+
'-m', 'pip', 'install',
|
|
163
|
+
'pydantic',
|
|
164
|
+
'--extra-index-url', 'https://eutalix.github.io/android-pydantic-core/',
|
|
165
|
+
],
|
|
166
|
+
{ stdio: 'inherit', shell: false, timeout: 120000 }
|
|
167
|
+
);
|
|
165
168
|
|
|
166
|
-
// Step
|
|
169
|
+
// Step 4: Upgrade pip/setuptools/wheel
|
|
167
170
|
spawnSync(python, ['-m', 'pip', 'install', '--upgrade', '--quiet', 'pip', 'setuptools', 'wheel'], {
|
|
168
171
|
stdio: 'pipe', shell: false, timeout: 60000,
|
|
169
172
|
});
|