bare-script 5.1.8__tar.gz → 5.1.11__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 (23) hide show
  1. {bare_script-5.1.8/src/bare_script.egg-info → bare_script-5.1.11}/PKG-INFO +13 -31
  2. {bare_script-5.1.8 → bare_script-5.1.11}/README.md +12 -30
  3. {bare_script-5.1.8 → bare_script-5.1.11}/pyproject.toml +1 -1
  4. bare_script-5.1.11/src/bare_script/include_source.py +1931 -0
  5. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script/library.py +32 -10
  6. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script/value.py +14 -6
  7. {bare_script-5.1.8 → bare_script-5.1.11/src/bare_script.egg-info}/PKG-INFO +13 -31
  8. bare_script-5.1.8/src/bare_script/include_source.py +0 -4666
  9. {bare_script-5.1.8 → bare_script-5.1.11}/LICENSE +0 -0
  10. {bare_script-5.1.8 → bare_script-5.1.11}/setup.cfg +0 -0
  11. {bare_script-5.1.8 → bare_script-5.1.11}/setup.py +0 -0
  12. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script/__init__.py +0 -0
  13. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script/__main__.py +0 -0
  14. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script/bare.py +0 -0
  15. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script/include.py +0 -0
  16. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script/options.py +0 -0
  17. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script/runtime.py +0 -0
  18. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script/runtime_c.c +0 -0
  19. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script.egg-info/SOURCES.txt +0 -0
  20. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script.egg-info/dependency_links.txt +0 -0
  21. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script.egg-info/entry_points.txt +0 -0
  22. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script.egg-info/requires.txt +0 -0
  23. {bare_script-5.1.8 → bare_script-5.1.11}/src/bare_script.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bare-script
3
- Version: 5.1.8
3
+ Version: 5.1.11
4
4
  Summary: BareScript; a lightweight scripting and expression language
5
5
  Author-email: "Craig A. Hobbs" <craigahobbs@gmail.com>
6
6
  License-Expression: MIT
@@ -292,8 +292,8 @@ runtime for faster script execution. The compiled extension is used automaticall
292
292
  set the environment variable `BARESCRIPT_RUNTIME_PY=1` to force the pure-Python runtime.
293
293
 
294
294
  The extension supports CPython 3.10 and later on both the default (GIL) and free-threaded Python
