d9b7608980
Support Message.from_dict() as a class and an instance method ( #476 )
...
* Make Message.from_dict() a class method
Signed-off-by: Marek Pikuła <marek.pikula@embevity.com >
* Sync 1/2 of review comments
* Sync other half
* Update .pre-commit-config.yaml
* Update __init__.py
* Update utils.py
* Update src/betterproto/__init__.py
* Update .pre-commit-config.yaml
* Update __init__.py
* Update utils.py
* Fix CI again
* Fix failing formatting
---------
Signed-off-by: Marek Pikuła <marek.pikula@embevity.com >
Co-authored-by: James Hilton-Balfe <gobot1234yt@gmail.com >
2023-10-25 22:20:23 +01:00
02aa4e88b7
Fix _Timestamp edge cases ( #534 )
...
* Add failing test cases for timestamp conversion
* Fix timestamp to datetime conversion
* Fix formatting
* Move timestamp tests outside of inputs folder
---------
Co-authored-by: Lukas Bindreiter <lukas.bindreiter@tilebox.io >
Co-authored-by: James Hilton-Balfe <gobot1234yt@gmail.com >
2023-10-18 00:41:09 +01:00
James Hilton-Balfe and GitHub
1dd001b6d3
Add CodeQL scanning ( #418 )
2023-10-18 09:55:28 +11:00
Sebastian Pietras and GitHub
e309513131
Fix _stream_unary not working with empty iterables ( #422 )
...
* Fixed `do_many_things` method in `ThingService`
* Added test for empty iterables
* Fixed `_stream_unary` not sending request first
2023-10-18 09:54:23 +11:00
Joshua Leivers and GitHub
24db53290e
Fix Tox to use Poetry hermetically ( #531 )
2023-10-17 14:56:58 +01:00
James Hilton-Balfe and GitHub
2bcb05a905
Tests for #523 ( #538 )
2023-10-16 22:33:42 +11:00
Vasilios and GitHub
ca6b9fe1a2
Implementing pickle methods ( #535 )
...
Continuing work from #484 by @kevinaud to fix #419
* Implementing pickle methods
* Implement __copy__, __reduce__, and fix __setstate__
* Moved pickling tests into their own file
* Add test for caching
2023-10-16 22:17:15 +11:00
Joshua Leivers and GitHub
4f18ed1325
Add support for streaming delimited messages ( #529 )
...
* Add support for streaming delimited messages
This allows developers to easily dump and load multiple messages
from a stream in a way that is compatible with official
protobuf implementations (such as Java's
`MessageLite#writeDelimitedTo(...)`).
* Add Java compatibility tests for streaming
These tests stream data such as messages to output files, have a
Java binary read them and then write them back using the
`protobuf-java` functions, and then read them back in on the Python
side to check that the returned data is as expected. This checks
that the official Java implementation (and so any other matching
implementations) can properly parse outputs from Betterproto, and
vice-versa, ensuring compatibility in these functions between the
two.
* Replace `xxxxableBuffer` with `SupportsXxxx`
2023-10-16 21:59:33 +11:00
James Hilton-Balfe and GitHub
6b36b9ba9f
Add issue templates ( #166 )
2023-10-16 14:23:14 +11:00
Girts and GitHub
61d192e207
test for issue #305 , marked with xfail ( #306 )
2023-10-16 14:18:24 +11:00
Erik Friese and GitHub
8b5dd6c1f8
Dont set group for optional fields ( #528 )
...
Fixes #523
2023-10-16 13:43:42 +11:00
Micael Jarniac and GitHub
3514991133
Rich support ( #508 )
...
Closes #507
https://rich.readthedocs.io/en/latest/pretty.html#rich-repr-protocol
2023-10-16 13:36:26 +11:00
James Hilton-Balfe and GitHub
e3b44f491f
Fix timestamp parsing ( #415 )
...
Fixes #407
2023-10-16 13:35:32 +11:00
c82816b8be
Map enum int's into Enums redux ( #293 )
...
Re-implement Enum to be faster along with being an open set
---------
Co-authored-by: ydylla <ydylla@gmail.com >
2023-10-16 13:32:30 +11:00
Joshua Leivers and GitHub
8659c51123
Add message streaming support ( #518 )
2023-08-29 14:26:25 +01:00
Andrew and GitHub
4cdf1bb9e0
Fix Message equality comparison ( #513 )
2023-07-29 12:06:56 +01:00
Alexander Khabarov and GitHub
6faac1d1ca
Raise AttributeError on attempts to access unset oneof fields ( #510 )
2023-07-21 13:26:30 +01:00
098989e9e9
Bump version to 2.0.0b6 ( #500 )
...
Co-authored-by: James Hilton-Balfe <gobot1234yt@gmail.com >
2023-06-26 00:12:49 +01:00
182aedaec4
Handle empty value objects properly ( #481 )
...
Co-authored-by: James Hilton-Balfe <gobot1234yt@gmail.com >
2023-06-24 20:19:13 +01:00
a7532bbadc
Add Python 3.11 to CI Runs ( #445 )
...
Co-authored-by: James Hilton-Balfe <gobot1234yt@gmail.com >
2023-06-24 19:49:34 +01:00
Alexander Khabarov and GitHub
73d1fa3d5b
Upgrade grpcio-tools and protobuf ( #498 )
2023-06-24 19:39:11 +01:00
Sriansh Raj Pradhan and GitHub
c00bc96db7
Create LICENSE.md ( #502 )
2023-06-16 19:19:51 +01:00
Nick DeRobertis and GitHub
fcbd8a3759
Fix pydict serialization for optional fields ( #495 )
2023-05-28 17:47:52 +01:00
pi-slh and GitHub
aad7d2ad76
Replace pkg_resources with importlib ( #462 )
2023-05-25 11:12:15 +01:00
2b41383745
Fix dict encoding for timezone aware datetimes ( #468 )
...
Co-authored-by: James Hilton-Balfe <gobot1234yt@gmail.com >
2023-04-13 23:34:19 +01:00
Marek Pikuła and GitHub
b0b6cd24ad
Fix pydantic_dataclasses reference in README ( #474 )
2023-04-13 21:56:38 +01:00
James Hilton-Balfe and GitHub
e7f07fa2a1
Update __init__.py ( #451 )
2023-03-08 08:20:56 +00:00
Samuel Yvon and GitHub
2fa0be2141
Fix for #459 (pydantic code gen only) ( #460 )
2023-02-21 19:41:32 +00:00
Samuel Yvon and GitHub
13d656587c
Add support for pydantic dataclasses ( #406 )
2023-02-13 15:37:16 +00:00
James Hilton-Balfe and GitHub
6df8cef3f0
Fix CI ( #456 )
2023-02-13 00:20:58 +00:00
James Hilton-Balfe and GitHub
1b1bd47cb1
Drop support for python3.6 ( #444 )
2023-02-09 08:35:41 +00:00
Wouter Horré and GitHub
0adcc9020c
Pythonize input_type name in py_input_message ( #436 )
...
Co-authored-by: konstantin <konstantin.klein@hochfrequenz.de >
Co-authored-by: James Hilton-Balfe <gobot1234yt@gmail.com >
Fixes https://github.com/danielgtaylor/python-betterproto/issues/427
Fixes https://github.com/danielgtaylor/python-betterproto/issues/438
2022-12-02 22:18:48 +00:00
sterliakov and GitHub
bfc0fac754
Enforce serialize_empty for repeated fields ( #417 )
2022-08-31 18:59:12 +01:00
Antonín Říha and GitHub
8fbf4476a8
Fix typechecker compatiblity checks in server streaming methods ( #413 )
2022-08-31 00:05:29 +01:00
Samuel Yvon and GitHub
591ec5efb3
Pull down the include_default_values argument to to_json ( #405 )
2022-08-08 14:26:28 +01:00
Antonín Říha and GitHub
f31d51cf3c
Added support for @generated marker ( #382 )
2022-08-03 11:05:13 +01:00
James Hilton-Balfe and GitHub
496eba2750
Bump version to b5 ( #404 )
2022-08-02 09:23:44 +10:00
d663a318b7
Release v.2.0.0b5 ( #350 )
...
* Implement Message.__bool__ for #130
* Add __bool__ to special members
* Tweak __bool__ docstring
* remove compiler: prefix
Co-authored-by: nat <n@natn.me >
2022-08-02 08:59:44 +10:00
Justin Torre and GitHub
2fb37dd108
Update Jinja 2 version ( #402 )
2022-08-01 10:44:37 +01:00
Vasile Razdalovschi and GitHub
42d2df6de6
Fix broken link in readme to tests ( #400 )
2022-07-14 13:14:05 +01:00
James Hilton-Balfe and GitHub
3fd5a0d662
Fix parameters missing from services ( #381 )
2022-07-06 19:05:40 +01:00
MatejKastak and GitHub
bc13e7070d
Fix link to google files ( #392 )
2022-06-16 16:08:39 +01:00
6536181902
Add to/from_pydict methods ( #203 )
...
* add to/from_pydict methods
* Remove unnecessary method call
* Fix formatting
Co-authored-by: James Hilton-Balfe <gobot1234yt@gmail.com >
2022-05-09 17:34:12 +01:00
85e4be96d8
fix Message.to_dict mutating the underlying Message ( #378 )
...
* [fix] to_dict modifies the underlying message (#151 )
* add test for mapmessage
* fix for to_dict
* formatting
* Apply suggestions from code review
Co-authored-by: Arun Babu Neelicattu <arun.neelicattu@gmail.com >
* change to_json to to_dict
Co-authored-by: Arun Babu Neelicattu <arun.neelicattu@gmail.com >
2022-05-09 17:29:42 +01:00
efokschaner and GitHub
06c26ba60d
tests: Lazy evaluate Deadline parameter in pytest ( #380 )
...
The pytest parameters are evaluated when the tests are loading.
The Deadline.from_timeout is a fixed point in time.
By deferring the evaluation it helps ensure that the deadline is not reached before the test is executed.
2022-04-30 23:11:21 +01:00
James Hilton-Balfe and GitHub
6a70b8e8ea
compiler: do not overwrite top level __init__.py
...
Resolves : #168 #260
2022-04-24 01:44:16 +02:00
James Hilton-Balfe and GitHub
3ca092a724
Fix is_set for optional proto3 fields
2022-04-24 01:37:15 +02:00
James Hilton-Balfe and GitHub
6f7d706a8e
fix float nan comparison
...
This change also adds minor docstrings fixes and bumps pre-commit blac
version.
2022-04-24 01:13:58 +02:00
James Hilton-Balfe and GitHub
ac96d8254b
Add a minimal repro for #312 ( #340 )
2022-04-22 11:04:40 +01:00
Max and GitHub
e7133adeb3
fix: map field edge-case
...
This change ensures a parent is a nested type when checking if a field is a map.
2022-04-22 11:06:44 +02:00