Comments (5)
PyGlove only supports the latter syntax. For the former one, the field_a string
is not associated with the field.
from pyglove.
Yeah, it seems that the latter syntax is the official way of attribute annotation. Because the second args
can go far beyond the string type, it was originally designed to attach some metadata in the annotation.
from pyglove.
I know :-) In my opinion Annotated
is more scalable in providing extra information for a field, based on which we can easily support value spec & field metadata in near future. These features are already part of pg.members
.
We may consider support the "official" attribute annotation if our fellow users prefer this way, although I personally don't like it for its poorer readability and scalability. But let me know if you are in a urgent need.
from pyglove.
lol, no urgent need. The external IDEs do not view Annotated[.., x]
's s as annotation and thus will ignore them, just a heads up on the incompatibility of those common softwares vs. the practice in PG~
from pyglove.
Good to know.
It seems the "former" form of field annotation (a new line of string following the field definition) was proposed in PEP-224 but got rejected. So maybe we should wait a bit see the necessity of this support.
from pyglove.
Related Issues (20)
- Defining symbolic attributes not in initialization HOT 2
- Having tied parameters? HOT 5
- pg.sample returns same function from functor HOT 1
- PyTorch ResNet Example in Table 1 of paper HOT 1
- Breadth-first search for pg.iter HOT 1
- Missing type error in the error log HOT 2
- How to use load and save for non-pyglove types HOT 5
- pg.diff between two identical objects HOT 5
- Release 0.4.1 HOT 2
- AttributeError: Attribute 'sym_sealed' does not exist in <class 'pyglove.core.symbolic.dict.Dict'>. HOT 8
- Dict is not accepting int as key. HOT 1
- Can we disable __init__ for the users? HOT 2
- Untyped Check HOT 2
- v0.11 tag seems a typo :) HOT 1
- Incompatible Type Annotation Literal
- More documentation on use with OSS Vizier
- Backward compatibility for Python < 3.9.
- Use `pg.typing` as type annotations HOT 1
- Clarification on Efficiency HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyglove.