Comments (2)
Thanks for the python interface, I've just started using it and encountered the same issue using alpaca-py==0.14.0
, where Pydantic validation fails due to missing fields in the API response. I believe this problem results from Pydantic's handling of optional fields, see Pydantic v2 migration guide.
In the guide, it's mentioned that class attributes defined as Optional[date]
without a default value are considered "Required, can be None," meaning they are expected to be present in the data, albeit they can be None. However, for fields to truly be optional—where they can be omitted from the data entirely without triggering validation errors—they should be defined with a default value, e.g., ex_date: Optional[date] = None
. This change marks the fields as "Not required, can be None, and is None by default," allowing them to accommodate missing fields in the API response.
It appears that the CorporateActionAnnouncement class definition needs updating to reflect this understanding, specifically by assigning default values to optional fields. The test case appears to include all of the fields so wouldn't catch this scenario.
from alpaca-py.
@DougForrest thank you for heads-up. I will handle this issue.
from alpaca-py.
Related Issues (20)
- light edit for docs
- [Bug]: Order stuck in pending_cancel
- [Bug]: potentially unnecessary parameter is required when submitting OCO orders
- [Bug]: PydanticUserError: If you use `@root_validator` with pre=False (the default) you MUST specify `skip_on_failure=True`. Note that `@root_validator` is deprecated and should be replaced with `@model_validator`. HOT 2
- [Bug]: HOT 1
- [Bug]: Unable to execute ReplaceOrderRequest on a stop loss order HOT 1
- Support REST requests timeout, especially with StockHistoricalDataClient
- [Bug]: Duplicate Indicies HOT 3
- [Bug]: The option data stream should not have subscribe bar method
- APIError should make message more readily available to end users HOT 1
- Client should *not* un-paginate large results. Should return a `generator` that does this for you. HOT 1
- [Bug]: TradeAccount validation error HOT 2
- [Bug]:README fix for market docs URL HOT 1
- [Bug]: JournalStatus Enum is out of date with docs HOT 2
- Expose async client
- [Feature Request] get_all_closed_positions()
- [Bug]: Options Cost_Basis is not being used consistently.
- [Bug]: All example notebooks appear to be broken HOT 2
- [Bug]: stockdatastream with SIP feed is providing incomplete data HOT 1
- Do not use "import *" in notebooks
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 alpaca-py.