sqlmath 2026.6.30__tar.gz → 2026.8.31__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.6.30 → sqlmath-2026.8.31}/.ci.sh +74 -73
  2. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/CHANGELOG.md +20 -0
  3. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/PKG-INFO +10 -10
  4. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/README.md +9 -9
  5. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/jslint.mjs +2061 -1802
  6. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/jslint_ci.sh +217 -156
  7. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/package.json +1 -1
  8. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/pyproject.toml +1 -1
  9. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/setup.py +2 -2
  10. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/sqlmath/__init__.py +3 -3
  11. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/sqlmath.mjs +27 -25
  12. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/sqlmath_base.c +273 -225
  13. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/sqlmath_base.h +210 -69
  14. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/sqlmath_external_sqlite.c +6111 -2966
  15. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/test.mjs +341 -37
  16. sqlmath-2026.8.31/test_data_sinefit.csv +1013 -0
  17. sqlmath-2026.6.30/test_data_sinefit.csv +0 -1013
  18. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/.gitconfig +0 -0
  19. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/.github/workflows/ci.yml +0 -0
  20. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/.github/workflows/publish.yml +0 -0
  21. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/.github/workflows/publish_pypi_test.yml +0 -0
  22. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/.gitignore +0 -0
  23. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/.npmignore +0 -0
  24. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/LICENSE +0 -0
  25. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/MANIFEST.in +0 -0
  26. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/asset_image_folder_open_solid.svg +0 -0
  27. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/asset_image_github_brands.svg +0 -0
  28. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/asset_image_logo_256.html +0 -0
  29. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/asset_image_logo_256.png +0 -0
  30. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/asset_image_logo_256.svg +0 -0
  31. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/asset_sqlmath_external_rollup.js +0 -0
  32. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/cpplint.py +0 -0
  33. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/csslint.js +0 -0
  34. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/indent.exe +0 -0
  35. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/index.html +0 -0
  36. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/libiconv2.dll +0 -0
  37. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/libintl3.dll +0 -0
  38. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/sqlmath_browser.mjs +0 -0
  39. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/sqlmath_wrapper_wasm.js +0 -0
  40. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/test.py +0 -0
  41. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/test_lgbm_binary.test +0 -0
  42. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/test_lgbm_binary.train +0 -0
  43. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/test_lgbm_numpy.py +0 -0
  44. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/test_lgbm_preb.txt +0 -0
  45. {sqlmath-2026.6.30 → sqlmath-2026.8.31}/zlib.v1.3.1.vcpkg.x64-windows-static.lib +0 -0
@@ -1,5 +1,7 @@
1
1
  #!/bin/sh
2
2
 
3
+ : "${npm_config_fast:=}"
4
+
3
5
  SQLMATH_CFLAG_WALL_LIST=" \
4
6
  -Wall \
5
7
  -Werror \
@@ -52,7 +54,7 @@ process.stdout.write(`lib_lightgbm_${libPlatformArchExt()}`);
52
54
  "sqlmath/$(node -p '`libomp_${process.platform}_${process.arch}.dylib`')"
53
55
  ;;
54
56
  esac
55
- pip install lightgbm=="$(printf "v4.6.0" | sed "s|v||")"
57
+ pip install lightgbm=="$(printf "v4.7.0" | sed "s|v||")"
56
58
  cp "$(
57
59
  find "$(
58
60
  pip show lightgbm | grep Location | sed "s|Location: ||"
@@ -65,7 +67,7 @@ process.stdout.write(`lib_lightgbm_${libPlatformArchExt()}`);
65
67
  cp -a .github_cache/* ./ || true # js-hack - */
66
68
  fi
67
69
  # cleanup
