numpy2 2.2.0__tar.gz → 2.4.0__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 (29) hide show
  1. {numpy2-2.2.0/numpy2.egg-info → numpy2-2.4.0}/PKG-INFO +3 -1
  2. {numpy2-2.2.0 → numpy2-2.4.0}/README.md +17 -15
  3. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2/__init__.py +43 -15
  4. numpy2-2.4.0/numpy2/advanced.py +1472 -0
  5. {numpy2-2.2.0 → numpy2-2.4.0/numpy2.egg-info}/PKG-INFO +3 -1
  6. {numpy2-2.2.0 → numpy2-2.4.0}/pyproject.toml +6 -6
  7. {numpy2-2.2.0 → numpy2-2.4.0}/setup.py +2 -2
  8. numpy2-2.2.0/numpy2/advanced.py +0 -572
  9. {numpy2-2.2.0 → numpy2-2.4.0}/CONTRIBUTING.md +0 -0
  10. {numpy2-2.2.0 → numpy2-2.4.0}/LICENSE +0 -0
  11. {numpy2-2.2.0 → numpy2-2.4.0}/MANIFEST.in +0 -0
  12. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2/array.py +0 -0
  13. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2/compat.py +0 -0
  14. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2/converters.py +0 -0
  15. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2/core.py +0 -0
  16. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2/dtypes.py +0 -0
  17. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2/fft.py +0 -0
  18. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2/integrations.py +0 -0
  19. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2/linalg.py +0 -0
  20. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2/math_ops.py +0 -0
  21. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2/random.py +0 -0
  22. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2.egg-info/SOURCES.txt +0 -0
  23. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2.egg-info/dependency_links.txt +0 -0
  24. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2.egg-info/not-zip-safe +0 -0
  25. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2.egg-info/requires.txt +0 -0
  26. {numpy2-2.2.0 → numpy2-2.4.0}/numpy2.egg-info/top_level.txt +0 -0
  27. {numpy2-2.2.0 → numpy2-2.4.0}/setup.cfg +0 -0
  28. {numpy2-2.2.0 → numpy2-2.4.0}/tests/test_compat.py +0 -0
  29. {numpy2-2.2.0 → numpy2-2.4.0}/tests/test_core.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: numpy2
3
- Version: 2.2.0
3
+ Version: 2.4.0
4
4
  Summary: Pure-Python NumPy drop-in: full NumPy API + JSON serialization, array compression, pipeline transforms, schema validation, zero dependencies
5
5
  Home-page: https://github.com/maheshmakvana/numpy2
6
6
  Author: Mahesh Makvana
@@ -48,6 +48,8 @@ Dynamic: home-page
48
48
  Dynamic: license-file
49
49
  Dynamic: requires-python
50
50
 
51
+ ![numpy2 Banner](assets/images/banner.svg)
52
+
51
53
  # numpy2 - Advanced NumPy for Web Applications
52
54
 
