pycapnp 2.2.3__tar.gz → 2.2.4__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 (105) hide show
  1. {pycapnp-2.2.3 → pycapnp-2.2.4}/CHANGELOG.md +8 -0
  2. {pycapnp-2.2.3/pycapnp.egg-info → pycapnp-2.2.4}/PKG-INFO +15 -5
  3. {pycapnp-2.2.3 → pycapnp-2.2.4}/README.md +1 -1
  4. {pycapnp-2.2.3 → pycapnp-2.2.4}/buildutils/bundle.py +1 -1
  5. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/helpers/capabilityHelper.cpp +3 -0
  6. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/lib/capnp.cpp +5381 -5188
  7. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/lib/capnp.pyx +4 -2
  8. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/lib/capnp_api.h +23 -23
  9. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/version.py +2 -2
  10. {pycapnp-2.2.3 → pycapnp-2.2.4/pycapnp.egg-info}/PKG-INFO +15 -5
  11. {pycapnp-2.2.3 → pycapnp-2.2.4}/pycapnp.egg-info/SOURCES.txt +1 -2
  12. pycapnp-2.2.4/pycapnp.egg-info/requires.txt +1 -0
  13. {pycapnp-2.2.3 → pycapnp-2.2.4}/pyproject.toml +43 -0
  14. {pycapnp-2.2.3 → pycapnp-2.2.4}/setup.py +6 -4
  15. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_serialization.py +20 -0
  16. pycapnp-2.2.3/Pipfile +0 -15
  17. pycapnp-2.2.3/requirements.txt +0 -10
  18. {pycapnp-2.2.3 → pycapnp-2.2.4}/LICENSE.md +0 -0
  19. {pycapnp-2.2.3 → pycapnp-2.2.4}/MANIFEST.in +0 -0
  20. {pycapnp-2.2.3 → pycapnp-2.2.4}/_custom_build/backend.py +0 -0
  21. {pycapnp-2.2.3 → pycapnp-2.2.4}/buildutils/__init__.py +0 -0
  22. {pycapnp-2.2.3 → pycapnp-2.2.4}/buildutils/build.py +0 -0
  23. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/__init__.pxd +0 -0
  24. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/__init__.py +0 -0
  25. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/_gen.py +0 -0
  26. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/helpers/__init__.pxd +0 -0
  27. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/helpers/capabilityHelper.h +0 -0
  28. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/helpers/checkCompiler.h +0 -0
  29. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/helpers/deserialize.h +0 -0
  30. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/helpers/fixMaybe.h +0 -0
  31. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/helpers/helpers.pxd +0 -0
  32. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/helpers/non_circular.pxd +0 -0
  33. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/helpers/rpcHelper.h +0 -0
  34. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/helpers/serialize.h +0 -0
  35. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/includes/PyCustomMessageBuilder.cpp +0 -0
  36. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/includes/PyCustomMessageBuilder.h +0 -0
  37. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/includes/__init__.pxd +0 -0
  38. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/includes/capnp_cpp.pxd +0 -0
  39. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/includes/schema_cpp.pxd +0 -0
  40. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/includes/types.pxd +0 -0
  41. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/lib/__init__.pxd +0 -0
  42. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/lib/__init__.py +0 -0
  43. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/lib/capnp.pxd +0 -0
  44. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/lib/pickle_helper.py +0 -0
  45. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/templates/module.pyx +0 -0
  46. {pycapnp-2.2.3 → pycapnp-2.2.4}/capnp/templates/setup.py.tmpl +0 -0
  47. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/addressbook.capnp +0 -0
  48. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/addressbook.py +0 -0
  49. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/async_calculator_client.py +0 -0
  50. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/async_calculator_server.py +0 -0
  51. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/async_client.py +0 -0
  52. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/async_reconnecting_ssl_client.py +0 -0
  53. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/async_server.py +0 -0
  54. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/async_socket_message_client.py +0 -0
  55. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/async_socket_message_server.py +0 -0
  56. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/async_ssl_calculator_client.py +0 -0
  57. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/async_ssl_calculator_server.py +0 -0
  58. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/async_ssl_client.py +0 -0
  59. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/async_ssl_server.py +0 -0
  60. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/calculator.capnp +0 -0
  61. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/py_custom_message_builder.py +0 -0
  62. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/selfsigned.cert +0 -0
  63. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/selfsigned.key +0 -0
  64. {pycapnp-2.2.3 → pycapnp-2.2.4}/examples/thread.capnp +0 -0
  65. {pycapnp-2.2.3 → pycapnp-2.2.4}/pycapnp.egg-info/dependency_links.txt +0 -0
  66. {pycapnp-2.2.3 → pycapnp-2.2.4}/pycapnp.egg-info/entry_points.txt +0 -0
  67. {pycapnp-2.2.3 → pycapnp-2.2.4}/pycapnp.egg-info/top_level.txt +0 -0
  68. {pycapnp-2.2.3 → pycapnp-2.2.4}/setup.cfg +0 -0
  69. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/addressbook with spaces.capnp +0 -0
  70. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/addressbook-with-dashes.capnp +0 -0
  71. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/addressbook.capnp +0 -0
  72. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/all-types.binary +0 -0
  73. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/all-types.packed +0 -0
  74. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/all-types.txt +0 -0
  75. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/all_types.capnp +0 -0
  76. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/annotations.capnp +0 -0
  77. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/bar.capnp +0 -0
  78. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/blob_test.capnp +0 -0
  79. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/foo.capnp +0 -0
  80. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/schemas/child.capnp +0 -0
  81. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/schemas/parent.capnp +0 -0
  82. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_async_write_large_payload.py +0 -0
  83. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_blob_to_dict_base64.py +0 -0
  84. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_capability.capnp +0 -0
  85. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_capability.py +0 -0
  86. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_capability_context.py +0 -0
  87. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_context_manager.py +0 -0
  88. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_examples.py +0 -0
  89. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_get_data_view.py +0 -0
  90. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_large_read.capnp +0 -0
  91. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_large_read.py +0 -0
  92. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_load.py +0 -0
  93. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_memory_handling.py +0 -0
  94. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_object.py +0 -0
  95. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_py_custom_message_builder.py +0 -0
  96. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_regression.py +0 -0
  97. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_response.capnp +0 -0
  98. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_response.py +0 -0
  99. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_rpc.py +0 -0
  100. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_rpc_calculator.py +0 -0
  101. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_schema.py +0 -0
  102. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_struct.py +0 -0
  103. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_structs_sequence.capnp +0 -0
  104. {pycapnp-2.2.3 → pycapnp-2.2.4}/test/test_structs_sequence.py +0 -0
  105. {pycapnp-2.2.3 → pycapnp-2.2.4}/tox.ini +0 -0
