numpy2 2.2.0__tar.gz → 2.4.1__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.1}/PKG-INFO +5 -3
  2. {numpy2-2.2.0 → numpy2-2.4.1}/README.md +17 -15
  3. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2/__init__.py +43 -15
  4. numpy2-2.4.1/numpy2/advanced.py +1472 -0
  5. {numpy2-2.2.0 → numpy2-2.4.1/numpy2.egg-info}/PKG-INFO +5 -3
  6. {numpy2-2.2.0 → numpy2-2.4.1}/pyproject.toml +58 -19
  7. {numpy2-2.2.0 → numpy2-2.4.1}/setup.py +55 -16
  8. numpy2-2.2.0/numpy2/advanced.py +0 -572
  9. {numpy2-2.2.0 → numpy2-2.4.1}/CONTRIBUTING.md +0 -0
  10. {numpy2-2.2.0 → numpy2-2.4.1}/LICENSE +0 -0
  11. {numpy2-2.2.0 → numpy2-2.4.1}/MANIFEST.in +0 -0
  12. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2/array.py +0 -0
  13. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2/compat.py +0 -0
  14. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2/converters.py +0 -0
  15. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2/core.py +0 -0
  16. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2/dtypes.py +0 -0
  17. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2/fft.py +0 -0
  18. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2/integrations.py +0 -0
  19. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2/linalg.py +0 -0
  20. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2/math_ops.py +0 -0
  21. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2/random.py +0 -0
  22. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2.egg-info/SOURCES.txt +0 -0
  23. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2.egg-info/dependency_links.txt +0 -0
  24. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2.egg-info/not-zip-safe +0 -0
  25. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2.egg-info/requires.txt +0 -0
  26. {numpy2-2.2.0 → numpy2-2.4.1}/numpy2.egg-info/top_level.txt +0 -0
  27. {numpy2-2.2.0 → numpy2-2.4.1}/setup.cfg +0 -0
  28. {numpy2-2.2.0 → numpy2-2.4.1}/tests/test_compat.py +0 -0
  29. {numpy2-2.2.0 → numpy2-2.4.1}/tests/test_core.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: numpy2
3
- Version: 2.2.0
4
- Summary: Pure-Python NumPy drop-in: full NumPy API + JSON serialization, array compression, pipeline transforms, schema validation, zero dependencies
3
+ Version: 2.4.1
4
+ Summary: numpy2: Pure-Python NumPy drop-in replacement with zero dependencies. Fixes numpy JSON serialization errors, broadcasting confusion with named dimensions, NaN/Inf handling, thread safety, JAX-style vmapped vectorization, array caching, compression, pipelines, validation, scan operations, lazy arrays, and seamless web framework integration for FastAPI, Flask, and Django. Drop-in import: numpy2 as np
5
5
  Home-page: https://github.com/maheshmakvana/numpy2
6
6
  Author: Mahesh Makvana
7
7
  Author-email: Mahesh Makvana <mahesh.makvana@example.com>
@@ -10,7 +10,7 @@ Project-URL: Homepage, https://github.com/maheshmakvana/numpy2
10
10
  Project-URL: Bug Tracker, https://github.com/maheshmakvana/numpy2/issues
11
11
  Project-URL: Documentation, https://github.com/maheshmakvana/numpy2/wiki
12
12
  Project-URL: Source Code, https://github.com/maheshmakvana/numpy2
13
- Keywords: numpy,numpy2,numpy drop-in,numpy replacement,pure python numpy,json serialization,numpy json,fastapi numpy,flask numpy,django numpy,web api numpy,array compression,array cache,array pipeline,array validation,sliding window,batch processing numpy,streaming array,pandas,data-science,type-conversion,rest-api,ndarray,linear algebra,fft,random,numerical computing,scientific computing,int64 json,numpy serializable,object of type int64 is not json serializable,numpy web framework,numpy fastapi
13
+ Keywords: numpy,numpy2,numpy drop-in,numpy replacement,numpy alternative,pure python numpy,json serialization numpy,numpy json serializable,numpy to json,ndarray json,numpy not json serializable,object of type int64 is not json serializable,typeerror object of type ndarray is not json serializable,numpy json encoder,numpy json decoder,numpy nan json,numpy inf json,numpy float nan,fastapi numpy,flask numpy,django numpy,web api numpy,numpy rest api,numpy web framework,numpy broadcasting,named dimensions,numpy named array,numpy vmap,numpy vectorize,numpy batch operations,numpy scan operation,numpy cumulative state,numpy lazy evaluation,numpy lazy array,numpy thread safety,numpy free threaded python,numpy thread safe array,array compression,numpy compress array,array cache,numpy cache,array pipeline,numpy pipeline,array validation,numpy validate array,sliding window numpy,batch processing numpy,streaming array,numpy chunked,numpy large array,numpy memory usage,numpy memory efficient,numpy compat layer,numpy deprecated functions,numpy removed api,numpy trapz alternative,numpy in1d alternative,numpy einsum enhanced,numpy explicit broadcast,pandas,data-science,data science,numerical computing,scientific computing,linear algebra,fft,random,ndarray,numpy profiling,numpy describe,type conversion numpy,numpy auto type convert
14
14
  Classifier: Development Status :: 5 - Production/Stable
15
15
  Classifier: Environment :: Web Environment
16
16
  Classifier: Intended Audience :: Developers
@@ -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.1"
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)