pycapnp 2.2.0__tar.gz → 2.2.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 (102) hide show
  1. {pycapnp-2.2.0 → pycapnp-2.2.1}/CHANGELOG.md +3 -0
  2. {pycapnp-2.2.0/pycapnp.egg-info → pycapnp-2.2.1}/PKG-INFO +5 -2
  3. pycapnp-2.2.1/capnp/includes/PyCustomMessageBuilder.h +28 -0
  4. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/lib/capnp.cpp +7515 -7361
  5. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/lib/capnp.pyx +6 -0
  6. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/lib/capnp_api.h +19 -19
  7. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/version.py +2 -2
  8. {pycapnp-2.2.0 → pycapnp-2.2.1/pycapnp.egg-info}/PKG-INFO +5 -2
  9. {pycapnp-2.2.0 → pycapnp-2.2.1}/pycapnp.egg-info/SOURCES.txt +1 -0
  10. {pycapnp-2.2.0 → pycapnp-2.2.1}/setup.py +2 -1
  11. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_blob_to_dict_base64.py +2 -1
  12. {pycapnp-2.2.0 → pycapnp-2.2.1}/LICENSE.md +0 -0
  13. {pycapnp-2.2.0 → pycapnp-2.2.1}/MANIFEST.in +0 -0
  14. {pycapnp-2.2.0 → pycapnp-2.2.1}/Pipfile +0 -0
  15. {pycapnp-2.2.0 → pycapnp-2.2.1}/README.md +0 -0
  16. {pycapnp-2.2.0 → pycapnp-2.2.1}/_custom_build/backend.py +0 -0
  17. {pycapnp-2.2.0 → pycapnp-2.2.1}/buildutils/__init__.py +0 -0
  18. {pycapnp-2.2.0 → pycapnp-2.2.1}/buildutils/build.py +0 -0
  19. {pycapnp-2.2.0 → pycapnp-2.2.1}/buildutils/bundle.py +0 -0
  20. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/__init__.pxd +0 -0
  21. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/__init__.py +0 -0
  22. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/_gen.py +0 -0
  23. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/helpers/__init__.pxd +0 -0
  24. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/helpers/capabilityHelper.cpp +0 -0
  25. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/helpers/capabilityHelper.h +0 -0
  26. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/helpers/checkCompiler.h +0 -0
  27. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/helpers/deserialize.h +0 -0
  28. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/helpers/fixMaybe.h +0 -0
  29. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/helpers/helpers.pxd +0 -0
  30. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/helpers/non_circular.pxd +0 -0
  31. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/helpers/rpcHelper.h +0 -0
  32. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/helpers/serialize.h +0 -0
  33. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/includes/PyCustomMessageBuilder.cpp +0 -0
  34. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/includes/__init__.pxd +0 -0
  35. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/includes/capnp_cpp.pxd +0 -0
  36. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/includes/schema_cpp.pxd +0 -0
  37. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/includes/types.pxd +0 -0
  38. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/lib/__init__.pxd +0 -0
  39. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/lib/__init__.py +0 -0
  40. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/lib/capnp.pxd +0 -0
  41. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/lib/pickle_helper.py +0 -0
  42. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/templates/module.pyx +0 -0
  43. {pycapnp-2.2.0 → pycapnp-2.2.1}/capnp/templates/setup.py.tmpl +0 -0
  44. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/addressbook.capnp +0 -0
  45. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/addressbook.py +0 -0
  46. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/async_calculator_client.py +0 -0
  47. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/async_calculator_server.py +0 -0
  48. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/async_client.py +0 -0
  49. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/async_reconnecting_ssl_client.py +0 -0
  50. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/async_server.py +0 -0
  51. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/async_socket_message_client.py +0 -0
  52. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/async_socket_message_server.py +0 -0
  53. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/async_ssl_calculator_client.py +0 -0
  54. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/async_ssl_calculator_server.py +0 -0
  55. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/async_ssl_client.py +0 -0
  56. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/async_ssl_server.py +0 -0
  57. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/calculator.capnp +0 -0
  58. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/py_custom_message_builder.py +0 -0
  59. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/selfsigned.cert +0 -0
  60. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/selfsigned.key +0 -0
  61. {pycapnp-2.2.0 → pycapnp-2.2.1}/examples/thread.capnp +0 -0
  62. {pycapnp-2.2.0 → pycapnp-2.2.1}/pycapnp.egg-info/dependency_links.txt +0 -0
  63. {pycapnp-2.2.0 → pycapnp-2.2.1}/pycapnp.egg-info/entry_points.txt +0 -0
  64. {pycapnp-2.2.0 → pycapnp-2.2.1}/pycapnp.egg-info/top_level.txt +0 -0
  65. {pycapnp-2.2.0 → pycapnp-2.2.1}/pyproject.toml +0 -0
  66. {pycapnp-2.2.0 → pycapnp-2.2.1}/requirements.txt +0 -0
  67. {pycapnp-2.2.0 → pycapnp-2.2.1}/setup.cfg +0 -0
  68. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/addressbook with spaces.capnp +0 -0
  69. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/addressbook-with-dashes.capnp +0 -0
  70. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/addressbook.capnp +0 -0
  71. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/all-types.binary +0 -0
  72. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/all-types.packed +0 -0
  73. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/all-types.txt +0 -0
  74. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/all_types.capnp +0 -0
  75. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/annotations.capnp +0 -0
  76. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/bar.capnp +0 -0
  77. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/blob_test.capnp +0 -0
  78. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/foo.capnp +0 -0
  79. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/schemas/child.capnp +0 -0
  80. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/schemas/parent.capnp +0 -0
  81. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_capability.capnp +0 -0
  82. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_capability.py +0 -0
  83. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_capability_context.py +0 -0
  84. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_context_manager.py +0 -0
  85. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_examples.py +0 -0
  86. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_large_read.capnp +0 -0
  87. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_large_read.py +0 -0
  88. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_load.py +0 -0
  89. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_memory_handling.py +0 -0
  90. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_object.py +0 -0
  91. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_py_custom_message_builder.py +0 -0
  92. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_regression.py +0 -0
  93. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_response.capnp +0 -0
  94. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_response.py +0 -0
  95. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_rpc.py +0 -0
  96. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_rpc_calculator.py +0 -0
  97. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_schema.py +0 -0
  98. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_serialization.py +0 -0
  99. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_struct.py +0 -0
  100. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_structs_sequence.capnp +0 -0
  101. {pycapnp-2.2.0 → pycapnp-2.2.1}/test/test_structs_sequence.py +0 -0
  102. {pycapnp-2.2.0 → pycapnp-2.2.1}/tox.ini +0 -0
