Commit Graph

95 Commits

Author SHA1 Message Date
Danglewood
bc24709cba [HotFix] Index Router Docstrings & sp500_multiples() Cleanup (#6063)
* sp500 multiples cleanup

* remove dict from standard model

* static pacakge

* pylint
2024-02-09 20:13:59 +00:00
Danglewood
f08b0a6082 [BugFix] Fix OECD Long Term Interest Rate (#6060)
* fix long term interest rate

* pylint unused argument
2024-02-09 09:56:38 +00:00
Danglewood
930004c479 update economy router docstrings (#6058)
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
2024-02-08 19:48:35 +00:00
Igor Radovanovic
b286800c23 Improve the docstrings (#6057) 2024-02-08 19:01:38 +00:00
montezdesousa
6088c98ceb [Feature] - Standardise multiple symbols input (#6056)
* feat: remove list of str

* fix: update cpi

* package builder + cpi

* build

* fix: update unittests

* fix: check_item

* fix: unittests
2024-02-08 16:47:55 +00:00
Pratyush Shukla
8e445fead0 [Enhancement] - Improve crypto router docs and examples (#6048)
* crypto search add validation for '-'-separated pairs

* set default query value to None

* improve /crypto description with custom examples

* improve /crypto/price/historical description with custom examples

* updated static for crypto menu

* ignore line too long

* linting

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
2024-02-07 22:32:12 +00:00
Henrique Joaquim
158d6e9d15 [Enhancement] - Improve currency router docs and examples (#6045)
* currency search

* reference rates

* historical price

* static assets

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
2024-02-07 16:14:37 +00:00
Henrique Joaquim
3805e9b253 [Enhancement] - Improve news router docs and examples (#6047)
* better docs

* static assets
2024-02-07 15:31:21 +00:00
Igor Radovanovic
6f159655f9 Improve the docstrings (#6041)
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
2024-02-06 17:09:05 +00:00
Igor Radovanovic
76e4a7b7a7 Improve the docstrings (#6040) 2024-02-06 17:06:25 +00:00
Henrique Joaquim
6eb097c31c [BugFix] - Improve Standardization - EquitySearch (#6033)
* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* small adjustment on the test

* index historical

* adjust tests accordingly

* keep the test skipped

* match tests w python

* use cache as std field

* fix tests

* fix tests

* use_cache as std

* adjust tests

* keep the skip

* re-record test

* black
2024-02-06 13:54:51 +00:00
Danglewood
7c953d5964 [BugFix] - Adds a timezone to the Unix timestamp conversion to correct localization errors. (#6023)
* fix: remove specific imports

* make polygon historical tz-aware

* undo including that commit

* that PR wasn't supposed to be there.

* pylint unused argument

* fix polygon crypto historical intervals

* pylint

* new cassette

* fix the rest of the polygon historical price query params

* black

* pylint..

* integration test param

* appease daylight savings handling

* paginate for crypto currency and index

* black

* raise EmptyDataError when no results instead of returning an empty list

* ruff

---------

Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
2024-02-05 19:53:17 +00:00
Danglewood
16f2bec65f Feature/ex-dividend: Renames "date" columns as "ex_dividend_date" for Dividend Calendar and Historical Dividends (#6006)
* date -> ex_dividend_date

* nasdaq historical dividends

* black

* pylint

* intrinio alias_dict

* dividend_currency -> currency

* yfinance field name

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
2024-02-05 19:53:00 +00:00
Henrique Joaquim
074cffaaad [BugFix] - Improve Standardization - CotSearch (#6031)
* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* small adjustment on the test

* index historical

* adjust tests accordingly

* keep the test skipped

* match tests w python

* use cache as std field

* fix tests

* fix tests

* keep the skip

* fix test

* adding missing param

* fix tests accordingly
2024-02-05 15:41:23 +00:00
Igor Radovanovic
f86483e683 [Feature] - Refactor Response Model (#6024)
* Start refactor with @montezdesousa

* feat: add response model inside openapi_extra

* feat: find+replace return types

* fix: ruff

* Feature/api response by provider (#6029)

* init

* Update router.py

* Update registry_map.py

* check dicts

* lint

* exclude provider on data model for package build

* `results_type_repr` logic for `Annotated`, ignore provider field in `_extract_data`

---------

Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>
2024-02-05 13:17:29 +00:00
Henrique Joaquim
743c229f3a [BugFix] - Improve Standardization - IndexHistorical (#6030)
* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* small adjustment on the test

* index historical

* adjust tests accordingly

* keep the test skipped

* match tests w python

* fix tests

* keep the skip

* fix test
2024-02-05 13:01:50 +00:00
Henrique Joaquim
52ac1758f3 Improve UX for obb.news (#5986)
* adding date,start_date and end_date to std params

* add date to special params which should've another type

* change types to dateType

* change helper to accomadate changes in types

* date filtering

* using the date filtering for all providers

* date params on the std model instead

* adding the right type

* filtering dates on world news

* integration tests

* fix descriptions

* static assets

* black

* Revert "black"

This reverts commit 7288b59f87.

* lint

* addressing @montezdesousa suggestion: removing qua 31 jan 2024 15:01:20 WET from standard models and using it only on benzing

* tests accordingly

* static assets

* black

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
2024-02-05 11:46:37 +00:00
Danglewood
b4649b375e feature/commodities-lbma-fixing: Adds Commodity Extension and LBMA Gold/Silver daily fixing levels (#5760)
* add commodity extension and add lbma fixing endpoint

* dev_install.py

* readme url

* renovate the standard model

* makes a query_params model for nasdaq data link

* literal not optional

* unused imports

* missing test params

* test cassette

* DataLink query param description

* test file import

* actually fix import

* from openbb_core.provider.....

* ruff

* another import statement

* black

* async router

* move query_params

* update version

* version numbers

* extension_map

* satisfy pylint?

* pylint

* Update pyproject.toml

* black

* poetry lock

* Update extension_map.json

* Update __extensions__.py

* Update module_map.json

* clean descriptions

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2024-02-05 09:22:08 +00:00
Danglewood
3de1bddc2d feature/more-yfinance: Adds some more to openbb-yfinance (#5979)
* equity profile for yFinance

* pylint

* equity quote

* unused imports

* price target consensus

* add currency field

* add share_statistics

* don't append empty result to results

* key executives

* missing definition in key_executives

* pylint

* key metrics

* add currency to key metrics

* add etf_info

* rename trailing_annual_dividend -> dividend_rate_ttm

* add institutions count to share_statistics

* add historical dividends

* add logic for start-end dates to historical_dividends

* recapture the test..?

* funny test

* filter on tests?

* record test with clean cache..?

* year_price_change -> price_return_1y in key_metrics

* black

* make descriptions clear for beta and dividend_yield fields

* add description field to standard model

* updated static

* clear description of shares_implied_outstanding field

* updated static for equity

* clean descriptions

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2024-02-04 18:39:29 +00:00
Pratyush Shukla
a5da32808c remove SectorNews from router and standard models (#6026) 2024-02-04 15:42:36 +00:00
Danglewood
c9f1aec2b3 [feature]: feature/overview-to-profile: Deprecate equity.fundamental.overview() and move to equity.profile() (#6011)
* fmp overview to equity profile

* deprecation warning

* urls

* wrangle fields

* black

* pylint unused argument

* insert additional securityID fields to standard model

* custom deprecation using OpenBBDeprecationWarning

* typo - need to have the deprecated=True flag

* static assets

* fix non related test

* minor adjustment - removing the need for the try/except block - using the get and pop removes the need for key existance checking. cc @deeleeramone

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
2024-02-02 11:45:09 +00:00
Pratyush Shukla
9ddbf34456 [Feature] Add support for multiple tags in historical_attributes and latest_attributes (#6013)
* historical attributes standard model -
* add support multiple tags
* add `tag` field in data

* add support for multiple tags in historical attributes

* set correct return type in `callback` function

* latest attributes standard model -
* add support for multiple tags
* add `tag` field in data

* add support for multiple tags in latest attributes

* add test params for the attributes endpoints

* add support for multiple `symbol` and add `symbol` field in the data

* modified code to fetch data from multiple symbols and throw warning as per @deeleeramone

* add params for testing multiple symbols

* linting

* fix test params

* fixed condition to check if its a `Dict` type

* updated intrinio fetcher tests for the statements

* updated static
2024-02-02 11:12:50 +00:00
Henrique Joaquim
d4baba0284 [Feature] - Custom deprecation (#6005)
* custom deprecation

* custom deprecation

* using the new deprecation

* custom deprecation on the package builder

* remove comment

* ruff

* black

* static assets

* tests

* using parametrization instead

* test for deprecated endpoints (#6014)

* Deprecation warning on the reference docs (#6015)

* typo/fix

* bring back methods needed for markdown generation

* add deprecation warning to docs

* contributor docs for deprecating endpoints - tks @deeleeramone

* small changes on publishing procedure per @the-praxs

* moving the deprecation summary class to deprecation file instead

* explanation on class variables

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update openbb_platform/openbb/package/index.py

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* deprecating on 4.3 instead @the-praxs

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2024-02-01 10:00:47 +00:00
James Maslek
bbf5da0e58 Add OECD unemployment (+more) + data cache idea (#5917)
* Add OECD unemployment + data cache idea

* Docstring edits

* Tests

* Add composite leading indicator

* i truested ruff --fix too much

* Add short + long term interest rates

* pylint

* pylint2

* was not committing.  my b

* add csv cache + make it default.  remove pyarrow from poetry

* Clean up

* Didnt run on this file.  My bad

* Why was this ignored /shrug

* pylint

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
2024-01-31 00:34:09 +00:00
Igor Radovanovic
7a07970fc8 Remove Ultima provider (#6012) 2024-01-30 09:57:01 +00:00
Pratyush Shukla
2d7c5c68fe Update openbb-devtools (#6008)
* update deps

* unpinned package versions from gh linting action

* codespell

* updated black dependency

* linting

* linting

* linting

* pin codespell version

* black

* black again

* install devtools in linting action
2024-01-29 12:21:06 +00:00
Pratyush Shukla
13283fbfce CI listing quick fix (#6002)
* BIGGGG LINTING

* fixing lints

* fixing lints

* black

* very ruff

* no export

* fix hedge_view again

* lints

* platform lints

* lints

* black

* black it @hjoaquim

* fix some more linting

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2024-01-26 17:08:42 +00:00
Danglewood
305b865637 hotfix/intrinio-index: Drop None Rows From intrinio Historical Index (#5987)
* drop None rows from intrinio historical indexes

* add empty data error

* static assets
2024-01-25 20:41:53 +00:00
Danglewood
04df52d06a feature/finviz-provider: Adds Community Finviz Provider Extension (#5952)
* add finviz provider

* recapture tests

* recapture tests again?

* invalid test param

* static packages

* units_measurement -> unit_measurement

* static packages as core only

* openbb_core version bump in pyproject.toml

* try adding user-agent to test response

* fix tests

* linting

* provider model cosmetic changes

* fix install script and typo in openbb toml

* static

* fix: re-record unittests

* empty data error

* definitions as a file

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
2024-01-22 20:21:48 +00:00
Danglewood
e2f7e597fa feature/cboe-async: Refactor Cboe for Async (#5900)
* refactor cboe for async

* codespell

* unused imports

* pylint

* more pylint

* platform metadata

* classmethod decorator

* test params

* intrinio quote

* test param names

* date in test needs to be a datetime.date not string

* make fmp unix timestamp tz-aware and normalize percent change

* different way of parsing datetime string

* recapture cboe equity historical test

* unused import

* index snapshot update

* black

* extension map

* pylint

* cboe pyproject.toml

* proposal to standardize equity_quote

* one more file

* removing changes on static assets

* index_historical

* index_historical again

* last_time -> last_timestamp

* obsolete router path

* fix tests

* test param

* restore market index deprecation that I forgot about

* fixing tests

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2024-01-22 15:17:42 +00:00
Henrique Joaquim
a9b4d2070f Release OpenBB Platform v4.1.3 (#5983)
* fixing pyproject.toml

* adding pandas-ta to technical package for publishing

* bumping technical

* test for pyproject toml
2024-01-22 15:02:32 +00:00
Danglewood
9697aeb284 feature/add-yfinance-functions: Add equity.profile for yFinance (#5978)
* equity profile for yFinance

* pylint

* equity quote

* unused imports
2024-01-20 23:26:59 +00:00
montezdesousa
80f5cbfd6d Release 4.1.1. (#5964)
* update dev_install

* fix effr test

* Update dev_install.py

* fix fundamental balance test

* fix equity price historical test

* fix price target model

* black

* rebuild static files

* update publish.md

* fixed dev_install

* update publishing doc

* updated `openbb-core` to 1.1.1

* updated extensions

* updated providers

* updated `openbb` package

* updated static extension map

* updated publishing doc

* fixed toml for `openbb-finra`

* @jmaslek yfinance IS DEFAULT

* updated static

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2024-01-19 11:53:58 +00:00
Pratyush Shukla
2f4abee46c [DEPRECATION] index.market renamed to index.price.historical (#5962)
* deprecate index.market and add index.price.historical

* add index.historical standard model

* add index.historical provider models

* index extension tests

* provider tests

* linting
2024-01-18 05:34:11 +00:00
Henrique Joaquim
31d03eb5f1 equity.estimates.price_target - Integrate with Benzinga (#5946)
* deprecation message

* fix lints

* adding equity.estimates.ratings and fmp as its provider

* unit tests for fmp

* removing unused file

* typos

* add benzinga to AnalystRatings

* revert changes to estimates router

* moving it to price target instead

* reverting changes

* fmp support for multiple ticker

* benzinga price target

* ruffy

* unused argument

* fix type hints

* tests for the new fetcher

* new integration tests

* fixing tests

* missing std arg

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
2024-01-17 18:39:40 +00:00
montezdesousa
79c81497ed equity.fundamental.dividends: allow filter by date (#5932)
* allow filter by date

* ruff

* pylint

* fix tests

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2024-01-12 12:41:19 +00:00
montezdesousa
ee5388a81d Add date filter + symbols to comp (#5931)
* add date filter + symbols to comp

* make sure year is in d

* tests fix
2024-01-10 14:18:07 +00:00
montezdesousa
16bd470a78 Allow multiple symbols equity.profile (#5929)
* allow multiple symbols

* pylint

* pylint ignore position

* change callback to helper func

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2024-01-09 14:38:33 +00:00
Henrique Joaquim
bae33881d2 Introduces a limit argument for the equity.fundamental.trailing_dividend_yield endpoint (#5925)
* introduces a limit argument for the equity.fundamental.trailing_dividend_yield endpoint

* add default args to test
2024-01-08 19:36:43 +00:00
Danglewood
1d77e03177 hotfix/yf-futures-historical: yfinance historical futures multi-ticker support and symbol parsing (#5923)
* multi-ticker support for yfinance futures historical

* raise-missing-from

* integration test params

* equity_historical adjusted kwargs

* pylint unused argument
2024-01-08 10:13:22 +00:00
Danglewood
a7514bc588 hotfix/backend - Initialize OpenBBFigure (#5912)
* create backend

* openbb_figure

* black

* pylint

* pylint again

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
2024-01-06 02:03:04 +00:00
Henrique Joaquim
9a09999bb6 Release/4.1.0 (#5901) 2024-01-03 18:17:37 -05:00
Igor Radovanovic
c43100d209 Fix test (#5916)
* Fix test

* Skip ultima integration tests

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2024-01-03 17:40:18 +00:00
Danglewood
06e38834d0 feature/financials - PR for working on structure of financial statements. (#5794)
* balance sheet draft

* balance_sheet draft

* cash_flow draft

* income_statement draft

* intrinio financials

* description

* period field

* ruff

* income statement

* field

* label - gross profit ratio

* cash flow statement

* investing order

* add option for caching to cashflow

* add caching to balance and income

* typos and update order for financial institutions

* replace 0 values with None

* add financial ratios from intrinio

* black

* missing test params

* balance cassette

* query param description

* symbol list warning

* black

* handle BRK-A and symbols with a dash for Intrinio

* fix typo error

* add free cash flow to bottom of cash flow statement

* amortization_expense

* dev_install.py

* undo dev_install.. wrong branch

* cash flow order things

* standardized cash flow

* fields

* integration tests

* cash flow model validator

* more polygon cash

* black

* black

* Delete openbb_sdk/providers/polygon/openbb_polygon/utils/definitions.py

wrong file

* balance sheet

* some cleanup

* ruff

* income statement

* black

* test params

* financial ratios async update

* recapture fmp and polygon tests

* yFinance financials

* yfinance tests

* delete financial_statements standard model

* intrinio balance sheet order

* fiscal year standard param

* remove file accidentally committed

* add reported_financials end point

* fiscal_year param for reported_financials

* fix url

* fmp test cassette

* add safe-guard with warning for fiscal year before 2008

* periods can only be annual and quarter

* url in docstring correction

* add fiscal_year param to intrinio standardized financials and ratios

* fix fmp ratios

* black

* rename fields as per Minh

* rogue field

* black

* Fix typo in a docstring

* Resolve linting errors

* type ignore

* disable=unused-argument

* changing the arg name cc @minhhoang1023

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2023-12-19 12:26:13 +00:00
Igor Radovanovic
7067a19095 Add econometrics API tests (#5899) 2023-12-18 10:56:50 +00:00
Igor Radovanovic
ecdb111fd5 Check if outdated (#5898) 2023-12-18 10:24:02 +00:00
James Maslek
238ab39a50 Adds federal reserve data points (#5885)
* Allow optional input for 2-month treasury rates and add FederalReserve rates model

The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher.

* Add Money Measures models and commands

This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data.

* Add Federal Reserve Money Measures test file

This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server.

* Cleanup

* Sneaky unformatted integration tests

* its a dawg life for me ...... ruff

* add the fed funds rate

* didnt mean to commmit this

* black

* this is why we should pre commit kids

* change install name

* add providers to int tests

* review comments + commit static

* replace nan with None

* fix float on None

* get rid of nans for nulls for json handling

* change `_` to `-` in readme pip install.

* Update __init__.py docstring

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2023-12-15 15:15:15 +00:00
Igor Radovanovic
5faa50c0d4 Fix bug. Add router test. (#5888)
* Fix bug. Add router test.

* Simplify
2023-12-14 17:09:48 +00:00
Theodore Aptekarev
d9ec0fe80c Use custom parametrize from news menu tests (#5873)
* Use custom parametrize from news menu tests

* Update Ultima unit test cassettes
2023-12-11 15:10:10 +00:00
teh_coderer
da7886d0a7 Make Pro Fetchers async by replacing ThreadPoolExecutor with asyncio.gather (#5822)
* init

* Update helpers.py

* filter URL on raise

* polygon, fmp done, update cassettes

* updates

* cleanup

* revert tests for now

* Update discovery_filings.py

* Update helpers.py

* add `async` overload to `Fetcher.extract_data`

* update merged fred models

* tests, improve fred series

* Update insider_trading.py

* insider

* tests

* intrinio

* Update equity_historical.py

* implement abstract async extract on Fetcher, with simple switch

* cleanup

* Update helpers.py

* Update helpers.py

* fix fmp historical deprecated urls

* Revert "fix fmp historical deprecated urls"

This reverts commit 1a760a2473.

* fix fmp `index.market` 1day url missing query params

* Update test_fmp_market_indices_fetcher.yaml

* field fixes

* `extract_data_async` -> `aextract_data`, `async_request` -> `amake_request`

* `async_requests` -> `amake_requests`

* Update company_news.py

* add sort to index `integration` params

* add `client.py` tests

* Update equity_search.py

* Add lost v in platform api version string

* Resolve linter errors here and there

---------

Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
2023-12-08 14:41:37 +00:00