sqlmath 2026.4.31__tar.gz → 2026.7.30__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.
Files changed (45) hide show
  1. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/.ci.sh +56 -58
  2. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/.gitconfig +3 -0
  3. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/.github/workflows/ci.yml +2 -3
  4. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/CHANGELOG.md +29 -0
  5. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/PKG-INFO +7 -7
  6. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/README.md +6 -6
  7. sqlmath-2026.7.30/cpplint.py +7885 -0
  8. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/jslint.mjs +3353 -2683
  9. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/jslint_ci.sh +354 -277
  10. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/package.json +1 -1
  11. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/pyproject.toml +1 -1
  12. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/setup.py +2 -2
  13. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/sqlmath/__init__.py +20 -20
  14. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/sqlmath.mjs +265 -179
  15. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/sqlmath_browser.mjs +10 -59
  16. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/sqlmath_wrapper_wasm.js +0 -26
  17. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/test.mjs +23 -13
  18. sqlmath-2026.4.31/cpplint.py +0 -6974
  19. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/.github/workflows/publish.yml +0 -0
  20. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/.github/workflows/publish_pypi_test.yml +0 -0
  21. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/.gitignore +0 -0
  22. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/.npmignore +0 -0
  23. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/LICENSE +0 -0
  24. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/MANIFEST.in +0 -0
  25. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/asset_image_folder_open_solid.svg +0 -0
  26. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/asset_image_github_brands.svg +0 -0
  27. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/asset_image_logo_256.html +0 -0
  28. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/asset_image_logo_256.png +0 -0
  29. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/asset_image_logo_256.svg +0 -0
  30. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/asset_sqlmath_external_rollup.js +0 -0
  31. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/csslint.js +0 -0
  32. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/indent.exe +0 -0
  33. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/index.html +0 -0
  34. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/libiconv2.dll +0 -0
  35. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/libintl3.dll +0 -0
  36. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/sqlmath_base.c +0 -0
  37. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/sqlmath_base.h +0 -0
  38. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/sqlmath_external_sqlite.c +0 -0
  39. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/test.py +0 -0
  40. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/test_data_sinefit.csv +0 -0
  41. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/test_lgbm_binary.test +0 -0
  42. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/test_lgbm_binary.train +0 -0
  43. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/test_lgbm_numpy.py +0 -0
  44. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/test_lgbm_preb.txt +0 -0
  45. {sqlmath-2026.4.31 → sqlmath-2026.7.30}/zlib.v1.3.1.vcpkg.x64-windows-static.lib +0 -0
@@ -1,8 +1,6 @@
1
1
  #!/bin/sh
2
2
 
3
- # sh one-liner
4
- # sh jslint_ci.sh shCiBuildWasm
5
- # sh jslint_ci.sh shSqlmathUpdate
3
+ : "${npm_config_fast:=}"
6
4
 
7
5
  SQLMATH_CFLAG_WALL_LIST=" \
8
6
  -Wall \
@@ -69,7 +67,7 @@ process.stdout.write(`lib_lightgbm_${libPlatformArchExt()}`);
69
67
  cp -a .github_cache/* ./ || true # js-hack - */
70
68
  fi
71
69
  # cleanup