@@ -1,3 +1,11 @@
1
+ ## v2.2.4 (2026-07-03)
2
+ - Fix memory leak in `_DynamicCapabilityClient._send_helper()` (#398)
3
+ - Fix SIGSEGV (NULL pointer dereference) on malformed Text field
4
+ - Update default bundled capnproto to 1.4.0
5
+ - Migrate project dependency management, testing, and CI to `uv`
6
+ - Consolidate configurations into `pyproject.toml` (removed `Pipfile` and `requirements.txt`)
7
+ - Apply small ruff linting fixes
8
+
1
9
  ## v2.2.3 (2026-05-30)
2
10
  - Fix test failures on Python 3.14 (#394)
3
11
  - Refine documentation for PyCustomMessageBuilder (#395)
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pycapnp
3
- Version: 2.2.3
3
+ Version: 2.2.4
4
4
  Summary: A cython wrapping of the C++ Cap'n Proto library
5
5
  Home-page: https://github.com/capnproto/pycapnp
6
- Download-URL: https://github.com/haata/pycapnp/archive/v2.2.3.zip
6
+ Download-URL: https://github.com/capnproto/pycapnp/archive/v2.2.4.zip
7
7
  Author: Jacob Alexander
8
8
  Author-email: haata@kiibohd.com
9
9
  License: BSD-2-Clause
@@ -15,16 +15,18 @@ Classifier: Operating System :: Microsoft :: Windows :: Windows 10
15
15
  Classifier: Operating System :: POSIX
16
16
  Classifier: Programming Language :: C++
17
17
  Classifier: Programming Language :: Cython
18
- Classifier: Programming Language :: Python :: 3.8
19
18
  Classifier: Programming Language :: Python :: 3.9
20
19
  Classifier: Programming Language :: Python :: 3.10
21
20
  Classifier: Programming Language :: Python :: 3.11
22
21
  Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
23
24
  Classifier: Programming Language :: Python :: Implementation :: PyPy
24
25
  Classifier: Topic :: Communications
25
- Requires-Python: >=3.8
26
+ Requires-Python: >=3.9
26
27
  Description-Content-Type: text/markdown
27
28
  License-File: LICENSE.md
29
+ Requires-Dist: jinja2
28
30
  Dynamic: author
29
31
  Dynamic: author-email
30
32
  Dynamic: classifier
@@ -117,7 +119,7 @@ While not directly supported by pycapnp, a tool has been created to help generat
117
119
 
118
120
  ## Python Versions
119
121
 
120
- Python 3.8+ is supported.
122
+ Python 3.9+ is supported.
121
123
 
122
124
 
123
125
  ## Development
@@ -306,6 +308,14 @@ if __name__ == '__main__':
306
308
 
307
309
  Changelog
308
310
  =============
311
+ ## v2.2.4 (2026-07-03)
312
+ - Fix memory leak in `_DynamicCapabilityClient._send_helper()` (#398)
313
+ - Fix SIGSEGV (NULL pointer dereference) on malformed Text field
314
+ - Update default bundled capnproto to 1.4.0
315
+ - Migrate project dependency management, testing, and CI to `uv`
316
+ - Consolidate configurations into `pyproject.toml` (removed `Pipfile` and `requirements.txt`)
317
+ - Apply small ruff linting fixes
318
+
309
319
  ## v2.2.3 (2026-05-30)
310
320
  - Fix test failures on Python 3.14 (#394)
311
321
  - Refine documentation for PyCustomMessageBuilder (#395)
@@ -77,7 +77,7 @@ While not directly supported by pycapnp, a tool has been created to help generat
77
77
 
78
78
  ## Python Versions
79
79
 
80
- Python 3.8+ is supported.
80
+ Python 3.9+ is supported.
81
81
 
82
82
 
83
83
  ## Development
@@ -25,7 +25,7 @@ pjoin = os.path.join
25
25
  #
26
26
 
27
27
 
28
- bundled_version = (1, 0, 1)
28
+ bundled_version = (1, 4, 0)
29
29
  libcapnp_name = "capnproto-c++-%i.%i.%i.tar.gz" % (bundled_version)
30
30
  libcapnp_url = "https://capnproto.org/" + libcapnp_name
31
31
 
@@ -16,6 +16,9 @@ void c_reraise_kj_exception() {
16
16
  }
17
17
  catch (kj::Exception& exn) {
18
18
  auto obj = wrap_kj_exception_for_reraise(exn);
19
+ if (obj == nullptr) {
20
+ return;
21
+ }
19
22
  PyErr_SetObject((PyObject*)obj->ob_type, obj);
20
23
  Py_DECREF(obj);
21
24
  }