Georg K
7dee36e073
Merge branch 'master_gh'
2024-01-09 22:16:02 +03:00
5666393f9d
betterproto: support Struct and Value ( #551 )
...
* betterproto: support `Struct` and `Value`
Signed-off-by: William Woodruff <william@trailofbits.com >
* betterproto: handle struct in to_dict as well
Signed-off-by: William Woodruff <william@trailofbits.com >
* tests: add Struct roundtrip tests
Signed-off-by: William Woodruff <william@trailofbits.com >
* specialize from_dict and to_dict on Struct
...rather than special-casing in the Message ABC.
Signed-off-by: William Woodruff <william@trailofbits.com >
* betterproto: `poe format`
Signed-off-by: William Woodruff <william@trailofbits.com >
* Update src/betterproto/__init__.py
Co-authored-by: James Hilton-Balfe <gobot1234yt@gmail.com >
* remove future annotations
Signed-off-by: William Woodruff <william@trailofbits.com >
* replace type[...] with typing.T
Signed-off-by: William Woodruff <william@trailofbits.com >
* quote instead
Signed-off-by: William Woodruff <william@trailofbits.com >
---------
Signed-off-by: William Woodruff <william@trailofbits.com >
Co-authored-by: James Hilton-Balfe <gobot1234yt@gmail.com >
2024-01-02 20:16:15 +00:00
Christian Clauss and GitHub
ce5093eec0
Upgrade actions to 3.12 ( #550 )
2024-01-02 14:49:16 +00:00
Georg K
c47e83fe5b
Merge branch 'master_gh'
2023-12-19 03:17:27 +03:00
John Collins and GitHub
b8a091ae70
Turn off doc-string line wrapping ( #532 )
2023-12-16 13:36:53 +00:00
Georg K
61fc2f4160
Merge branch 'master_gh'
2023-12-13 14:05:14 +03:00
Erik Friese and GitHub
d34b16993d
Use external package betterproto-rust-codec for better (de-)serialization performance ( #545 )
...
* optionally use betterproto-rust-codec
* monkey patch `parse` and `__bytes__`
2023-12-07 11:21:29 +11:00
Georg K
9ed579fa35
fix: datetime offsets
2023-11-20 22:46:34 +03:00
Georg K
1d296f1a88
Merge branch 'master_gh'
...
# Conflicts:
# src/betterproto/__init__.py
2023-11-15 17:33:19 +03:00
bd7de203e1
Remove Enum prefixes ( #187 )
...
Co-authored-by: nat <n@natn.me >
Co-authored-by: Tim Schmidt <w4rum@users.noreply.github.com >
Co-authored-by: Arun Babu Neelicattu <arun.neelicattu@gmail.com >
2023-10-25 22:35:16 +01:00
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
Georg K
aa81680c83
Merge branch 'master_gh'
2023-08-31 00:51:55 +03:00
Joshua Leivers and GitHub
8659c51123
Add message streaming support ( #518 )
2023-08-29 14:26:25 +01:00
Georg K
0fda2cc05d
Merge branch 'master_gh'
2023-08-11 02:56:45 +03:00
Andrew and GitHub
4cdf1bb9e0
Fix Message equality comparison ( #513 )
2023-07-29 12:06:56 +01:00
Georg K
d203659a44
Merge branch 'master_gh'
2023-07-27 00:06:35 +03: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
Georg K
d3e9621aa8
Merge branch 'master_gh'
2023-05-29 17:18:33 +03: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
Georg K
37e53fce85
Merge branch 'master_gh'
2023-05-05 03:27:56 +03: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
Georg K
b81195eb44
fix: _Timestamp.to_datetime works with negative ts
2023-04-05 13:02:25 +03:00
Georg K
d2af2f2fac
Merge branch 'master_gh'
2023-04-05 12:51:02 +03:00
James Hilton-Balfe and GitHub
e7f07fa2a1
Update __init__.py ( #451 )
2023-03-08 08:20:56 +00:00
Georg K
50fa4e6268
fix: protoc to local
2023-03-02 21:55:15 +03: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