72
- rm -rf *.egg-info _sqlmath* build/ sqlmath/_sqlmath* && mkdir -p build/
70
+ rm -rf ./*.egg-info _sqlmath* build/ sqlmath/_sqlmath* && mkdir -p build/
73
71
  PID_LIST=""
74
72
  #
75
73
  # run nodejs-ci
@@ -106,7 +104,7 @@ process.stdout.write(`lib_lightgbm_${libPlatformArchExt()}`);
106
104
  # mkdir .artifact/
107
105
  mkdir -p .artifact/
108
106
  shImageLogoCreate
109
- shCiBuildWasm
107
+ shCiBuildWasm ""
110
108
  # .github_cache - save
111
109
  if [ "$GITHUB_ACTION" ] && [ ! -d .github_cache/_emsdk/ ]
112
110
  then
@@ -120,17 +118,17 @@ process.stdout.write(`lib_lightgbm_${libPlatformArchExt()}`);
120
118
  shPidListWait shCiBaseCustom "$PID_LIST"
121
119
  #
122
120
  # upload artifact
123
- if (shCiMatrixIsmainNodeversion) && \
124
- ( \
121
+ if shCiMatrixIsmainNodeversion && \
122
+ { \
125
123
  [ "$GITHUB_EVENT_NAME" = push ] || \
126
124
  [ "$GITHUB_EVENT_NAME" = schedule ] || \
127
- [ "$GITHUB_EVENT_NAME" = workflow_dispatch ] \
128
- ) && \
129
- ( \
125
+ [ "$GITHUB_EVENT_NAME" = workflow_dispatch ]; \
126
+ } && \
127
+ { \
130
128
  [ "$GITHUB_BRANCH0" = alpha ] || \
131
129
  [ "$GITHUB_BRANCH0" = beta ] || \
132
- [ "$GITHUB_BRANCH0" = master ] \
133
- )
130
+ [ "$GITHUB_BRANCH0" = master ]; \
131
+ }
134
132
  then
135
133
  export GITHUB_UPLOAD_RETRY=0
136
134
  while true
@@ -163,10 +161,10 @@ shCiBaseCustomArtifactUpload() {(set -e
163
161
  COMMIT_MESSAGE="- upload artifact
164
162
  - retry$GITHUB_UPLOAD_RETRY
165
163
  - $GITHUB_BRANCH0
166
- - $(printf "$GITHUB_SHA" | cut -c-8)
164
+ - $(printf "%s" "$GITHUB_SHA" | cut -c-8)
167
165
  - $(uname)
168
166
  "
169
- printf "\n\n$COMMIT_MESSAGE\n"
167
+ printf "\n\n%s\n" "$COMMIT_MESSAGE"
170
168
  # init .git/config
171
169
  git config --local user.email "github-actions@users.noreply.github.com"
172
170
  git config --local user.name "github-actions"
@@ -185,24 +183,24 @@ shCiBaseCustomArtifactUpload() {(set -e
185
183
  rm -f libomp.*
186
184
  case "$(uname)" in
187
185
  Darwin*)
188
- rm -f *darwin.so
186
+ rm -f ./*darwin.so
189
187
  case $(uname -m) in
190
188
  arm64)
191
- rm -f *darwin*arm64*
192
- rm -f *macos*arm64*
189
+ rm -f ./*darwin*arm64*
190
+ rm -f ./*macos*arm64*
193
191
  ;;
194
192
  x86_64)
195
- rm -f *darwin*x64*
196
- rm -f *macos*x86_64*
193
+ rm -f ./*darwin*x64*
194
+ rm -f ./*macos*x86_64*
197
195
  ;;
198
196
  esac
199
197
  # save libomp
200
198
  cp ../../../sqlmath/libomp* ./
201
199
  ;;
202
200
  Linux*)
203
- rm -f *linux*
201
+ rm -f ./*linux*
204
202
  # save sdist
205
- rm -f *.tar.gz
203
+ rm -f ./*.tar.gz
206
204
  cp ../../../dist/sqlmath-*.tar.gz ./
207
205
  # save wasm
208
206
  rm -f sqlmath_wasm*
@@ -210,16 +208,16 @@ shCiBaseCustomArtifactUpload() {(set -e
210
208
  cp ../../../sqlmath_wasm* ./
211
209
  ;;
212
210
  MINGW*)
213
- rm -f *win32_x64*
214
- rm -f *win_amd64*
211
+ rm -f ./*win32_x64*
212
+ rm -f ./*win_amd64*
215
213
  ;;
216
214
  esac
217
215
  cp ../../../_sqlmath.napi* ./
218
216
  cp ../../../_sqlmath.shell* ./
219
217
  cp ../../../dist/sqlmath-*.whl ./
220
218
  cp ../../../sqlmath/lib_lightgbm* ./
221
- rm -f *win32_x64*.exp
222
- rm -f *win32_x64*.lib
219
+ rm -f ./*win32_x64*.exp
220
+ rm -f ./*win32_x64*.lib
223
221
  )
224
222
  # git commit
225
223
  git add .
@@ -229,10 +227,12 @@ shCiBaseCustomArtifactUpload() {(set -e
229
227
  # git push
230
228
  shGitCmdWithGithubToken push origin artifact
231
229
  # git squash
232
- if (shCiMatrixIsmainName) && (
233
- [ "$GITHUB_BRANCH0" = alpha ] \
234
- || [ "$GITHUB_BRANCH0" = beta ] \
235
- || [ "$GITHUB_BRANCH0" = master ])
230
+ if shCiMatrixIsmainName && \
231
+ { \
232
+ [ "$GITHUB_BRANCH0" = alpha ] || \
233
+ [ "$GITHUB_BRANCH0" = beta ] || \
234
+ [ "$GITHUB_BRANCH0" = master ]; \
235
+ }
236
236
  then
237
237
  shGitCommitPushOrSquash "" 50
238
238
  fi
@@ -278,12 +278,13 @@ shCiBuildWasm() {(set -e
278
278
  *)
279
279
  OPTION2="$OPTION2 $SQLMATH_CFLAG_WNO_LIST"
280
280
  # optimization - skip rebuild of rollup if possible
281
- if [ "$FILE2" -nt "$FILE" ]
281
+ if [ -n "$(find "$FILE2" -prune -newer "$FILE" 2>/dev/null)" ]
282
282
  then
283
- printf "shCiBuildWasm - skip $FILE\n" 1>&2
283
+ printf "shCiBuildWasm - skip %s\n" "$FILE" 1>&2
284
284
  continue
285
285
  fi
286
286
  esac
287
+ # shellcheck disable=SC2086
287
288
  emcc $OPTION1 $OPTION2
288
289
  done
289
290
  OPTION2=""
@@ -309,6 +310,7 @@ shCiBuildWasm() {(set -e
309
310
  OPTION2="$OPTION2 --closure 1"
310
311
  ;;
311
312
  esac
313
+ # shellcheck disable=SC2086
312
314
  emcc $OPTION1 $OPTION2 \
313
315
  --memory-init-file 0 \
314
316
  --pre-js sqlmath_wrapper_wasm.js \
@@ -326,18 +328,20 @@ shCiBuildWasm() {(set -e
326
328
  build/sqlmath_external_sqlite.c.wasm.o \
327
329
  #
328
330
  printf '' > sqlmath_wasm.js
331
+ {
329
332
  printf "/*jslint-disable*/
