mlga / schematics-proto3 Goto Github PK
View Code? Open in Web Editor NEWSchematics extension for handling protobuf 3 messages as input.
License: MIT License
Schematics extension for handling protobuf 3 messages as input.
License: MIT License
There should be test cases that check if "renamed" field is reflected properly in validation errors.
class Something(Model):
custom_name = types.StringType(metadata=dict(protobuf_field='value'))
class Options:
_protobuf_class = pb.Something
Upon validation error, custom_name
should be used to denote an error:
{'custom_name': ['Please speak up!']}
This must be true for nested messages as well.
Please add the timestamp's wrapper as you wanted ๐
Currently, mostly "happy" paths are tested in unit tests. There should be test cases for misconfiguration, wrong usage and others.
This will require addressing many TODOs in code concerning raising proper exception and handling wrong states gracefully.
required
option used in oneof
inner fieldrequired
option used in repeated
inner fieldrequired
option used in primitive fieldModel.load_protobuf
used for wrong protobuf message (of wrong type / not set in Options)Currently, .from_protobuf
method is a spaghetti of nested if/elif/else statements and repeated code. It's complicated and hard to reason about. It it good enough for fast prototyping but unacceptable for production-ready code.
Implement .from_protobuf
in every type so protobuf handling details may be implemented there.
Problem: Wrapped field types need an information about parent message to be able to correctly return Unset
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.