Decide on a pydantic v3 BaseModel tagged union method and document it here
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Documentazione
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- python
- Ambito
- developer-experience, documentation
Direzione di ricerca
Inizia confrontando gli approcci alle tagged union utilizzati da scanspec, FastCS, pvi, ibek e blueapi, tenendo presenti le modifiche proposte in pydantic v3. Il lavoro sarà considerato completato quando i progetti avranno concordato un approccio comune a BaseModel e tale metodo sarà documentato qui, includendo i relativi compromessi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
At the moment we have multiple ways of using pydantic and tagged unions:
scanspecusing pydantic dataclasses and a decorator to make a tagged union of subclasses, it requires positional argsFastCSusing plain dataclasses and a pydantic BaseModel creation function to do serialization and deserializationpviuses an explicitly created union of BaseModelsibekuses automatically created Entity BaseModels from EntityModel instancesblueapidoes something with BaseModels too, but I can't remember what
With the advent of pydantic v3, now would be a good time to look at investigating a common approach for all these usecases. Standardising on BaseModel instances would probably give us the most tool support for things like documenting models in sphinx, FastAPI and GraphQL support, and downstream serialization
@GDYendell @gilesknap @DiamondJoseph @tpoliaw @abbiemery FYI
@hyperrealist I'm hoping you'll take this on at some point in the new year
- Lingua principale
- Jinja
- Stelle
- 25
- Fork
- 10
- Merge medio
- 4g 17h
- PR unite (30g)
- 7
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di DiamondLightSource/python-copier-template
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
-
documentation good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Tutte le issue di DiamondLightSource/python-copier-template
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
pastelsky/bundlephobia#1122 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
anthropics/skills#1811 · 1 commento ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
CachyOS/distribution#587 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
datalayer/mcp-compose#42 ·
-
[Chore] Keep one viget-block-generator skill and replicate it, instead of four tracked copies Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100