330
333
  // Copyright (c) 2021 Kai Zhu
331
334
  // SPDX-License-Identifier: MIT
332
- // $(date -u +"%Y-%m-%dT%H:%M:%S%z")
335
+ // %s
333
336
  (function () {
334
337
  \"use strict\";
335
- " >> sqlmath_wasm.js
336
- cat build/sqlmath_wasm.js | tr -d "\r" >> sqlmath_wasm.js
338
+ " "$(date -u +"%Y-%m-%dT%H:%M:%S%z")"
339
+ tr -d "\r" < build/sqlmath_wasm.js
337
340
  printf '
338
341
  }());
339
342
  /*jslint-enable*/
340
- ' >> sqlmath_wasm.js
343
+ '
344
+ } >> sqlmath_wasm.js
341
345
  cp build/sqlmath_wasm.wasm ./
342
346
  ls -l sqlmath_wasm.*
343
347
  )}
@@ -354,6 +358,7 @@ shCiEmsdkExport() {
354
358
  fi
355
359
  }
356
360
 
361
+ # shellcheck disable=SC2086
357
362
  shCiEmsdkInstall() {(set -e
358
363
  # This function will install emsdk.
359
364
  shCiEmsdkExport
@@ -418,8 +423,8 @@ shIndentC() {(set -e
418
423
  --line-length78 \
419
424
  --no-tabs \
420
425
  -bfde \
421
- $@
422
- dos2unix $@
426
+ "$@"
427
+ dos2unix "$@"
423
428
  fi
424
429
  )}
425
430
 
@@ -489,7 +494,7 @@ shCiTestNodejs() {(set -e
489
494
  npm_config_mode_setup=1 node --input-type=module -e '
490
495
  import {ciBuildExt} from "./sqlmath.mjs";
491
496
  ciBuildExt({process});
492
- ' "$@" # '
497
+ ' # '
493
498
  ) &
494
499
  PID_LIST="$PID_LIST $!"
495
500
  # build python c-extension
@@ -503,7 +508,7 @@ ciBuildExt({process});
503
508
  PID_LIST=""
504
509
  # test nodejs
505
510
  (
506
- rm -f *~ .test*.sqlite __data/.test*.sqlite
511
+ rm -f ./*~ .test*.sqlite __data/.test*.sqlite
507
512
  COVERAGE_EXCLUDE="$COVERAGE_EXCLUDE --exclude=jslint.mjs"
508
513
  if (node --eval '
509
514
  require("assert")(require("./package.json").name !== "sqlmath");
@@ -512,6 +517,7 @@ require("assert")(require("./package.json").name !== "sqlmath");
512
517
  COVERAGE_EXCLUDE="$COVERAGE_EXCLUDE --exclude=sqlmath.mjs"
513
518
  fi
514
519
  NODE_TEST_OPTION="$NODE_TEST_OPTION --trace-uncaught --trace-warnings"
520
+ # shellcheck disable=SC2086
515
521
  shRunWithCoverage $COVERAGE_EXCLUDE node $NODE_TEST_OPTION test.mjs
516
522
  ) &
517
523
  PID_LIST="$PID_LIST $!"
@@ -526,28 +532,19 @@ require("assert")(require("./package.json").name !== "sqlmath");
526
532
 
527
533
  shSqlmathUpdate() {(set -e
528
534
  # This function will update files with ~/Documents/sqlmath/.
529
- . "$HOME/myci2.sh" : && shMyciUpdate
535
+ . "$HOME/myci2.sh" && shMyciUpdate
530
536
  if [ "$PWD/" = "$HOME/Documents/sqlmath/" ]
531
537
  then
532
- DIR_SQLITE=sqlite-autoconf-3500400
533
- URL_SQLITE=https://www.sqlite.org/2025/sqlite-autoconf-3500400.tar.gz
538
+ DIR=sqlite-autoconf-3500400
539
+ URL=https://www.sqlite.org/2025/sqlite-autoconf-3500400.tar.gz
534
540
  # shRollupFetch
535
- for DIR in \
536
- "$DIR_SQLITE"
537
- do
538
- if [ ! -d ".$DIR" ]
539
- then
540
- case "$DIR" in
541
- "$DIR_SQLITE")
542
- URL="$URL_SQLITE"
543
- ;;
544
- esac
545
- echo "$DIR" "$URL"
546
- curl -L "$URL" | tar -xz
547
- rm -rf ".$DIR"
548
- mv "$DIR" ".$DIR"
549
- fi
550
- done
541
+ if [ ! -d ".$DIR" ]
542
+ then
543
+ printf "%s %s\n" ".$DIR" "$URL"
544
+ curl -L "$URL" | tar -xz
545
+ rm -rf ".$DIR"
546
+ mv "$DIR" ".$DIR"
547
+ fi
551
548
  shRollupFetch asset_sqlmath_external_rollup.js
552
549
  shRollupFetch index.html
553
550
  shRollupFetch sqlmath_base.h
@@ -566,6 +563,7 @@ shSqlmathUpdate() {(set -e
566
563
  for FILE in \
567
564
  .ci.sh \
568
565
  asset_sqlmath_external_rollup.js \
566
+ cpplint.py \
569
567
  index.html \
570
568
  setup.py \
571
569
  sqlmath.mjs \
@@ -2,6 +2,9 @@
2
2
  [branch "alpha"]
3
3
  merge = refs/heads/alpha
4
4
  remote = origin
5
+ [branch "alpha2"]
6
+ merge = refs/heads/alpha2
7
+ remote = origin
5
8
  [branch "base"]
6
9
  merge = refs/heads/base
7
10
  remote = origin
@@ -13,9 +13,8 @@ on:
13
13
  - beta
14
14
  - master
15
15
  workflow_dispatch:
16
- env:
17
- MY_GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }}
18
- zzzz1234: 1
16
+ permissions:
17
+ contents: write
19
18
  jobs:
20
19
 
21
20
 
@@ -1,10 +1,39 @@
1
1
  # Changelog
2
2
 
3
3
  # Todo
4
+ - sqlmath - Update function dbTableImportAsync() with excel/xlsx support.
5
+ - sqlmath - Add file asset_sheetjs_rollup.mjs.
4
6
  - sqlmath - Streamline and optimize sql-function WIN_SINEFIT2().
5
7
  - sqlite - Add similar error-handling from builtin-sql-function PERCENTILE() into custom-sql-function QUANTILE().
6
8
  - none
7
9
 
10
+ # v2026.7.30
11
+ - jslint-ecma - Add ES2015-feature for..of.
12
+ - jslint - Change scope from scope_function to scope_block:
13
+ - const-declaration
14
+ - let-declaration
15
+ - function-declaration
16
+ - jslint - Expand built-in-globals for browser, ecma, and node - auto-generated from online-sources.
17
+ - jslint-ci - Add automated ci for shellcheck to lint shell-scripts.
18
+ - jslint-regression - Cleanup indent for multiline-method-chaining.
19
+ - jslint-regression - Fix long-running regression where 'let x = x;' doesn't warn about temporal-dead-zone.
20
+
21
+ # v2026.6.30
22
+ - jslint-ecma - Update README.md, documenting supported ES2015+ features.
23
+ - jslint-ecma - Unify ES2015-destructure-logic into function prefix_destructure().
24
+ - jslint - Wrap all property-updates 'name.init = true/false' with calls to:
25
+ name_lookup() - 'aa=0'
26
+ name_push() - 'let aa=0'
27
+ - cpplint - Upgrade to cpplint@v2.0.2.
28
+ - jslint - Add ES2018-syntax for object-literal-spread-operator.
29
+ - jslint - Add ES2025-syntax 'import ... with {...}'.
30
+
31
+ # v2026.5.31
32
+ - sqlmath - Add function csvFromListofList().
33
+ - sqlmath - Rename function jsonRowListFromCsv() to csvToListofList().
34
+ - sqlmath-demo - Update chart tradebot_tech_intra_xxx normalized to spy_prc instead of stk_pct.
35
+ - sqlmath - Add function uvthreadpoolsizeGet().
36
+
8
37
  # v2026.4.31
9
38
  - sqlmath-npm - bugfix - Fix missing lib_lightgbm pre-built libraries in npm-package. - part3 - ./sqlmath/lib_lightgbm_xxx.
10
39
  - sqlmath-npm - bugfix - Fix missing lib_lightgbm pre-built libraries in npm-package. - part2 - git checkout origin/artifact branch-beta/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sqlmath
3
- Version: 2026.4.31
3
+ Version: 2026.7.30
4
4
  Summary: sqlite for data-science
5
5
  Author: Kai Zhu
6
6
  Requires-Python: >=3.10
@@ -34,7 +34,7 @@ Description-Content-Type: text/markdown
34
34
 
35
35
  # Status
36
36
 
37
- | Branch | [master<br>(v2026.4.31)](https://github.com/sqlmath/sqlmath/tree/master) | [beta<br>(Web Demo)](https://github.com/sqlmath/sqlmath/tree/beta) | [alpha<br>(Development)](https://github.com/sqlmath/sqlmath/tree/alpha) |
37
+ | Branch | [master<br>(v2026.7.30)](https://github.com/sqlmath/sqlmath/tree/master) | [beta<br>(Web Demo)](https://github.com/sqlmath/sqlmath/tree/beta) | [alpha<br>(Development)](https://github.com/sqlmath/sqlmath/tree/alpha) |
38
38
  |--:|:--:|:--:|:--:|
39
39
  | CI | [![ci](https://github.com/sqlmath/sqlmath/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/sqlmath/sqlmath/actions?query=branch%3Amaster) | [![ci](https://github.com/sqlmath/sqlmath/actions/workflows/ci.yml/badge.svg?branch=beta)](https://github.com/sqlmath/sqlmath/actions?query=branch%3Abeta) | [![ci](https://github.com/sqlmath/sqlmath/actions/workflows/ci.yml/badge.svg?branch=alpha)](https://github.com/sqlmath/sqlmath/actions?query=branch%3Aalpha) |
40
40
  | Coverage | [![coverage](https://sqlmath.github.io/sqlmath/branch-master/.artifact/coverage/coverage_badge.svg)](https://sqlmath.github.io/sqlmath/branch-master/.artifact/coverage/index.html) | [![coverage](https://sqlmath.github.io/sqlmath/branch-beta/.artifact/coverage/coverage_badge.svg)](https://sqlmath.github.io/sqlmath/branch-beta/.artifact/coverage/index.html) | [![coverage](https://sqlmath.github.io/sqlmath/branch-alpha/.artifact/coverage/coverage_badge.svg)](https://sqlmath.github.io/sqlmath/branch-alpha/.artifact/coverage/index.html) |
@@ -423,7 +423,7 @@ Full notebook with fraud detection, intraday trading signals, and model persiste
423
423
  **Kaggle Environment:**
424
424
  - Linux x64, Python 3.12, Node.js 24
425
425
  - Datasets: [Credit Card Fraud](https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud) (284K transactions), SPY intraday OHLCV
426
- - sqlmath installs via `pip install sqlmath==2026.4.31`
426
+ - sqlmath installs via `pip install sqlmath==2026.7.30`
427
427
 
428
428
 
429
429
  <br><br>
@@ -668,11 +668,11 @@ PORT=8080 sh jslint_ci.sh shHttpFileServer
668
668
  ```shell
669
669
  python -m build
670
670
  #
671
- twine upload --repository testpypi dist/sqlmath-2026.4.31*
672
- py -m pip install --index-url https://test.pypi.org/simple/ sqlmath==2026.4.31
671
+ twine upload --repository testpypi dist/sqlmath-2026.7.30*
672
+ py -m pip install --index-url https://test.pypi.org/simple/ sqlmath==2026.7.30
673
673
  #
674
- twine upload dist/sqlmath-2026.4.31*
675
- pip install sqlmath==2026.4.31
674
+ twine upload dist/sqlmath-2026.7.30*
675
+ pip install sqlmath==2026.7.30
676
676
  ```
677
677
 
678
678
 
@@ -9,7 +9,7 @@
9
9
 
10
10
  # Status
11
11
 
12
- | Branch | [master<br>(v2026.4.31)](https://github.com/sqlmath/sqlmath/tree/master) | [beta<br>(Web Demo)](https://github.com/sqlmath/sqlmath/tree/beta) | [alpha<br>(Development)](https://github.com/sqlmath/sqlmath/tree/alpha) |
12
+ | Branch | [master<br>(v2026.7.30)](https://github.com/sqlmath/sqlmath/tree/master) | [beta<br>(Web Demo)](https://github.com/sqlmath/sqlmath/tree/beta) | [alpha<br>(Development)](https://github.com/sqlmath/sqlmath/tree/alpha) |
13
13
  |--:|:--:|:--:|:--:|
14
14
  | CI | [![ci](https://github.com/sqlmath/sqlmath/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/sqlmath/sqlmath/actions?query=branch%3Amaster) | [![ci](https://github.com/sqlmath/sqlmath/actions/workflows/ci.yml/badge.svg?branch=beta)](https://github.com/sqlmath/sqlmath/actions?query=branch%3Abeta) | [![ci](https://github.com/sqlmath/sqlmath/actions/workflows/ci.yml/badge.svg?branch=alpha)](https://github.com/sqlmath/sqlmath/actions?query=branch%3Aalpha) |
15
15
  | Coverage | [![coverage](https://sqlmath.github.io/sqlmath/branch-master/.artifact/coverage/coverage_badge.svg)](https://sqlmath.github.io/sqlmath/branch-master/.artifact/coverage/index.html) | [![coverage](https://sqlmath.github.io/sqlmath/branch-beta/.artifact/coverage/coverage_badge.svg)](https://sqlmath.github.io/sqlmath/branch-beta/.artifact/coverage/index.html) | [![coverage](https://sqlmath.github.io/sqlmath/branch-alpha/.artifact/coverage/coverage_badge.svg)](https://sqlmath.github.io/sqlmath/branch-alpha/.artifact/coverage/index.html) |
@@ -398,7 +398,7 @@ Full notebook with fraud detection, intraday trading signals, and model persiste
398
398
  **Kaggle Environment:**
399
399
  - Linux x64, Python 3.12, Node.js 24
400
400
  - Datasets: [Credit Card Fraud](https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud) (284K transactions), SPY intraday OHLCV
401
- - sqlmath installs via `pip install sqlmath==2026.4.31`
401
+ - sqlmath installs via `pip install sqlmath==2026.7.30`
402
402
 
403
403
 
404
404
  <br><br>
@@ -643,11 +643,11 @@ PORT=8080 sh jslint_ci.sh shHttpFileServer
643
643
  ```shell
644
644
  python -m build
645
645
  #
646
- twine upload --repository testpypi dist/sqlmath-2026.4.31*
647
- py -m pip install --index-url https://test.pypi.org/simple/ sqlmath==2026.4.31
646
+ twine upload --repository testpypi dist/sqlmath-2026.7.30*
647
+ py -m pip install --index-url https://test.pypi.org/simple/ sqlmath==2026.7.30
648
648
  #
649
- twine upload dist/sqlmath-2026.4.31*
650
- pip install sqlmath==2026.4.31
649
+ twine upload dist/sqlmath-2026.7.30*
650
+ pip install sqlmath==2026.7.30
651
651
  ```
652
652
 
653
653