295
- builds. See the Performance section below for benchmark results comparing the C runtime, the
296
- pure-Python runtime, and native Python.
295
+ builds. Benchmarks comparing the C runtime, the pure-Python runtime, and native Python are on the
296
+ [BareScript (C) Performance](https://craigahobbs.github.io/bare-script-c/perf/).
297
297
 
298
298
 
299
299
  ## Thread Safety
@@ -309,34 +309,16 @@ shared array or object from several threads has unspecified results but never cr
309
309
 
310
310
  ## Performance
311
311
 
312
- The `make perf` target benchmarks the BareScript runtime with a suite of compute-intensive tests —
313
- Mandelbrot set computation, Markdown parsing and rendering, QR code generation, Schema Markdown
314
- parsing and validation, and URL encoding and decoding — and compares each test with an equivalent
315
- native Python program (using the
316
- [schema-markdown](https://pypi.org/project/schema-markdown/) package).
317
-
318
- The following results are from `make perf PERF_MERGE=` (CPython 3.14, Apple M-series). "BareScript
319
- (PyC)" is the C runtime; "BareScript (Py)" is the pure-Python runtime. Times are the best per-run
320
- timing in milliseconds per 100 runs. Multiples are relative to the native Python time. Tests
321
- without a native Python equivalent are omitted.
322
-
323
- | Test | Language | Time (ms) | Multiple |
324
- | ---------------- | ---------------- | --------: | -------: |
325
- | mandelbrot | Python | 4630.9 | |
326
- | | BareScript (PyC) | 10900.0 | 2.4x |
327
- | | BareScript (Py) | 341300.0 | 73.7x |
328
- | schemaValidate | Python | 20.7 | |
329
- | | BareScript (PyC) | 105.6 | 5.1x |
330
- | | BareScript (Py) | 1433.2 | 69.2x |
331
- | urlEncode | Python | 1.1 | |
332
- | | BareScript (PyC) | 5.7 | 5.4x |
333
- | | BareScript (Py) | 39.6 | 37.5x |
334
- | schemaParse | Python | 17.2 | |
335
- | | BareScript (PyC) | 123.6 | 7.2x |
336
- | | BareScript (Py) | 904.8 | 52.7x |
337
- | urlDecode | Python | 1.2 | |
338
- | | BareScript (PyC) | 13.2 | 11.2x |
339
- | | BareScript (Py) | 68.8 | 58.3x |
312
+ The C, JavaScript, and Python implementations share two benchmark suites: `make perf` (the include
313
+ library, compared with native Python via
314
+ [schema-markdown](https://pypi.org/project/schema-markdown/)) and `make perfx` (applications ported
315
+ to six languages). Results live on the
316
+ [BareScript (C) Performance](https://craigahobbs.github.io/bare-script-c/perf/).
317
+
318
+ ```sh
319
+ make perf
320
+ make perf PERF_MERGE= # this implementation only
321
+ ```
340
322
 
341
323
 
342
324
  ## Using BareScript with an AI Assistant
@@ -266,8 +266,8 @@ runtime for faster script execution. The compiled extension is used automaticall
266
266
  set the environment variable `BARESCRIPT_RUNTIME_PY=1` to force the pure-Python runtime.
267
267
 
268
268
  The extension supports CPython 3.10 and later on both the default (GIL) and free-threaded Python
269
- builds. See the Performance section below for benchmark results comparing the C runtime, the
270
- pure-Python runtime, and native Python.
269
+ builds. Benchmarks comparing the C runtime, the pure-Python runtime, and native Python are on the
270
+ [BareScript (C) Performance](https://craigahobbs.github.io/bare-script-c/perf/).
271
271
 
272
272
 
273
273
  ## Thread Safety
@@ -283,34 +283,16 @@ shared array or object from several threads has unspecified results but never cr
283
283
 
284
284
  ## Performance
285
285
 
286
- The `make perf` target benchmarks the BareScript runtime with a suite of compute-intensive tests —
287
- Mandelbrot set computation, Markdown parsing and rendering, QR code generation, Schema Markdown
288
- parsing and validation, and URL encoding and decoding — and compares each test with an equivalent
289
- native Python program (using the
290
- [schema-markdown](https://pypi.org/project/schema-markdown/) package).
291
-
292
- The following results are from `make perf PERF_MERGE=` (CPython 3.14, Apple M-series). "BareScript
293
- (PyC)" is the C runtime; "BareScript (Py)" is the pure-Python runtime. Times are the best per-run
294
- timing in milliseconds per 100 runs. Multiples are relative to the native Python time. Tests
295
- without a native Python equivalent are omitted.
296
-
297
- | Test | Language | Time (ms) | Multiple |
298
- | ---------------- | ---------------- | --------: | -------: |
299
- | mandelbrot | Python | 4630.9 | |
300
- | | BareScript (PyC) | 10900.0 | 2.4x |
301
- | | BareScript (Py) | 341300.0 | 73.7x |
302
- | schemaValidate | Python | 20.7 | |
303
- | | BareScript (PyC) | 105.6 | 5.1x |
304
- | | BareScript (Py) | 1433.2 | 69.2x |
305
- | urlEncode | Python | 1.1 | |
306
- | | BareScript (PyC) | 5.7 | 5.4x |
307
- | | BareScript (Py) | 39.6 | 37.5x |
308
- | schemaParse | Python | 17.2 | |
309
- | | BareScript (PyC) | 123.6 | 7.2x |
310
- | | BareScript (Py) | 904.8 | 52.7x |
311
- | urlDecode | Python | 1.2 | |
312
- | | BareScript (PyC) | 13.2 | 11.2x |
313
- | | BareScript (Py) | 68.8 | 58.3x |
286
+ The C, JavaScript, and Python implementations share two benchmark suites: `make perf` (the include
287
+ library, compared with native Python via
288
+ [schema-markdown](https://pypi.org/project/schema-markdown/)) and `make perfx` (applications ported
289
+ to six languages). Results live on the
290
+ [BareScript (C) Performance](https://craigahobbs.github.io/bare-script-c/perf/).
291
+
292
+ ```sh
293
+ make perf
294
+ make perf PERF_MERGE= # this implementation only
295
+ ```
314
296
 
315
297
 
316
298
  ## Using BareScript with an AI Assistant
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "bare-script"
7
- version = "5.1.8"
7
+ version = "5.1.11"
8
8
  description = "BareScript; a lightweight scripting and expression language"
9
9
  readme = "README.md"
10
10
  license = "MIT"