mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-06-05 10:55:44 +08:00
* feat: allow provider fallback based on credentials * fix: rename prop and raise error * fix: raise if all providers fail * fix: remove dead line * fix: rename defaults field to commands * rename key and update docs * fix: rename some stuff * fix bug * fix: mypy * fix: unittests * docstring * fix: provider field description * fix: error messages * fix: msg * feat: update defaults class * feat: update defaults class * unit tests * fix test * msg * fix: add website documentation * fix: detailed error message * update core ruff version * fix test * rebuild --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
103 lines
3.2 KiB
Python
103 lines
3.2 KiB
Python
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
|
|
|
from typing import Literal, Optional
|
|
|
|
from openbb_core.app.model.field import OpenBBField
|
|
from openbb_core.app.model.obbject import OBBject
|
|
from openbb_core.app.static.container import Container
|
|
from openbb_core.app.static.utils.decorators import exception_handler, validate
|
|
from openbb_core.app.static.utils.filters import filter_inputs
|
|
from typing_extensions import Annotated
|
|
|
|
|
|
class ROUTER_crypto(Container):
|
|
"""/crypto
|
|
/price
|
|
search
|
|
"""
|
|
|
|
def __repr__(self) -> str:
|
|
return self.__doc__ or ""
|
|
|
|
@property
|
|
def price(self):
|
|
# pylint: disable=import-outside-toplevel
|
|
from . import crypto_price
|
|
|
|
return crypto_price.ROUTER_crypto_price(command_runner=self._command_runner)
|
|
|
|
@exception_handler
|
|
@validate
|
|
def search(
|
|
self,
|
|
query: Annotated[
|
|
Optional[str], OpenBBField(description="Search query.")
|
|
] = None,
|
|
provider: Annotated[
|
|
Optional[Literal["fmp"]],
|
|
OpenBBField(
|
|
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp."
|
|
),
|
|
] = None,
|
|
**kwargs
|
|
) -> OBBject:
|
|
"""Search available cryptocurrency pairs within a provider.
|
|
|
|
Parameters
|
|
----------
|
|
query : Optional[str]
|
|
Search query.
|
|
provider : Optional[Literal['fmp']]
|
|
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp.
|
|
|
|
Returns
|
|
-------
|
|
OBBject
|
|
results : List[CryptoSearch]
|
|
Serializable results.
|
|
provider : Optional[Literal['fmp']]
|
|
Provider name.
|
|
warnings : Optional[List[Warning_]]
|
|
List of warnings.
|
|
chart : Optional[Chart]
|
|
Chart object.
|
|
extra : Dict[str, Any]
|
|
Extra info.
|
|
|
|
CryptoSearch
|
|
------------
|
|
symbol : str
|
|
Symbol representing the entity requested in the data. (Crypto)
|
|
name : Optional[str]
|
|
Name of the crypto.
|
|
currency : Optional[str]
|
|
The currency the crypto trades for. (provider: fmp)
|
|
exchange : Optional[str]
|
|
The exchange code the crypto trades on. (provider: fmp)
|
|
exchange_name : Optional[str]
|
|
The short name of the exchange the crypto trades on. (provider: fmp)
|
|
|
|
Examples
|
|
--------
|
|
>>> from openbb import obb
|
|
>>> obb.crypto.search(provider='fmp')
|
|
>>> obb.crypto.search(query='BTCUSD', provider='fmp')
|
|
""" # noqa: E501
|
|
|
|
return self._run(
|
|
"/crypto/search",
|
|
**filter_inputs(
|
|
provider_choices={
|
|
"provider": self._get_provider(
|
|
provider,
|
|
"crypto.search",
|
|
("fmp",),
|
|
)
|
|
},
|
|
standard_params={
|
|
"query": query,
|
|
},
|
|
extra_params=kwargs,
|
|
)
|
|
)
|