68
- rm -rf *.egg-info _sqlmath* build/ sqlmath/_sqlmath* && mkdir -p build/
70
+ rm -rf ./*.egg-info _sqlmath* build/ sqlmath/_sqlmath* && mkdir -p build/
69
71
  PID_LIST=""
70
72
  #
71
73
  # run nodejs-ci
@@ -102,7 +104,7 @@ process.stdout.write(`lib_lightgbm_${libPlatformArchExt()}`);
102
104
  # mkdir .artifact/
103
105
  mkdir -p .artifact/
104
106
  shImageLogoCreate
105
- shCiBuildWasm
107
+ shCiBuildWasm ""
106
108
  # .github_cache - save
107
109
  if [ "$GITHUB_ACTION" ] && [ ! -d .github_cache/_emsdk/ ]
108
110
  then
@@ -116,17 +118,17 @@ process.stdout.write(`lib_lightgbm_${libPlatformArchExt()}`);
116
118
  shPidListWait shCiBaseCustom "$PID_LIST"
117
119
  #
118
120
  # upload artifact
119
- if (shCiMatrixIsmainNodeversion) && \
120
- ( \
121
+ if shCiMatrixIsmainNodeversion && \
122
+ { \
121
123
  [ "$GITHUB_EVENT_NAME" = push ] || \
122
124
  [ "$GITHUB_EVENT_NAME" = schedule ] || \
123
- [ "$GITHUB_EVENT_NAME" = workflow_dispatch ] \
124
- ) && \
125
- ( \
125
+ [ "$GITHUB_EVENT_NAME" = workflow_dispatch ]; \
126
+ } && \
127
+ { \
126
128
  [ "$GITHUB_BRANCH0" = alpha ] || \
127
129
  [ "$GITHUB_BRANCH0" = beta ] || \
128
- [ "$GITHUB_BRANCH0" = master ] \
129
- )
130
+ [ "$GITHUB_BRANCH0" = master ]; \
131
+ }
130
132
  then
131
133
  export GITHUB_UPLOAD_RETRY=0
132
134
  while true
@@ -159,10 +161,10 @@ shCiBaseCustomArtifactUpload() {(set -e
159
161
  COMMIT_MESSAGE="- upload artifact
160
162
  - retry$GITHUB_UPLOAD_RETRY
161
163
  - $GITHUB_BRANCH0
162
- - $(printf "$GITHUB_SHA" | cut -c-8)
164
+ - $(printf "%s" "$GITHUB_SHA" | cut -c-8)
163
165
  - $(uname)
164
166
  "
165
- printf "\n\n$COMMIT_MESSAGE\n"
167
+ printf "\n\n%s\n" "$COMMIT_MESSAGE"
166
168
  # init .git/config
167
169
  git config --local user.email "github-actions@users.noreply.github.com"
168
170
  git config --local user.name "github-actions"
@@ -181,24 +183,24 @@ shCiBaseCustomArtifactUpload() {(set -e
181
183
  rm -f libomp.*
182
184
  case "$(uname)" in
183
185
  Darwin*)
184
- rm -f *darwin.so
186
+ rm -f ./*darwin.so
185
187
  case $(uname -m) in
186
188
  arm64)
187
- rm -f *darwin*arm64*
188
- rm -f *macos*arm64*
189
+ rm -f ./*darwin*arm64*
190
+ rm -f ./*macos*arm64*
189
191
  ;;
190
192
  x86_64)
191
- rm -f *darwin*x64*
192
- rm -f *macos*x86_64*
193
+ rm -f ./*darwin*x64*
194
+ rm -f ./*macos*x86_64*
193
195
  ;;
194
196
  esac
195
197
  # save libomp
196
198
  cp ../../../sqlmath/libomp* ./
197
199
  ;;
198
200
  Linux*)
199
- rm -f *linux*
201
+ rm -f ./*linux*
200
202
  # save sdist
201
- rm -f *.tar.gz
203
+ rm -f ./*.tar.gz
202
204
  cp ../../../dist/sqlmath-*.tar.gz ./
203
205
  # save wasm
204
206
  rm -f sqlmath_wasm*
@@ -206,16 +208,16 @@ shCiBaseCustomArtifactUpload() {(set -e
206
208
  cp ../../../sqlmath_wasm* ./
207
209
  ;;
208
210
  MINGW*)
209
- rm -f *win32_x64*
210
- rm -f *win_amd64*
211
+ rm -f ./*win32_x64*
212
+ rm -f ./*win_amd64*
211
213
  ;;
212
214
  esac
213
215
  cp ../../../_sqlmath.napi* ./
214
216
  cp ../../../_sqlmath.shell* ./
215
217
  cp ../../../dist/sqlmath-*.whl ./
216
218
  cp ../../../sqlmath/lib_lightgbm* ./
217
- rm -f *win32_x64*.exp
218
- rm -f *win32_x64*.lib
219
+ rm -f ./*win32_x64*.exp
220
+ rm -f ./*win32_x64*.lib
219
221
  )
220
222
  # git commit
221
223
  git add .
@@ -225,10 +227,12 @@ shCiBaseCustomArtifactUpload() {(set -e
225
227
  # git push
226
228
  shGitCmdWithGithubToken push origin artifact
227
229
  # git squash
228
- if (shCiMatrixIsmainName) && (
229
- [ "$GITHUB_BRANCH0" = alpha ] \
230
- || [ "$GITHUB_BRANCH0" = beta ] \
231
- || [ "$GITHUB_BRANCH0" = master ])
230
+ if shCiMatrixIsmainName && \
231
+ { \
232
+ [ "$GITHUB_BRANCH0" = alpha ] || \
233
+ [ "$GITHUB_BRANCH0" = beta ] || \
234
+ [ "$GITHUB_BRANCH0" = master ]; \
235
+ }
232
236
  then
233
237
  shGitCommitPushOrSquash "" 50
234
238
  fi
@@ -274,12 +278,13 @@ shCiBuildWasm() {(set -e
274
278
  *)
275
279
  OPTION2="$OPTION2 $SQLMATH_CFLAG_WNO_LIST"
276
280
  # optimization - skip rebuild of rollup if possible
277
- if [ "$FILE2" -nt "$FILE" ]
281
+ if [ -n "$(find "$FILE2" -prune -newer "$FILE" 2>/dev/null)" ]
278
282
  then
279
- printf "shCiBuildWasm - skip $FILE\n" 1>&2
283
+ printf "shCiBuildWasm - skip %s\n" "$FILE" 1>&2
280
284
  continue
281
285
  fi
282
286
  esac
287
+ # shellcheck disable=SC2086
283
288
  emcc $OPTION1 $OPTION2
284
289
  done
285
290
  OPTION2=""
@@ -305,6 +310,7 @@ shCiBuildWasm() {(set -e
305
310
  OPTION2="$OPTION2 --closure 1"
306
311
  ;;
307
312
  esac
313
+ # shellcheck disable=SC2086
308
314
  emcc $OPTION1 $OPTION2 \
309
315
  --memory-init-file 0 \
310
316
  --pre-js sqlmath_wrapper_wasm.js \
@@ -322,18 +328,20 @@ shCiBuildWasm() {(set -e
322
328
  build/sqlmath_external_sqlite.c.wasm.o \
323
329
  #
324
330
  printf '' > sqlmath_wasm.js
331
+ {
325
332
  printf "/*jslint-disable*/