@@ -1,3 +1,6 @@
1
+ ## v2.2.1 (2025-10-21)
2
+ - Make `message.to_dict()` return bytes for DATA type field (#386)
3
+
1
4
  ## v2.2.0 (2025-09-12)
2
5
  - Add binary support in dictionaries via base64 encoding (#351)
3
6
  - Add structure-free read_multiple_bytes_packed (#378)
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pycapnp
3
- Version: 2.2.0
3
+ Version: 2.2.1
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.0.zip
6
+ Download-URL: https://github.com/haata/pycapnp/archive/v2.2.1.zip
7
7
  Author: Jacob Alexander
8
8
  Author-email: haata@kiibohd.com
9
9
  License: BSD-2-Clause
@@ -259,6 +259,9 @@ if __name__ == '__main__':
259
259
 
260
260
  Changelog
261
261
  =============
262
+ ## v2.2.1 (2025-10-21)
263
+ - Make `message.to_dict()` return bytes for DATA type field (#386)
264
+
262
265
  ## v2.2.0 (2025-09-12)
263
266
  - Add binary support in dictionaries via base64 encoding (#351)
264
267
  - Add structure-free read_multiple_bytes_packed (#378)
@@ -0,0 +1,28 @@
1
+ #pragma once
2
+
3
+ #include "Python.h"
4
+ #include <capnp/message.h>
5
+ #include <capnp/serialize.h>
6
+ #include <vector>
7
+
8
+ namespace capnp {
9
+
10
+ class PyCustomMessageBuilder : public capnp::MessageBuilder {
11
+ public:
12
+ explicit PyCustomMessageBuilder(PyObject* allocateSegmentCallable,
13
+ uint firstSegmentWords = capnp::SUGGESTED_FIRST_SEGMENT_WORDS);
14
+
15
+ ~PyCustomMessageBuilder() noexcept(false) override;
16
+
17
+ kj::ArrayPtr<capnp::word> allocateSegment(capnp::uint minimumSize) override;
18
+
19
+ private:
20
+ PyObject* allocateSegmentCallable;
21
+
22
+ uint firstSize;
23
+ uint curSize = 0;
24
+
25
+ std::vector<PyObject*> allocatedBuffers;
26
+ };
27
+
28
+ }