Repository navigation
Add FXMacroData read data integration - #748
roberttidball wants to merge 6 commits into
Conversation
Switches the base URL from the undocumented fxmacrodata.com/api/v1 alias to the published api.fxmacrodata.com/v1 host, so the client matches the public API reference.
52427b3 to
ec37565
Compare
The key now goes in the X-API-Key header instead of the query string, so it no longer ends up in URLs or logs. List endpoints return at most 100 rows per request, so history windows are read with limit/offset until pagination.has_more is false.
|
Small hardening pass: the API key is no longer forwarded if the API redirects to another host, a key with whitespace or control characters is rejected without echoing it, and a 200 response with an error body or unexpected shape now raises a clean ValueError. Tests added. |
|
The workflow runs for this PR show "Action required". Could a maintainer check whether they can be approved so the checks can run? Please let me know if any contributor-side changes are needed. Thanks. |
|
Thanks for the effort. Clients for specific commercial data providers are out of scope for PyPortfolioOpt, which focuses on optimisation and expects users to bring their own data (we are also removing the yfinance dependency, see #721). A standalone package depending on pypfopt would be the better home for this. Closing. |
Summary
FXMACRODATA_API_KEY/FXMD_API_KEYfor authenticated datasets.Validation
git diff --checkpassed across the external integration batch.blackand checked withpython -m py_compile.Local environment notes
javac,JAVA_HOME, ordotnetconfigured.