326
333
  // Copyright (c) 2021 Kai Zhu
327
334
  // SPDX-License-Identifier: MIT
328
- // $(date -u +"%Y-%m-%dT%H:%M:%S%z")
335
+ // %s
329
336
  (function () {
330
337
  \"use strict\";
331
- " >> sqlmath_wasm.js
332
- 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
333
340
  printf '
334
341
  }());
335
342
  /*jslint-enable*/
336
- ' >> sqlmath_wasm.js
343
+ '
344
+ } >> sqlmath_wasm.js
337
345
  cp build/sqlmath_wasm.wasm ./
338
346
  ls -l sqlmath_wasm.*
339
347
  )}
@@ -350,6 +358,7 @@ shCiEmsdkExport() {
350
358
  fi
351
359
  }
352
360
 
361
+ # shellcheck disable=SC2086
353
362
  shCiEmsdkInstall() {(set -e
354
363
  # This function will install emsdk.
355
364
  shCiEmsdkExport
@@ -400,25 +409,6 @@ shCiEmsdkInstall() {(set -e
400
409
  # "$EMSDK/.null.c" -o "$EMSDK/.null_wasm.js"
401
410
  )}
402
411
 
403
- shIndentC() {(set -e
404
- # This function will indent/prettify c file.
405
- if (uname | grep -q "MING\|MSYS")
406
- then
407
- ./indent.exe \
408
- --blank-lines-after-commas \
409
- --braces-on-func-def-line \
410
- --break-function-decl-args \
411
- --break-function-decl-args-end \
412
- --dont-line-up-parentheses \
413
- --k-and-r-style \
414
- --line-length78 \
415
- --no-tabs \
416
- -bfde \
417
- $@
418
- dos2unix $@
419
- fi
420
- )}
421
-
422
412
  shCiLintCustom() {(set -e
423
413
  # This function will run custom-code to lint files.
424
414
  if [ "$GITHUB_ACTION" ]
@@ -485,7 +475,7 @@ shCiTestNodejs() {(set -e
485
475
  npm_config_mode_setup=1 node --input-type=module -e '
486
476
  import {ciBuildExt} from "./sqlmath.mjs";
487
477
  ciBuildExt({process});
488
- ' "$@" # '
478
+ ' # '
489
479
  ) &
490
480
  PID_LIST="$PID_LIST $!"
491
481
  # build python c-extension
@@ -499,7 +489,7 @@ ciBuildExt({process});
499
489
  PID_LIST=""
500
490
  # test nodejs
501
491
  (
502
- rm -f *~ .test*.sqlite __data/.test*.sqlite
492
+ rm -f ./*~ .test*.sqlite __data/.test*.sqlite
503
493
  COVERAGE_EXCLUDE="$COVERAGE_EXCLUDE --exclude=jslint.mjs"
504
494
  if (node --eval '
505
495
  require("assert")(require("./package.json").name !== "sqlmath");
@@ -508,6 +498,7 @@ require("assert")(require("./package.json").name !== "sqlmath");
508
498
  COVERAGE_EXCLUDE="$COVERAGE_EXCLUDE --exclude=sqlmath.mjs"
509
499
  fi
510
500
  NODE_TEST_OPTION="$NODE_TEST_OPTION --trace-uncaught --trace-warnings"
501
+ # shellcheck disable=SC2086
511
502
  shRunWithCoverage $COVERAGE_EXCLUDE node $NODE_TEST_OPTION test.mjs
512
503
  ) &
513
504
  PID_LIST="$PID_LIST $!"
@@ -520,30 +511,40 @@ require("assert")(require("./package.json").name !== "sqlmath");
520
511
  shPidListWait test "$PID_LIST"
521
512
  )}
522
513
 
514
+ shIndentC() {(set -e
515
+ # This function will indent/prettify c file.
516
+ if (uname | grep -q "MING\|MSYS")
517
+ then
518
+ ./indent.exe \
519
+ --blank-lines-after-commas \
520
+ --braces-on-func-def-line \
521
+ --break-function-decl-args \
522
+ --break-function-decl-args-end \
523
+ --dont-line-up-parentheses \
524
+ --k-and-r-style \
525
+ --line-length78 \
526
+ --no-tabs \
527
+ -bfde \
528
+ "$@"
529
+ dos2unix "$@"
530
+ fi
531
+ )}
532
+
523
533
  shSqlmathUpdate() {(set -e
524
534
  # This function will update files with ~/Documents/sqlmath/.
525
- . "$HOME/myci2.sh" : && shMyciUpdate
535
+ . "$HOME/myci2.sh" && shMyciUpdate
526
536
  if [ "$PWD/" = "$HOME/Documents/sqlmath/" ]
527
537
  then
528
- DIR_SQLITE=sqlite-autoconf-3500400
529
- URL_SQLITE=https://www.sqlite.org/2025/sqlite-autoconf-3500400.tar.gz
538
+ DIR=sqlite-autoconf-3510300
539
+ URL=https://www.sqlite.org/2026/sqlite-autoconf-3510300.tar.gz
530
540
  # shRollupFetch
531
- for DIR in \
532
- "$DIR_SQLITE"
533
- do
534
- if [ ! -d ".$DIR" ]
535
- then
536
- case "$DIR" in
537
- "$DIR_SQLITE")
538
- URL="$URL_SQLITE"
539
- ;;
540
- esac
541
- echo "$DIR" "$URL"
542
- curl -L "$URL" | tar -xz
543
- rm -rf ".$DIR"
544
- mv "$DIR" ".$DIR"
545
- fi
546
- 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
547
548
  shRollupFetch asset_sqlmath_external_rollup.js
548
549
  shRollupFetch index.html
549
550
  shRollupFetch sqlmath_base.h
@@ -7,6 +7,26 @@
7
7
  - sqlite - Add similar error-handling from builtin-sql-function PERCENTILE() into custom-sql-function QUANTILE().
8
8
  - none
9
9
 
10
+ # v2026.8.31
11
+ - jslint-ci - Update ci-shell-function shGitLsTree() to include sha256 hash of files.
12
+ - sqlmath - Cleanup c-function winSinefitSnr().
13
+ - sqlmath - Update sql-function WIN_SINEFIT2() argument modeSnr with bitmask, allowing selective sine-fit of each column, to avoid wasting cpu on columns that don't need it.
14
+ - lgbm - Upgrade to lightgbm-v4.7.0.
15
+ - sqlite - Upgrade to sqlite-v3.51.3.
16
+ - sqlmath - Remove obsolete sql-functions MEDIAN2(), QUANTILE(), superseded by sqlite-builtins.
17
+ - sqlmath - Fix c-header conflict between dlfcn.h and Python.h.
18
+
19
+ # v2026.7.30
20
+ - jslint-ecma - Add ES2015-feature for..of.
21
+ - jslint - Change scope from scope_function to scope_block:
22
+ - const-declaration
23
+ - let-declaration
24
+ - function-declaration
25
+ - jslint - Expand built-in-globals for browser, ecma, and node - auto-generated from online-sources.
26
+ - jslint-ci - Add automated ci for shellcheck to lint shell-scripts.
27
+ - jslint-regression - Cleanup indent for multiline-method-chaining.
28
+ - jslint-regression - Fix long-running regression where 'let x = x;' doesn't warn about temporal-dead-zone.
29
+
10
30
  # v2026.6.30
11
31
  - jslint-ecma - Update README.md, documenting supported ES2015+ features.
12
32
  - jslint-ecma - Unify ES2015-destructure-logic into function prefix_destructure().
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sqlmath
3
- Version: 2026.6.30
3
+ Version: 2026.8.31
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.6.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) |
37
+ | Branch | [master<br>(v2026.8.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) |
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.6.30`
426
+ - sqlmath installs via `pip install sqlmath==2026.8.31`
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.6.30*
672
- py -m pip install --index-url https://test.pypi.org/simple/ sqlmath==2026.6.30
671
+ twine upload --repository testpypi dist/sqlmath-2026.8.31*
672
+ py -m pip install --index-url https://test.pypi.org/simple/ sqlmath==2026.8.31
673
673
  #
674
- twine upload dist/sqlmath-2026.6.30*
675
- pip install sqlmath==2026.6.30
674
+ twine upload dist/sqlmath-2026.8.31*
675
+ pip install sqlmath==2026.8.31
676
676
  ```
677
677
 
678
678
 
@@ -683,11 +683,11 @@ pip install sqlmath==2026.6.30
683
683
  (set -e
684
684
  #
685
685
  # lgbm
686
- sh jslint_ci.sh shRollupUpgrade "v4.5.0" "v4.6.0" ".ci.sh sqlmath_base.h"
686
+ sh jslint_ci.sh shRollupUpgrade "v4.6.0" "v4.7.0" ".ci.sh sqlmath_base.h"
687
687
  #
688
688
  # sqlite
689
- sh jslint_ci.sh shRollupUpgrade "3.50.3" "3.50.4" ".ci.sh sqlmath_external_sqlite.c"
690
- sh jslint_ci.sh shRollupUpgrade "3500300" "3500400" ".ci.sh sqlmath_external_sqlite.c"
689
+ sh jslint_ci.sh shRollupUpgrade "3.50.4" "3.51.3" ".ci.sh sqlmath_external_sqlite.c"
690
+ sh jslint_ci.sh shRollupUpgrade "3500400" "3510300" ".ci.sh sqlmath_external_sqlite.c"
691
691
  #
692
692
  # shSqlmathUpdate
693
693
  read -p "Press Enter to shSqlmathUpdate:"
@@ -9,7 +9,7 @@
9
9
 
10
10
  # Status
11
11
 
12
- | Branch | [master<br>(v2026.6.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) |
12
+ | Branch | [master<br>(v2026.8.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) |
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.6.30`
401
+ - sqlmath installs via `pip install sqlmath==2026.8.31`
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.6.30*
647
- py -m pip install --index-url https://test.pypi.org/simple/ sqlmath==2026.6.30
646
+ twine upload --repository testpypi dist/sqlmath-2026.8.31*
647
+ py -m pip install --index-url https://test.pypi.org/simple/ sqlmath==2026.8.31
648
648
  #
649
- twine upload dist/sqlmath-2026.6.30*
650
- pip install sqlmath==2026.6.30
649
+ twine upload dist/sqlmath-2026.8.31*
650
+ pip install sqlmath==2026.8.31
651
651
  ```
652
652
 
653
653
 
@@ -658,11 +658,11 @@ pip install sqlmath==2026.6.30
658
658
  (set -e
659
659
  #
660
660
  # lgbm
661
- sh jslint_ci.sh shRollupUpgrade "v4.5.0" "v4.6.0" ".ci.sh sqlmath_base.h"
661
+ sh jslint_ci.sh shRollupUpgrade "v4.6.0" "v4.7.0" ".ci.sh sqlmath_base.h"
662
662
  #
663
663
  # sqlite
664
- sh jslint_ci.sh shRollupUpgrade "3.50.3" "3.50.4" ".ci.sh sqlmath_external_sqlite.c"
665
- sh jslint_ci.sh shRollupUpgrade "3500300" "3500400" ".ci.sh sqlmath_external_sqlite.c"
664
+ sh jslint_ci.sh shRollupUpgrade "3.50.4" "3.51.3" ".ci.sh sqlmath_external_sqlite.c"
665
+ sh jslint_ci.sh shRollupUpgrade "3500400" "3510300" ".ci.sh sqlmath_external_sqlite.c"
666
666
  #
667
667
  # shSqlmathUpdate
668
668
  read -p "Press Enter to shSqlmathUpdate:"