53
55
  [![PyPI version](https://img.shields.io/pypi/v/numpy2.svg)](https://pypi.org/project/numpy2/)
@@ -1,3 +1,5 @@
1
+ ![numpy2 Banner](assets/images/banner.svg)
2
+
1
3
  # numpy2 - Advanced NumPy for Web Applications
2
4
 
3
5
  [![PyPI version](https://img.shields.io/pypi/v/numpy2.svg)](https://pypi.org/project/numpy2/)
@@ -54,21 +56,21 @@ That's it. One line. Problem solved.
54
56
 
55
57
  ---
56
58
 
57
- ## Compatibility (Supported Subset)
58
-
59
- `numpy2` aims to be a practical, pure-Python **subset** of NumPy. Some APIs are intentionally stubbed or only partially supported.
60
-
61
- Use `numpy2.compat.report()` to disclose what’s currently stubbed/high-risk:
62
-
63
- ```python
64
- import numpy2 as np2
65
-
66
- report = np2.compat.report()
67
- print(report["subset"]["mgrid"])
68
- print(report["summary"])
69
- ```
70
-
71
- ## 📊 How numpy2 Compares to Alternatives
59
+ ## Compatibility (Supported Subset)
60
+
61
+ `numpy2` aims to be a practical, pure-Python **subset** of NumPy. Some APIs are intentionally stubbed or only partially supported.
62
+
63
+ Use `numpy2.compat.report()` to disclose what’s currently stubbed/high-risk:
64
+
65
+ ```python
66
+ import numpy2 as np2
67
+
68
+ report = np2.compat.report()
69
+ print(report["subset"]["mgrid"])
70
+ print(report["summary"])
71
+ ```
72
+
73
+ ## 📊 How numpy2 Compares to Alternatives
72
74
 
73
75
  ### vs. Standard `json.dumps()` with Custom Encoders
74
76
 
@@ -15,10 +15,10 @@ NumPy is used as an optional accelerator when installed; if it is absent
15
15
  every operation runs in pure Python.
16
16
  """
17
17
 
18
- __version__ = "2.2.0"
19
- __author__ = "Mahesh Makvana"
20
- __email__ = "mahesh.makvana@example.com"
21
- __license__ = "MIT"
18
+ __version__ = "2.4.0"
19
+ __author__ = "Mahesh Makvana"
20
+ __email__ = "mahesh.makvana@example.com"
21
+ __license__ = "MIT"
22
22
 
23
23
  # ── 1. dtype system ───────────────────────────────────────────────────────────
24
24
  from .dtypes import (
@@ -160,10 +160,10 @@ abs = absolute
160
160
  round = around
161
161
 
162
162
  # ── 4. submodules ─────────────────────────────────────────────────────────────
163
- from . import linalg
164
- from . import fft
165
- from . import random
166
- from . import compat
163
+ from . import linalg
164
+ from . import fft
165
+ from . import random
166
+ from . import compat
167
167
 
168
168
  # make polynomial, ma, lib stubs (users can still use them via numpy if installed)
169
169
  try:
@@ -209,6 +209,20 @@ from .advanced import (
209
209
  to_structured,
210
210
  array_chunks,
211
211
  describe,
212
+ # ── New in 2.4.0 ──────────────────────────────────────────────────────────
213
+ NamedArray,
214
+ vmapped, vmap,
215
+ scan,
216
+ smart_axis, resolve_axis,
217
+ nan_safe_convert, NaNInfEncoder, nan_safe_json_dumps,
218
+ ThreadSafeArray,
219
+ CompatLayer,
220
+ auto_type_convert,
221
+ chunked_reduce,
222
+ broadcast_explicit, align_shapes,
223
+ einsum_enhanced,
224
+ array_memory_usage,
225
+ LazyArray,
212
226
  )
213
227
 
214
228
  # ── 6. numpy2 web extras ──────────────────────────────────────────────────────
@@ -394,7 +408,7 @@ def geterrcall():
394
408
 
395
409
 
396
410
  # ── 9. __all__ ────────────────────────────────────────────────────────────────
397
- __all__ = [
411
+ __all__ = [
398
412
  # dtype
399
413
  'dtype',
400
414
  'bool_', 'bool8', 'int8', 'int16', 'int32', 'int64',
@@ -467,12 +481,12 @@ __all__ = [
467
481
  'polyder', 'polyint', 'poly', 'poly1d',
468
482
  # err state
469
483
  'seterr', 'geterr', 'errstate', 'seterrcall', 'geterrcall',
470
- # submodules
471
- 'linalg', 'fft', 'random', 'compat', 'polynomial', 'ma', 'lib', 'testing', 'char',
472
- # web extras
473
- 'to_json', 'from_json', 'serialize', 'deserialize',
474
- 'JSONEncoder', 'JSONDecoder',
475
- 'numpy_to_python', 'pandas_to_json', 'python_to_numpy',
484
+ # submodules
485
+ 'linalg', 'fft', 'random', 'compat', 'polynomial', 'ma', 'lib', 'testing', 'char',
486
+ # web extras
487
+ 'to_json', 'from_json', 'serialize', 'deserialize',
488
+ 'JSONEncoder', 'JSONDecoder',
489
+ 'numpy_to_python', 'pandas_to_json', 'python_to_numpy',
476
490
  'infer_dtype', 'safe_cast', 'batch_convert',
477
491
  'FastAPIResponse', 'FlaskResponse', 'DjangoResponse',
478
492
  'setup_json_encoder', 'create_response_handler',
@@ -482,6 +496,20 @@ __all__ = [
482
496
  'compress_array', 'decompress_array', 'compress_to_b64', 'decompress_from_b64',
483
497
  'sliding_window_view', 'batch_apply', 'to_structured',
484
498
  'array_chunks', 'describe',
499
+ # New in 2.4.0
500
+ 'NamedArray',
501
+ 'vmapped', 'vmap',
502
+ 'scan',
503
+ 'smart_axis', 'resolve_axis',
504
+ 'nan_safe_convert', 'NaNInfEncoder', 'nan_safe_json_dumps',
505
+ 'ThreadSafeArray',
506
+ 'CompatLayer',
507
+ 'auto_type_convert',
508
+ 'chunked_reduce',
509
+ 'broadcast_explicit', 'align_shapes',
510
+ 'einsum_enhanced',
511
+ 'array_memory_usage',
512
+ 'LazyArray',
485
513
  ]
486
514
 
487
515
  # matrix alias (2-D array subclass stub)