mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-27 04:31:13 +00:00
[Feature] Remove Static Assets For Distribution (#7212)
* remove static assets for distribution * don't need that conftest file * comment cleanup * fix yaml
This commit is contained in:
15
.pre-commit-config.yaml
vendored
15
.pre-commit-config.yaml
vendored
@@ -15,7 +15,7 @@ repos:
|
||||
hooks:
|
||||
- id: black
|
||||
- repo: https://github.com/charliermarsh/ruff-pre-commit
|
||||
rev: "v0.11.2"
|
||||
rev: "v0.12.12"
|
||||
hooks:
|
||||
- id: ruff
|
||||
- repo: https://github.com/pycqa/pydocstyle
|
||||
@@ -67,6 +67,19 @@ repos:
|
||||
entry: pylint
|
||||
language: system
|
||||
types: [python]
|
||||
- id: check-generated-files
|
||||
name: Check for generated files
|
||||
entry: bash
|
||||
args:
|
||||
- -c
|
||||
- |
|
||||
if git ls-files | grep "^openbb_platform/core/openbb/package/" | grep -v "^openbb_platform/core/openbb/package/__init__\.py$"; then
|
||||
echo "Error: Attempting to commit generated files in package directory. Only __init__.py should exist."
|
||||
exit 1
|
||||
fi
|
||||
language: system
|
||||
pass_filenames: false
|
||||
always_run: true
|
||||
- repo: https://github.com/Yelp/detect-secrets
|
||||
rev: v1.5.0
|
||||
hooks:
|
||||
|
||||
2630
cli/poetry.lock
generated
vendored
2630
cli/poetry.lock
generated
vendored
File diff suppressed because it is too large
Load Diff
98
openbb_platform/conftest.py
Normal file
98
openbb_platform/conftest.py
Normal file
@@ -0,0 +1,98 @@
|
||||
"""Root configuration for pytest."""
|
||||
|
||||
# flake8: noqa: S101
|
||||
# pylint: disable=unused-argument
|
||||
|
||||
import os
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
ROOT_DIR = Path(__file__).parent
|
||||
|
||||
|
||||
@pytest.fixture(scope="session", autouse=True)
|
||||
def cleanup_generated_files():
|
||||
"""Clean up generated files and restore original state before and after test session."""
|
||||
reference_file = ROOT_DIR / "core" / "openbb" / "assets" / "reference.json"
|
||||
reference_backup = ROOT_DIR / "core" / "openbb" / "reference.json.original"
|
||||
|
||||
def clean_and_restore():
|
||||
# 1. Remove all files in core/openbb/package except __init__.py
|
||||
package_dir = ROOT_DIR / "core" / "openbb" / "package"
|
||||
if package_dir.exists():
|
||||
for item in package_dir.iterdir():
|
||||
if item.name != "__init__.py":
|
||||
if item.is_file():
|
||||
item.unlink()
|
||||
elif item.is_dir():
|
||||
shutil.rmtree(item)
|
||||
|
||||
# 2. Create backup before first cleanup if it doesn't exist
|
||||
if reference_file.exists() and not reference_backup.exists():
|
||||
shutil.copy2(reference_file, reference_backup)
|
||||
|
||||
# 3. Restore from backup if it exists
|
||||
elif reference_backup.exists() and reference_file.exists():
|
||||
shutil.copy2(reference_backup, reference_file)
|
||||
reference_backup.unlink()
|
||||
|
||||
# Clean before tests
|
||||
clean_and_restore()
|
||||
|
||||
yield
|
||||
|
||||
# Clean after tests
|
||||
clean_and_restore()
|
||||
|
||||
|
||||
@pytest.mark.order(1)
|
||||
def test_repository_state():
|
||||
"""Ensure repository is in clean state before other tests."""
|
||||
# Check that core/openbb/package only contains __init__.py
|
||||
package_dir = ROOT_DIR / "core" / "openbb" / "package"
|
||||
if package_dir.exists():
|
||||
files = [f for f in package_dir.iterdir() if f.is_file()]
|
||||
assert (
|
||||
len(files) <= 1
|
||||
), f"Package directory should only contain __init__.py, found: {[f.name for f in files]}"
|
||||
if files:
|
||||
assert (
|
||||
files[0].name == "__init__.py"
|
||||
), f"Only __init__.py should exist, found: {files[0].name}"
|
||||
|
||||
|
||||
def pytest_configure():
|
||||
"""Set environment variables for testing."""
|
||||
os.environ["OPENBB_AUTO_BUILD"] = "true"
|
||||
|
||||
|
||||
def pytest_collection_modifyitems(config, items):
|
||||
"""Modify test collection to ensure cleanup-dependent tests run first."""
|
||||
# Find tests that should run early (checking clean state)
|
||||
early_tests: list = []
|
||||
other_tests: list = []
|
||||
|
||||
for item in items:
|
||||
# Tests that check repository state should run first
|
||||
if (
|
||||
"repository_state" in item.name.lower()
|
||||
or "extension_map" in item.name.lower()
|
||||
or item.get_closest_marker("order")
|
||||
):
|
||||
early_tests.append(item)
|
||||
else:
|
||||
other_tests.append(item)
|
||||
|
||||
# Sort early tests by their order marker if present
|
||||
early_tests.sort(
|
||||
key=lambda x: (
|
||||
getattr(x.get_closest_marker("order"), "args", [999])[0]
|
||||
if x.get_closest_marker("order")
|
||||
else 999
|
||||
)
|
||||
)
|
||||
|
||||
# Reorder: early tests first, then others
|
||||
items[:] = early_tests + other_tests
|
||||
44580
openbb_platform/core/openbb/assets/reference.json
vendored
44580
openbb_platform/core/openbb/assets/reference.json
vendored
File diff suppressed because one or more lines are too long
@@ -1,142 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
|
||||
from openbb_core.app.static.container import Container
|
||||
|
||||
|
||||
class Extensions(Container):
|
||||
# fmt: off
|
||||
"""
|
||||
Routers:
|
||||
/commodity
|
||||
/crypto
|
||||
/currency
|
||||
/derivatives
|
||||
/economy
|
||||
/equity
|
||||
/etf
|
||||
/fixedincome
|
||||
/index
|
||||
/news
|
||||
/regulators
|
||||
/uscongress
|
||||
|
||||
Extensions:
|
||||
- commodity@1.3.2
|
||||
- crypto@1.4.2
|
||||
- currency@1.4.2
|
||||
- derivatives@1.4.2
|
||||
- economy@1.4.3
|
||||
- equity@1.4.2
|
||||
- etf@1.4.2
|
||||
- fixedincome@1.4.4
|
||||
- index@1.4.2
|
||||
- news@1.4.2
|
||||
- regulators@1.4.3
|
||||
- uscongress@1.0.0
|
||||
|
||||
- benzinga@1.4.2
|
||||
- bls@1.1.3
|
||||
- cftc@1.1.2
|
||||
- congress_gov@1.0.0
|
||||
- econdb@1.3.2
|
||||
- federal_reserve@1.4.4
|
||||
- fmp@1.4.3
|
||||
- fred@1.4.5
|
||||
- imf@1.1.2
|
||||
- intrinio@1.4.2
|
||||
- oecd@1.4.2
|
||||
- polygon@1.4.2
|
||||
- sec@1.4.5
|
||||
- tiingo@1.4.2
|
||||
- tradingeconomics@1.4.2
|
||||
- us_eia@1.1.2
|
||||
- yfinance@1.4.7 """
|
||||
# fmt: on
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@property
|
||||
def commodity(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import commodity
|
||||
|
||||
return commodity.ROUTER_commodity(command_runner=self._command_runner)
|
||||
|
||||
@property
|
||||
def crypto(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import crypto
|
||||
|
||||
return crypto.ROUTER_crypto(command_runner=self._command_runner)
|
||||
|
||||
@property
|
||||
def currency(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import currency
|
||||
|
||||
return currency.ROUTER_currency(command_runner=self._command_runner)
|
||||
|
||||
@property
|
||||
def derivatives(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import derivatives
|
||||
|
||||
return derivatives.ROUTER_derivatives(command_runner=self._command_runner)
|
||||
|
||||
@property
|
||||
def economy(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import economy
|
||||
|
||||
return economy.ROUTER_economy(command_runner=self._command_runner)
|
||||
|
||||
@property
|
||||
def equity(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import equity
|
||||
|
||||
return equity.ROUTER_equity(command_runner=self._command_runner)
|
||||
|
||||
@property
|
||||
def etf(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import etf
|
||||
|
||||
return etf.ROUTER_etf(command_runner=self._command_runner)
|
||||
|
||||
@property
|
||||
def fixedincome(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import fixedincome
|
||||
|
||||
return fixedincome.ROUTER_fixedincome(command_runner=self._command_runner)
|
||||
|
||||
@property
|
||||
def index(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import index
|
||||
|
||||
return index.ROUTER_index(command_runner=self._command_runner)
|
||||
|
||||
@property
|
||||
def news(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import news
|
||||
|
||||
return news.ROUTER_news(command_runner=self._command_runner)
|
||||
|
||||
@property
|
||||
def regulators(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import regulators
|
||||
|
||||
return regulators.ROUTER_regulators(command_runner=self._command_runner)
|
||||
|
||||
@property
|
||||
def uscongress(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import uscongress
|
||||
|
||||
return uscongress.ROUTER_uscongress(command_runner=self._command_runner)
|
||||
@@ -1,405 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_commodity(Container):
|
||||
"""/commodity
|
||||
petroleum_status_report
|
||||
/price
|
||||
short_term_energy_outlook
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def petroleum_status_report(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["eia"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: eia."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""EIA Weekly Petroleum Status Report.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: eia.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
category : Literal['balance_sheet', 'inputs_and_production', 'refiner_blender_net_production', 'crude_petroleum_stocks', 'gasoline_fuel_stocks', 'total_gasoline_by_sub_padd', 'distillate_fuel_oil_stocks', 'imports', 'imports_by_country', 'weekly_estimates', 'spot_prices_crude_gas_heating', 'spot_prices_diesel_jet_fuel_propane', 'retail_prices']
|
||||
The group of data to be returned. The default is the balance sheet. (provider: eia)
|
||||
table : Optional[str]
|
||||
The specific table element within the category to be returned, default is 'stocks', if the category is 'weekly_estimates', else 'all'.
|
||||
Note: Choices represent all available tables from the entire collection and are not all available for every category.
|
||||
Invalid choices will raise a ValidationError with a message indicating the valid choices for the selected category.
|
||||
Choices are:
|
||||
all
|
||||
conventional_gas
|
||||
crude
|
||||
crude_production
|
||||
crude_production_avg
|
||||
diesel
|
||||
ethanol_plant_production
|
||||
ethanol_plant_production_avg
|
||||
exports
|
||||
exports_avg
|
||||
heating_oil
|
||||
imports
|
||||
imports_avg
|
||||
imports_by_country
|
||||
imports_by_country_avg
|
||||
inputs_and_utilization
|
||||
inputs_and_utilization_avg
|
||||
jet_fuel
|
||||
monthly
|
||||
net_imports_inc_spr_avg
|
||||
net_imports_incl_spr
|
||||
net_production
|
||||
net_production_avg
|
||||
net_production_by_product
|
||||
net_production_by_production_avg
|
||||
product_by_region
|
||||
product_by_region_avg
|
||||
product_supplied
|
||||
product_supplied_avg
|
||||
propane
|
||||
rbob
|
||||
refiner_blender_net_production
|
||||
refiner_blender_net_production_avg
|
||||
stocks
|
||||
supply
|
||||
supply_avg
|
||||
ulta_low_sulfur_distillate_reclassification
|
||||
ulta_low_sulfur_distillate_reclassification_avg
|
||||
weekly
|
||||
Multiple comma separated items allowed. (provider: eia)
|
||||
use_cache : bool
|
||||
Subsequent requests for the same source data are cached for the session using ALRU cache. (provider: eia)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[PetroleumStatusReport]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
PetroleumStatusReport
|
||||
---------------------
|
||||
date : date
|
||||
The date of the data.
|
||||
table : Optional[str]
|
||||
Table name for the data.
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
order : Optional[int]
|
||||
Presented order of the data, relative to the table.
|
||||
title : Optional[str]
|
||||
Title of the data.
|
||||
value : Union[int, float]
|
||||
Value of the data.
|
||||
unit : Optional[str]
|
||||
Unit or scale of the data.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> # Get the EIA's Weekly Petroleum Status Report.
|
||||
>>> obb.commodity.petroleum_status_report(provider='eia')
|
||||
>>> # Select the category of data, and filter for a specific table within the report.
|
||||
>>> obb.commodity.petroleum_status_report(category='weekly_estimates', table='imports', provider='eia')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/commodity/petroleum_status_report",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"commodity.petroleum_status_report",
|
||||
("eia",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"category": {
|
||||
"eia": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"balance_sheet",
|
||||
"inputs_and_production",
|
||||
"refiner_blender_net_production",
|
||||
"crude_petroleum_stocks",
|
||||
"gasoline_fuel_stocks",
|
||||
"total_gasoline_by_sub_padd",
|
||||
"distillate_fuel_oil_stocks",
|
||||
"imports",
|
||||
"imports_by_country",
|
||||
"weekly_estimates",
|
||||
"spot_prices_crude_gas_heating",
|
||||
"spot_prices_diesel_jet_fuel_propane",
|
||||
"retail_prices",
|
||||
],
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"eia": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": [
|
||||
"all",
|
||||
"conventional_gas",
|
||||
"crude",
|
||||
"crude_production",
|
||||
"crude_production_avg",
|
||||
"diesel",
|
||||
"ethanol_plant_production",
|
||||
"ethanol_plant_production_avg",
|
||||
"exports",
|
||||
"exports_avg",
|
||||
"heating_oil",
|
||||
"imports",
|
||||
"imports_avg",
|
||||
"imports_by_country",
|
||||
"imports_by_country_avg",
|
||||
"inputs_and_utilization",
|
||||
"inputs_and_utilization_avg",
|
||||
"jet_fuel",
|
||||
"monthly",
|
||||
"net_imports_inc_spr_avg",
|
||||
"net_imports_incl_spr",
|
||||
"net_production",
|
||||
"net_production_avg",
|
||||
"net_production_by_product",
|
||||
"net_production_by_production_avg",
|
||||
"product_by_region",
|
||||
"product_by_region_avg",
|
||||
"product_supplied",
|
||||
"product_supplied_avg",
|
||||
"propane",
|
||||
"rbob",
|
||||
"refiner_blender_net_production",
|
||||
"refiner_blender_net_production_avg",
|
||||
"stocks",
|
||||
"supply",
|
||||
"supply_avg",
|
||||
"ulta_low_sulfur_distillate_reclassification",
|
||||
"ulta_low_sulfur_distillate_reclassification_avg",
|
||||
"weekly",
|
||||
],
|
||||
}
|
||||
},
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@property
|
||||
def price(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import commodity_price
|
||||
|
||||
return commodity_price.ROUTER_commodity_price(
|
||||
command_runner=self._command_runner
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def short_term_energy_outlook(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["eia"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: eia."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Monthly short term (18 month) projections using EIA's STEO model.
|
||||
|
||||
Source: www.eia.gov/steo/
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: eia.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
symbol : Optional[str]
|
||||
Symbol to get data for. If provided, overrides the 'table' parameter to return only the specified symbol from the STEO API. Multiple comma separated items allowed. (provider: eia)
|
||||
table : Literal['01', '02', '03a', '03b', '03c', '03d', '03e', '04a', '04b', '04c', '04d', '05a', '05b', '06', '07a', '07b', '07c', '07d1', '07d2', '07e', '08', '09a', '09b', '09c', '10a', '10b']
|
||||
The specific table within the STEO dataset. Default is '01'. When 'symbol' is provided, this parameter is ignored.
|
||||
01: US Energy Markets Summary
|
||||
02: Nominal Energy Prices
|
||||
03a: World Petroleum and Other Liquid Fuels Production, Consumption, and Inventories
|
||||
03b: Non-OPEC Petroleum and Other Liquid Fuels Production
|
||||
03c: World Petroleum and Other Liquid Fuels Production
|
||||
03d: World Crude Oil Production
|
||||
03e: World Petroleum and Other Liquid Fuels Consumption
|
||||
04a: US Petroleum and Other Liquid Fuels Supply, Consumption, and Inventories
|
||||
04b: US Hydrocarbon Gas Liquids (HGL) and Petroleum Refinery Balances
|
||||
04c: US Regional Motor Gasoline Prices and Inventories
|
||||
04d: US Biofuel Supply, Consumption, and Inventories
|
||||
05a: US Natural Gas Supply, Consumption, and Inventories
|
||||
05b: US Regional Natural Gas Prices
|
||||
06: US Coal Supply, Consumption, and Inventories
|
||||
07a: US Electricity Industry Overview
|
||||
07b: US Regional Electricity Retail Sales
|
||||
07c: US Regional Electricity Prices
|
||||
07d1: US Regional Electricity Generation, Electric Power Sector
|
||||
07d2: US Regional Electricity Generation, Electric Power Sector, continued
|
||||
07e: US Electricity Generating Capacity
|
||||
08: US Renewable Energy Consumption
|
||||
09a: US Macroeconomic Indicators and CO2 Emissions
|
||||
09b: US Regional Macroeconomic Data
|
||||
09c: US Regional Weather Data
|
||||
10a: Drilling Productivity Metrics
|
||||
10b: Crude Oil and Natural Gas Production from Shale and Tight Formations (provider: eia)
|
||||
frequency : Literal['month', 'quarter', 'annual']
|
||||
The frequency of the data. Default is 'month'. (provider: eia)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[ShortTermEnergyOutlook]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
ShortTermEnergyOutlook
|
||||
----------------------
|
||||
date : date
|
||||
The date of the data.
|
||||
table : Optional[str]
|
||||
Table name for the data.
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
order : Optional[int]
|
||||
Presented order of the data, relative to the table.
|
||||
title : Optional[str]
|
||||
Title of the data.
|
||||
value : Union[int, float]
|
||||
Value of the data.
|
||||
unit : Optional[str]
|
||||
Unit or scale of the data.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> # Get the EIA's Short Term Energy Outlook.
|
||||
>>> obb.commodity.short_term_energy_outlook(provider='eia')
|
||||
>>> # Select the specific table of data from the STEO. Table 03d is World Crude Oil Production.
|
||||
>>> obb.commodity.short_term_energy_outlook(table='03d', provider='eia')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/commodity/short_term_energy_outlook",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"commodity.short_term_energy_outlook",
|
||||
("eia",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"symbol": {
|
||||
"eia": {"multiple_items_allowed": True, "choices": None}
|
||||
},
|
||||
"table": {
|
||||
"eia": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"01",
|
||||
"02",
|
||||
"03a",
|
||||
"03b",
|
||||
"03c",
|
||||
"03d",
|
||||
"03e",
|
||||
"04a",
|
||||
"04b",
|
||||
"04c",
|
||||
"04d",
|
||||
"05a",
|
||||
"05b",
|
||||
"06",
|
||||
"07a",
|
||||
"07b",
|
||||
"07c",
|
||||
"07d1",
|
||||
"07d2",
|
||||
"07e",
|
||||
"08",
|
||||
"09a",
|
||||
"09b",
|
||||
"09c",
|
||||
"10a",
|
||||
"10b",
|
||||
],
|
||||
}
|
||||
},
|
||||
"frequency": {
|
||||
"eia": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": ["month", "quarter", "annual"],
|
||||
}
|
||||
},
|
||||
},
|
||||
)
|
||||
)
|
||||
@@ -1,206 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_commodity_price(Container):
|
||||
"""/commodity/price
|
||||
spot
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def spot(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Commodity Spot Prices.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
commodity : Literal['wti', 'brent', 'natural_gas', 'jet_fuel', 'propane', 'heating_oil', 'diesel_gulf_coast', 'diesel_ny_harbor', 'diesel_la', 'gasoline_ny_harbor', 'gasoline_gulf_coast', 'rbob', 'all']
|
||||
Commodity name associated with the EIA spot price commodity data, default is 'all'. (provider: fred)
|
||||
frequency : Optional[Literal['a', 'q', 'm', 'w', 'd', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']]
|
||||
Frequency aggregation to convert high frequency data to lower frequency.
|
||||
None = No change
|
||||
a = Annual
|
||||
q = Quarterly
|
||||
m = Monthly
|
||||
w = Weekly
|
||||
d = Daily
|
||||
wef = Weekly, Ending Friday
|
||||
weth = Weekly, Ending Thursday
|
||||
wew = Weekly, Ending Wednesday
|
||||
wetu = Weekly, Ending Tuesday
|
||||
wem = Weekly, Ending Monday
|
||||
wesu = Weekly, Ending Sunday
|
||||
wesa = Weekly, Ending Saturday
|
||||
bwew = Biweekly, Ending Wednesday
|
||||
bwem = Biweekly, Ending Monday
|
||||
(provider: fred)
|
||||
aggregation_method : Literal['avg', 'sum', 'eop']
|
||||
A key that indicates the aggregation method used for frequency aggregation.
|
||||
This parameter has no affect if the frequency parameter is not set.
|
||||
avg = Average
|
||||
sum = Sum
|
||||
eop = End of Period
|
||||
(provider: fred)
|
||||
transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']]
|
||||
Transformation type
|
||||
None = No transformation
|
||||
chg = Change
|
||||
ch1 = Change from Year Ago
|
||||
pch = Percent Change
|
||||
pc1 = Percent Change from Year Ago
|
||||
pca = Compounded Annual Rate of Change
|
||||
cch = Continuously Compounded Rate of Change
|
||||
cca = Continuously Compounded Annual Rate of Change
|
||||
log = Natural Log
|
||||
(provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CommoditySpotPrices]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CommoditySpotPrices
|
||||
-------------------
|
||||
date : date
|
||||
The date of the data.
|
||||
symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data.
|
||||
commodity : Optional[str]
|
||||
Commodity name.
|
||||
price : float
|
||||
Price of the commodity.
|
||||
unit : Optional[str]
|
||||
Unit of the commodity price.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.commodity.price.spot(provider='fred')
|
||||
>>> obb.commodity.price.spot(provider='fred', commodity='wti')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/commodity/price/spot",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"commodity.price.spot",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"commodity": {
|
||||
"fred": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"wti",
|
||||
"brent",
|
||||
"natural_gas",
|
||||
"jet_fuel",
|
||||
"propane",
|
||||
"heating_oil",
|
||||
"diesel_gulf_coast",
|
||||
"diesel_ny_harbor",
|
||||
"diesel_la",
|
||||
"gasoline_ny_harbor",
|
||||
"gasoline_gulf_coast",
|
||||
"rbob",
|
||||
"all",
|
||||
],
|
||||
}
|
||||
},
|
||||
"frequency": {
|
||||
"fred": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"a",
|
||||
"q",
|
||||
"m",
|
||||
"w",
|
||||
"d",
|
||||
"wef",
|
||||
"weth",
|
||||
"wew",
|
||||
"wetu",
|
||||
"wem",
|
||||
"wesu",
|
||||
"wesa",
|
||||
"bwew",
|
||||
"bwem",
|
||||
],
|
||||
}
|
||||
},
|
||||
"aggregation_method": {
|
||||
"fred": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": ["avg", "sum", "eop"],
|
||||
}
|
||||
},
|
||||
"transform": {
|
||||
"fred": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"chg",
|
||||
"ch1",
|
||||
"pch",
|
||||
"pc1",
|
||||
"pca",
|
||||
"cch",
|
||||
"cca",
|
||||
"log",
|
||||
],
|
||||
}
|
||||
},
|
||||
},
|
||||
)
|
||||
)
|
||||
@@ -1,102 +0,0 @@
|
||||
### 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
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp.
|
||||
query : Optional[str]
|
||||
Search query.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CryptoSearch]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
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,
|
||||
)
|
||||
)
|
||||
@@ -1,190 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_price(Container):
|
||||
"""/crypto/price
|
||||
historical
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def historical(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
Union[str, list[str]],
|
||||
OpenBBField(
|
||||
description="Symbol to get data for. Can use CURR1-CURR2 or CURR1CURR2 format. Multiple comma separated items allowed for provider(s): fmp, polygon, tiingo, yfinance."
|
||||
),
|
||||
],
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fmp", "polygon", "tiingo", "yfinance"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, polygon, tiingo, yfinance."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get historical price data for cryptocurrency pair(s) within a provider.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, polygon, tiingo, yfinance.
|
||||
symbol : Union[str, list[str]]
|
||||
Symbol to get data for. Can use CURR1-CURR2 or CURR1CURR2 format. Multiple comma separated items allowed for provider(s): fmp, polygon, tiingo, yfinance.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
interval : str
|
||||
Time interval of the data to return. (provider: fmp, polygon, tiingo, yfinance)
|
||||
Choices for fmp: '1m', '5m', '15m', '30m', '1h', '4h', '1d'
|
||||
Choices for yfinance: '1m', '2m', '5m', '15m', '30m', '60m', '90m', '1h', '1d', '5d', '1W', '1M', '1Q'
|
||||
sort : Literal['asc', 'desc']
|
||||
Sort order of the data. This impacts the results in combination with the 'limit' parameter. The results are always returned in ascending order by date. (provider: polygon)
|
||||
limit : int
|
||||
The number of data entries to return. (provider: polygon)
|
||||
exchanges : Union[list[str], str, None]
|
||||
To limit the query to a subset of exchanges e.g. ['POLONIEX', 'GDAX'] Multiple comma separated items allowed. (provider: tiingo)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CryptoHistorical]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CryptoHistorical
|
||||
----------------
|
||||
date : Union[date, datetime]
|
||||
The date of the data.
|
||||
open : float
|
||||
The open price.
|
||||
high : float
|
||||
The high price.
|
||||
low : float
|
||||
The low price.
|
||||
close : float
|
||||
The close price.
|
||||
volume : Optional[float]
|
||||
The trading volume.
|
||||
vwap : Optional[float]
|
||||
Volume Weighted Average Price over the period.
|
||||
adj_close : Optional[float]
|
||||
The adjusted close price. (provider: fmp)
|
||||
change : Optional[float]
|
||||
Change in the price from the previous close. (provider: fmp)
|
||||
change_percent : Optional[float]
|
||||
Change in the price from the previous close, as a normalized percent. (provider: fmp)
|
||||
transactions : Optional[Union[Annotated[int, Gt(gt=0)], int]]
|
||||
Number of transactions for the symbol in the time period. (provider: polygon, tiingo)
|
||||
volume_notional : Optional[float]
|
||||
The last size done for the asset on the specific date in the quote currency. The volume of the asset on the specific date in the quote currency. (provider: tiingo)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.crypto.price.historical(symbol='BTCUSD', provider='fmp')
|
||||
>>> obb.crypto.price.historical(symbol='BTCUSD', start_date='2024-01-01', end_date='2024-01-31', provider='fmp')
|
||||
>>> obb.crypto.price.historical(symbol='BTCUSD,ETHUSD', start_date='2024-01-01', end_date='2024-01-31', provider='polygon')
|
||||
>>> # Get monthly historical prices from Yahoo Finance for Ethereum.
|
||||
>>> obb.crypto.price.historical(symbol='ETH-USD', interval='1m', start_date='2024-01-01', end_date='2024-12-31', provider='yfinance')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/crypto/price/historical",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"crypto.price.historical",
|
||||
("fmp", "polygon", "tiingo", "yfinance"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"symbol": {
|
||||
"fmp": {"multiple_items_allowed": True, "choices": None},
|
||||
"polygon": {"multiple_items_allowed": True, "choices": None},
|
||||
"tiingo": {"multiple_items_allowed": True, "choices": None},
|
||||
"yfinance": {"multiple_items_allowed": True, "choices": None},
|
||||
},
|
||||
"interval": {
|
||||
"fmp": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": ["1m", "5m", "15m", "30m", "1h", "4h", "1d"],
|
||||
},
|
||||
"tiingo": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"1m",
|
||||
"5m",
|
||||
"15m",
|
||||
"30m",
|
||||
"90m",
|
||||
"1h",
|
||||
"2h",
|
||||
"4h",
|
||||
"1d",
|
||||
"7d",
|
||||
"30d",
|
||||
],
|
||||
},
|
||||
"yfinance": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"1m",
|
||||
"2m",
|
||||
"5m",
|
||||
"15m",
|
||||
"30m",
|
||||
"60m",
|
||||
"90m",
|
||||
"1h",
|
||||
"1d",
|
||||
"5d",
|
||||
"1W",
|
||||
"1M",
|
||||
"1Q",
|
||||
],
|
||||
},
|
||||
},
|
||||
"exchanges": {
|
||||
"tiingo": {"multiple_items_allowed": True, "choices": None}
|
||||
},
|
||||
},
|
||||
)
|
||||
)
|
||||
@@ -1,296 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_currency(Container):
|
||||
"""/currency
|
||||
/price
|
||||
search
|
||||
snapshots
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@property
|
||||
def price(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import currency_price
|
||||
|
||||
return currency_price.ROUTER_currency_price(command_runner=self._command_runner)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def search(
|
||||
self,
|
||||
query: Annotated[
|
||||
Optional[str],
|
||||
OpenBBField(description="Query to search for currency pairs."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fmp", "intrinio", "polygon"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, intrinio, polygon."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Currency Search.
|
||||
|
||||
Search available currency pairs.
|
||||
Currency pairs are the national currencies from two countries coupled for trading on
|
||||
the foreign exchange (FX) marketplace.
|
||||
Both currencies will have exchange rates on which the trade will have its position basis.
|
||||
All trading within the forex market, whether selling, buying, or trading, will take place through currency pairs.
|
||||
(ref: Investopedia)
|
||||
Major currency pairs include pairs such as EUR/USD, USD/JPY, GBP/USD, etc.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, intrinio, polygon.
|
||||
query : Optional[str]
|
||||
Query to search for currency pairs.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CurrencyPairs]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CurrencyPairs
|
||||
-------------
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
name : Optional[str]
|
||||
Name of the currency pair.
|
||||
currency : Optional[str]
|
||||
Base currency of the currency pair. (provider: fmp)
|
||||
stock_exchange : Optional[str]
|
||||
Stock exchange of the currency pair. (provider: fmp)
|
||||
exchange_short_name : Optional[str]
|
||||
Short name of the stock exchange of the currency pair. (provider: fmp)
|
||||
base_currency : Optional[str]
|
||||
ISO 4217 currency code of the base currency. (provider: intrinio)
|
||||
quote_currency : Optional[str]
|
||||
ISO 4217 currency code of the quote currency. (provider: intrinio)
|
||||
currency_symbol : Optional[str]
|
||||
The symbol of the quote currency. (provider: polygon)
|
||||
base_currency_symbol : Optional[str]
|
||||
The symbol of the base currency. (provider: polygon)
|
||||
base_currency_name : Optional[str]
|
||||
Name of the base currency. (provider: polygon)
|
||||
market : Optional[str]
|
||||
Name of the trading market. Always 'fx'. (provider: polygon)
|
||||
locale : Optional[str]
|
||||
Locale of the currency pair. (provider: polygon)
|
||||
last_updated : Optional[date]
|
||||
The date the reference data was last updated. (provider: polygon)
|
||||
delisted : Optional[date]
|
||||
The date the item was delisted. (provider: polygon)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.currency.search(provider='fmp')
|
||||
>>> # Search for 'EUR' currency pair using 'intrinio' as provider.
|
||||
>>> obb.currency.search(provider='intrinio', query='EUR')
|
||||
>>> # Search for terms using 'polygon' as provider.
|
||||
>>> obb.currency.search(provider='polygon', query='EUR')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/currency/search",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"currency.search",
|
||||
("fmp", "intrinio", "polygon"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"query": query,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def snapshots(
|
||||
self,
|
||||
base: Annotated[
|
||||
Union[str, list[str]],
|
||||
OpenBBField(
|
||||
description="The base currency symbol. Multiple comma separated items allowed for provider(s): fmp, polygon."
|
||||
),
|
||||
] = "usd",
|
||||
quote_type: Annotated[
|
||||
Literal["direct", "indirect"],
|
||||
OpenBBField(
|
||||
description="Whether the quote is direct or indirect. Selecting 'direct' will return the exchange rate as the amount of domestic currency required to buy one unit of the foreign currency. Selecting 'indirect' (default) will return the exchange rate as the amount of foreign currency required to buy one unit of the domestic currency."
|
||||
),
|
||||
] = "indirect",
|
||||
counter_currencies: Annotated[
|
||||
Union[str, list[str], None],
|
||||
OpenBBField(
|
||||
description="An optional list of counter currency symbols to filter for. None returns all."
|
||||
),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fmp", "polygon"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, polygon."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Snapshots of currency exchange rates from an indirect or direct perspective of a base currency.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, polygon.
|
||||
base : Union[str, list[str]]
|
||||
The base currency symbol. Multiple comma separated items allowed for provider(s): fmp, polygon.
|
||||
quote_type : Literal['direct', 'indirect']
|
||||
Whether the quote is direct or indirect. Selecting 'direct' will return the exchange rate as the amount of domestic currency required to buy one unit of the foreign currency. Selecting 'indirect' (default) will return the exchange rate as the amount of foreign currency required to buy one unit of the domestic currency.
|
||||
counter_currencies : Union[str, list[str], None]
|
||||
An optional list of counter currency symbols to filter for. None returns all.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CurrencySnapshots]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CurrencySnapshots
|
||||
-----------------
|
||||
base_currency : str
|
||||
The base, or domestic, currency.
|
||||
counter_currency : str
|
||||
The counter, or foreign, currency.
|
||||
last_rate : float
|
||||
The exchange rate, relative to the base currency. Rates are expressed as the amount of foreign currency received from selling one unit of the base currency, or the quantity of foreign currency required to purchase one unit of the domestic currency. To inverse the perspective, set the 'quote_type' parameter as 'direct'.
|
||||
open : Optional[float]
|
||||
The open price.
|
||||
high : Optional[float]
|
||||
The high price.
|
||||
low : Optional[float]
|
||||
The low price.
|
||||
close : Optional[float]
|
||||
The close price.
|
||||
volume : Optional[int]
|
||||
The trading volume.
|
||||
prev_close : Optional[float]
|
||||
The previous close price.
|
||||
change : Optional[float]
|
||||
The change in the price from the previous close. (provider: fmp, polygon)
|
||||
change_percent : Optional[float]
|
||||
The change in the price from the previous close, as a normalized percent. (provider: fmp);
|
||||
The percentage change in price from the previous day. (provider: polygon)
|
||||
ma50 : Optional[float]
|
||||
The 50-day moving average. (provider: fmp)
|
||||
ma200 : Optional[float]
|
||||
The 200-day moving average. (provider: fmp)
|
||||
year_high : Optional[float]
|
||||
The 52-week high. (provider: fmp)
|
||||
year_low : Optional[float]
|
||||
The 52-week low. (provider: fmp)
|
||||
last_rate_timestamp : Optional[datetime]
|
||||
The timestamp of the last rate. (provider: fmp)
|
||||
vwap : Optional[float]
|
||||
The volume-weighted average price. (provider: polygon)
|
||||
prev_open : Optional[float]
|
||||
The previous day's opening price. (provider: polygon)
|
||||
prev_high : Optional[float]
|
||||
The previous day's high price. (provider: polygon)
|
||||
prev_low : Optional[float]
|
||||
The previous day's low price. (provider: polygon)
|
||||
prev_volume : Optional[float]
|
||||
The previous day's volume. (provider: polygon)
|
||||
prev_vwap : Optional[float]
|
||||
The previous day's VWAP. (provider: polygon)
|
||||
bid : Optional[float]
|
||||
The current bid price. (provider: polygon)
|
||||
ask : Optional[float]
|
||||
The current ask price. (provider: polygon)
|
||||
minute_open : Optional[float]
|
||||
The open price from the most recent minute bar. (provider: polygon)
|
||||
minute_high : Optional[float]
|
||||
The high price from the most recent minute bar. (provider: polygon)
|
||||
minute_low : Optional[float]
|
||||
The low price from the most recent minute bar. (provider: polygon)
|
||||
minute_close : Optional[float]
|
||||
The close price from the most recent minute bar. (provider: polygon)
|
||||
minute_volume : Optional[float]
|
||||
The volume from the most recent minute bar. (provider: polygon)
|
||||
minute_vwap : Optional[float]
|
||||
The VWAP from the most recent minute bar. (provider: polygon)
|
||||
minute_transactions : Optional[float]
|
||||
The number of transactions in the most recent minute bar. (provider: polygon)
|
||||
quote_timestamp : Optional[datetime]
|
||||
The timestamp of the last quote. (provider: polygon)
|
||||
minute_timestamp : Optional[datetime]
|
||||
The timestamp for the start of the most recent minute bar. (provider: polygon)
|
||||
last_updated : Optional[datetime]
|
||||
The last time the data was updated. (provider: polygon)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.currency.snapshots(provider='fmp')
|
||||
>>> # Get exchange rates from USD and XAU to EUR, JPY, and GBP using 'fmp' as provider.
|
||||
>>> obb.currency.snapshots(provider='fmp', base='USD,XAU', counter_currencies='EUR,JPY,GBP', quote_type='indirect')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/currency/snapshots",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"currency.snapshots",
|
||||
("fmp", "polygon"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"base": base,
|
||||
"quote_type": quote_type,
|
||||
"counter_currencies": counter_currencies,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"base": {
|
||||
"fmp": {"multiple_items_allowed": True, "choices": None},
|
||||
"polygon": {"multiple_items_allowed": True, "choices": None},
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
@@ -1,190 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_currency_price(Container):
|
||||
"""/currency/price
|
||||
historical
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def historical(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
Union[str, list[str]],
|
||||
OpenBBField(
|
||||
description="Symbol to get data for. Can use CURR1-CURR2 or CURR1CURR2 format. Multiple comma separated items allowed for provider(s): fmp, polygon, tiingo, yfinance."
|
||||
),
|
||||
],
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fmp", "polygon", "tiingo", "yfinance"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, polygon, tiingo, yfinance."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Currency Historical Price. Currency historical data.
|
||||
|
||||
Currency historical prices refer to the past exchange rates of one currency against
|
||||
another over a specific period.
|
||||
This data provides insight into the fluctuations and trends in the foreign exchange market,
|
||||
helping analysts, traders, and economists understand currency performance,
|
||||
evaluate economic health, and make predictions about future movements.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, polygon, tiingo, yfinance.
|
||||
symbol : Union[str, list[str]]
|
||||
Symbol to get data for. Can use CURR1-CURR2 or CURR1CURR2 format. Multiple comma separated items allowed for provider(s): fmp, polygon, tiingo, yfinance.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
interval : str
|
||||
Time interval of the data to return. (provider: fmp, polygon, tiingo, yfinance)
|
||||
Choices for fmp: '1m', '5m', '15m', '30m', '1h', '4h', '1d'
|
||||
Choices for yfinance: '1m', '2m', '5m', '15m', '30m', '60m', '90m', '1h', '1d', '5d', '1W', '1M', '1Q'
|
||||
sort : Literal['asc', 'desc']
|
||||
Sort order of the data. This impacts the results in combination with the 'limit' parameter. The results are always returned in ascending order by date. (provider: polygon)
|
||||
limit : int
|
||||
The number of data entries to return. (provider: polygon)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CurrencyHistorical]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CurrencyHistorical
|
||||
------------------
|
||||
date : Union[date, datetime]
|
||||
The date of the data.
|
||||
open : float
|
||||
The open price.
|
||||
high : float
|
||||
The high price.
|
||||
low : float
|
||||
The low price.
|
||||
close : float
|
||||
The close price.
|
||||
volume : Optional[float]
|
||||
The trading volume.
|
||||
vwap : Optional[Annotated[float, Gt(gt=0)]]
|
||||
Volume Weighted Average Price over the period.
|
||||
adj_close : Optional[float]
|
||||
The adjusted close price. (provider: fmp)
|
||||
change : Optional[float]
|
||||
Change in the price from the previous close. (provider: fmp)
|
||||
change_percent : Optional[float]
|
||||
Change in the price from the previous close, as a normalized percent. (provider: fmp)
|
||||
transactions : Optional[Annotated[int, Gt(gt=0)]]
|
||||
Number of transactions for the symbol in the time period. (provider: polygon)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.currency.price.historical(symbol='EURUSD', provider='fmp')
|
||||
>>> # Filter historical data with specific start and end date.
|
||||
>>> obb.currency.price.historical(symbol='EURUSD', start_date='2023-01-01', end_date='2023-12-31', provider='fmp')
|
||||
>>> # Get data with different granularity.
|
||||
>>> obb.currency.price.historical(symbol='EURUSD', provider='polygon', interval='15m')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/currency/price/historical",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"currency.price.historical",
|
||||
("fmp", "polygon", "tiingo", "yfinance"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"symbol": {
|
||||
"fmp": {"multiple_items_allowed": True, "choices": None},
|
||||
"polygon": {"multiple_items_allowed": True, "choices": None},
|
||||
"tiingo": {"multiple_items_allowed": True, "choices": None},
|
||||
"yfinance": {"multiple_items_allowed": True, "choices": None},
|
||||
},
|
||||
"interval": {
|
||||
"fmp": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": ["1m", "5m", "15m", "30m", "1h", "4h", "1d"],
|
||||
},
|
||||
"tiingo": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"1m",
|
||||
"5m",
|
||||
"15m",
|
||||
"30m",
|
||||
"90m",
|
||||
"1h",
|
||||
"2h",
|
||||
"4h",
|
||||
"1d",
|
||||
"5d",
|
||||
"21d",
|
||||
],
|
||||
},
|
||||
"yfinance": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"1m",
|
||||
"2m",
|
||||
"5m",
|
||||
"15m",
|
||||
"30m",
|
||||
"60m",
|
||||
"90m",
|
||||
"1h",
|
||||
"1d",
|
||||
"5d",
|
||||
"1W",
|
||||
"1M",
|
||||
"1Q",
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
)
|
||||
@@ -1,32 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
|
||||
from openbb_core.app.static.container import Container
|
||||
|
||||
|
||||
class ROUTER_derivatives(Container):
|
||||
"""/derivatives
|
||||
/futures
|
||||
/options
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@property
|
||||
def futures(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import derivatives_futures
|
||||
|
||||
return derivatives_futures.ROUTER_derivatives_futures(
|
||||
command_runner=self._command_runner
|
||||
)
|
||||
|
||||
@property
|
||||
def options(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import derivatives_options
|
||||
|
||||
return derivatives_options.ROUTER_derivatives_options(
|
||||
command_runner=self._command_runner
|
||||
)
|
||||
@@ -1,214 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_derivatives_futures(Container):
|
||||
"""/derivatives/futures
|
||||
curve
|
||||
historical
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def curve(
|
||||
self,
|
||||
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
|
||||
date: Annotated[
|
||||
Union[str, datetime.date, None, list[Union[str, datetime.date, None]]],
|
||||
OpenBBField(
|
||||
description="A specific date to get data for. Multiple comma separated items allowed for provider(s): yfinance."
|
||||
),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["yfinance"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: yfinance."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Futures Term Structure, current or historical.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: yfinance.
|
||||
symbol : str
|
||||
Symbol to get data for.
|
||||
date : Union[str, date, None, list[Union[str, date, None]]]
|
||||
A specific date to get data for. Multiple comma separated items allowed for provider(s): yfinance.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[FuturesCurve]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
FuturesCurve
|
||||
------------
|
||||
date : Optional[date]
|
||||
The date of the data.
|
||||
expiration : str
|
||||
Futures expiration month.
|
||||
price : Optional[float]
|
||||
The price of the futures contract.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.derivatives.futures.curve(symbol='NG', provider='yfinance')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/derivatives/futures/curve",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"derivatives.futures.curve",
|
||||
("yfinance",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
"date": date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"date": {
|
||||
"yfinance": {"multiple_items_allowed": True, "choices": None}
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def historical(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
Union[str, list[str]],
|
||||
OpenBBField(
|
||||
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): yfinance."
|
||||
),
|
||||
],
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
expiration: Annotated[
|
||||
Optional[str],
|
||||
OpenBBField(description="Future expiry date with format YYYY-MM"),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["yfinance"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: yfinance."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Historical futures prices.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: yfinance.
|
||||
symbol : Union[str, list[str]]
|
||||
Symbol to get data for. Multiple comma separated items allowed for provider(s): yfinance.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
expiration : Optional[str]
|
||||
Future expiry date with format YYYY-MM
|
||||
interval : Literal['1m', '2m', '5m', '15m', '30m', '60m', '90m', '1h', '1d', '5d', '1W', '1M', '1Q']
|
||||
Time interval of the data to return. (provider: yfinance)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[FuturesHistorical]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
FuturesHistorical
|
||||
-----------------
|
||||
date : datetime
|
||||
The date of the data.
|
||||
open : float
|
||||
The open price.
|
||||
high : float
|
||||
The high price.
|
||||
low : float
|
||||
The low price.
|
||||
close : float
|
||||
The close price.
|
||||
volume : float
|
||||
The trading volume.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.derivatives.futures.historical(symbol='ES', provider='yfinance')
|
||||
>>> # Enter multiple symbols.
|
||||
>>> obb.derivatives.futures.historical(symbol='ES,NQ', provider='yfinance')
|
||||
>>> # Enter expiration dates as "YYYY-MM".
|
||||
>>> obb.derivatives.futures.historical(symbol='ES', provider='yfinance', expiration='2025-12')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/derivatives/futures/historical",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"derivatives.futures.historical",
|
||||
("yfinance",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
"expiration": expiration,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"symbol": {
|
||||
"yfinance": {"multiple_items_allowed": True, "choices": None}
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
@@ -1,606 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
from typing import Any, Literal, Optional, Union
|
||||
|
||||
from numpy import ndarray
|
||||
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 openbb_core.provider.abstract.data import Data
|
||||
from pandas import DataFrame, Series
|
||||
from typing_extensions import Annotated
|
||||
|
||||
|
||||
class ROUTER_derivatives_options(Container):
|
||||
"""/derivatives/options
|
||||
chains
|
||||
snapshots
|
||||
surface
|
||||
unusual
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def chains(
|
||||
self,
|
||||
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
|
||||
provider: Annotated[
|
||||
Optional[Literal["intrinio", "yfinance"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: intrinio, yfinance."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get the complete options chain for a ticker.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: intrinio, yfinance.
|
||||
symbol : str
|
||||
Symbol to get data for.
|
||||
delay : Literal['eod', 'realtime', 'delayed']
|
||||
Whether to return delayed, realtime, or eod data. (provider: intrinio)
|
||||
date : Optional[date]
|
||||
The end-of-day date for options chains data. (provider: intrinio)
|
||||
option_type : Optional[Literal['call', 'put']]
|
||||
The option type, call or put, 'None' is both (default). (provider: intrinio)
|
||||
moneyness : Literal['otm', 'itm', 'all']
|
||||
Return only contracts that are in or out of the money, default is 'all'. Parameter is ignored when a date is supplied. (provider: intrinio)
|
||||
strike_gt : Optional[int]
|
||||
Return options with a strike price greater than the given value. Parameter is ignored when a date is supplied. (provider: intrinio)
|
||||
strike_lt : Optional[int]
|
||||
Return options with a strike price less than the given value. Parameter is ignored when a date is supplied. (provider: intrinio)
|
||||
volume_gt : Optional[int]
|
||||
Return options with a volume greater than the given value. Parameter is ignored when a date is supplied. (provider: intrinio)
|
||||
volume_lt : Optional[int]
|
||||
Return options with a volume less than the given value. Parameter is ignored when a date is supplied. (provider: intrinio)
|
||||
oi_gt : Optional[int]
|
||||
Return options with an open interest greater than the given value. Parameter is ignored when a date is supplied. (provider: intrinio)
|
||||
oi_lt : Optional[int]
|
||||
Return options with an open interest less than the given value. Parameter is ignored when a date is supplied. (provider: intrinio)
|
||||
model : Literal['black_scholes', 'bjerk']
|
||||
The pricing model to use for options chains data, default is 'black_scholes'. Parameter is ignored when a date is supplied. (provider: intrinio)
|
||||
show_extended_price : bool
|
||||
Whether to include OHLC type fields, default is True. Parameter is ignored when a date is supplied. (provider: intrinio)
|
||||
include_related_symbols : bool
|
||||
Include related symbols that end in a 1 or 2 because of a corporate action, default is False. (provider: intrinio)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : OptionsChains
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
OptionsChains
|
||||
-------------
|
||||
underlying_symbol : list[Optional[str]]
|
||||
Underlying symbol for the option.
|
||||
underlying_price : list[Optional[float]]
|
||||
Price of the underlying stock.
|
||||
contract_symbol : list[str]
|
||||
Contract symbol for the option.
|
||||
eod_date : list[Optional[date]]
|
||||
Date for which the options chains are returned.
|
||||
expiration : list[date]
|
||||
Expiration date of the contract.
|
||||
dte : list[Optional[int]]
|
||||
Days to expiration of the contract.
|
||||
strike : list[float]
|
||||
Strike price of the contract.
|
||||
option_type : list[str]
|
||||
Call or Put.
|
||||
contract_size : list[Union[int, float]]
|
||||
Number of underlying units per contract.
|
||||
open_interest : list[Union[int, float]]
|
||||
Open interest on the contract.
|
||||
volume : list[Union[int, float]]
|
||||
The trading volume.
|
||||
theoretical_price : list[Optional[float]]
|
||||
Theoretical value of the option.
|
||||
last_trade_price : list[Optional[float]]
|
||||
Last trade price of the option.
|
||||
last_trade_size : list[Union[int, float]]
|
||||
Last trade size of the option.
|
||||
last_trade_time : list[Optional[datetime]]
|
||||
The timestamp of the last trade.
|
||||
tick : list[Optional[str]]
|
||||
Whether the last tick was up or down in price.
|
||||
bid : list[Optional[float]]
|
||||
Current bid price for the option.
|
||||
bid_size : list[Union[int, float]]
|
||||
Bid size for the option.
|
||||
bid_time : list[Optional[datetime]]
|
||||
The timestamp of the bid price.
|
||||
bid_exchange : list[Optional[str]]
|
||||
The exchange of the bid price.
|
||||
ask : list[Optional[float]]
|
||||
Current ask price for the option.
|
||||
ask_size : list[Union[int, float]]
|
||||
Ask size for the option.
|
||||
ask_time : list[Optional[datetime]]
|
||||
The timestamp of the ask price.
|
||||
ask_exchange : list[Optional[str]]
|
||||
The exchange of the ask price.
|
||||
mark : list[Optional[float]]
|
||||
The mid-price between the latest bid and ask.
|
||||
open : list[Optional[float]]
|
||||
The open price.
|
||||
open_bid : list[Optional[float]]
|
||||
The opening bid price for the option that day.
|
||||
open_ask : list[Optional[float]]
|
||||
The opening ask price for the option that day.
|
||||
high : list[Optional[float]]
|
||||
The high price.
|
||||
bid_high : list[Optional[float]]
|
||||
The highest bid price for the option that day.
|
||||
ask_high : list[Optional[float]]
|
||||
The highest ask price for the option that day.
|
||||
low : list[Optional[float]]
|
||||
The low price.
|
||||
bid_low : list[Optional[float]]
|
||||
The lowest bid price for the option that day.
|
||||
ask_low : list[Optional[float]]
|
||||
The lowest ask price for the option that day.
|
||||
close : list[Optional[float]]
|
||||
The close price.
|
||||
close_size : list[Union[int, float]]
|
||||
The closing trade size for the option that day.
|
||||
close_time : list[Optional[datetime]]
|
||||
The time of the closing price for the option that day.
|
||||
close_bid : list[Optional[float]]
|
||||
The closing bid price for the option that day.
|
||||
close_bid_size : list[Union[int, float]]
|
||||
The closing bid size for the option that day.
|
||||
close_bid_time : list[Optional[datetime]]
|
||||
The time of the bid closing price for the option that day.
|
||||
close_ask : list[Optional[float]]
|
||||
The closing ask price for the option that day.
|
||||
close_ask_size : list[Union[int, float]]
|
||||
The closing ask size for the option that day.
|
||||
close_ask_time : list[Optional[datetime]]
|
||||
The time of the ask closing price for the option that day.
|
||||
prev_close : list[Optional[float]]
|
||||
The previous close price.
|
||||
change : list[Optional[float]]
|
||||
The change in the price of the option.
|
||||
change_percent : list[Optional[float]]
|
||||
Change, in normalized percentage points, of the option.
|
||||
implied_volatility : list[Optional[float]]
|
||||
Implied volatility of the option.
|
||||
delta : list[Optional[float]]
|
||||
Delta of the option.
|
||||
gamma : list[Optional[float]]
|
||||
Gamma of the option.
|
||||
theta : list[Optional[float]]
|
||||
Theta of the option.
|
||||
vega : list[Optional[float]]
|
||||
Vega of the option.
|
||||
rho : list[Optional[float]]
|
||||
Rho of the option.
|
||||
in_the_money : list[Optional[bool]]
|
||||
Whether the option is in the money. (provider: yfinance)
|
||||
currency : list[Optional[str]]
|
||||
Currency of the option. (provider: yfinance)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.derivatives.options.chains(symbol='AAPL', provider='intrinio')
|
||||
>>> # Use the "date" parameter to get the end-of-day-data for a specific date, where supported.
|
||||
>>> obb.derivatives.options.chains(symbol='AAPL', date='2023-01-25', provider='intrinio')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/derivatives/options/chains",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"derivatives.options.chains",
|
||||
("intrinio", "yfinance"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"delay": {
|
||||
"intrinio": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": ["eod", "realtime", "delayed"],
|
||||
}
|
||||
},
|
||||
"option_type": {
|
||||
"intrinio": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": ["call", "put"],
|
||||
}
|
||||
},
|
||||
"moneyness": {
|
||||
"intrinio": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": ["otm", "itm", "all"],
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"intrinio": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": ["black_scholes", "bjerk"],
|
||||
}
|
||||
},
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def snapshots(
|
||||
self,
|
||||
provider: Annotated[
|
||||
Optional[Literal["intrinio"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: intrinio."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get a snapshot of the options market universe.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: intrinio.
|
||||
date : Union[date, datetime, str, None]
|
||||
The date of the data. Can be a datetime or an ISO datetime string. Data appears to go back to around 2022-06-01 Example: '2024-03-08T12:15:00+0400' (provider: intrinio)
|
||||
only_traded : bool
|
||||
Only include options that have been traded during the session, default is True. Setting to false will dramatically increase the size of the response - use with caution. (provider: intrinio)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[OptionsSnapshots]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
OptionsSnapshots
|
||||
----------------
|
||||
underlying_symbol : list[str]
|
||||
Ticker symbol of the underlying asset.
|
||||
contract_symbol : list[str]
|
||||
Symbol of the options contract.
|
||||
expiration : list[date]
|
||||
Expiration date of the options contract.
|
||||
dte : list[Optional[int]]
|
||||
Number of days to expiration of the options contract.
|
||||
strike : list[float]
|
||||
Strike price of the options contract.
|
||||
option_type : list[str]
|
||||
The type of option.
|
||||
volume : list[Optional[int]]
|
||||
The trading volume.
|
||||
open_interest : list[Optional[int]]
|
||||
Open interest at the time.
|
||||
last_price : list[Optional[float]]
|
||||
Last trade price at the time.
|
||||
last_size : list[Optional[int]]
|
||||
Lot size of the last trade.
|
||||
last_timestamp : list[Optional[datetime]]
|
||||
Timestamp of the last price.
|
||||
open : list[Optional[float]]
|
||||
The open price.
|
||||
high : list[Optional[float]]
|
||||
The high price.
|
||||
low : list[Optional[float]]
|
||||
The low price.
|
||||
close : list[Optional[float]]
|
||||
The close price.
|
||||
bid : list[Optional[float]]
|
||||
The last bid price at the time. (provider: intrinio)
|
||||
bid_size : list[Optional[int]]
|
||||
The size of the last bid price. (provider: intrinio)
|
||||
bid_timestamp : list[Optional[datetime]]
|
||||
The timestamp of the last bid price. (provider: intrinio)
|
||||
ask : list[Optional[float]]
|
||||
The last ask price at the time. (provider: intrinio)
|
||||
ask_size : list[Optional[int]]
|
||||
The size of the last ask price. (provider: intrinio)
|
||||
ask_timestamp : list[Optional[datetime]]
|
||||
The timestamp of the last ask price. (provider: intrinio)
|
||||
total_bid_volume : list[Optional[int]]
|
||||
Total volume of bids. (provider: intrinio)
|
||||
bid_high : list[Optional[float]]
|
||||
The highest bid price. (provider: intrinio)
|
||||
bid_low : list[Optional[float]]
|
||||
The lowest bid price. (provider: intrinio)
|
||||
total_ask_volume : list[Optional[int]]
|
||||
Total volume of asks. (provider: intrinio)
|
||||
ask_high : list[Optional[float]]
|
||||
The highest ask price. (provider: intrinio)
|
||||
ask_low : list[Optional[float]]
|
||||
The lowest ask price. (provider: intrinio)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.derivatives.options.snapshots(provider='intrinio')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/derivatives/options/snapshots",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"derivatives.options.snapshots",
|
||||
("intrinio",),
|
||||
)
|
||||
},
|
||||
standard_params={},
|
||||
extra_params=kwargs,
|
||||
),
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate(config=dict(arbitrary_types_allowed=True))
|
||||
def surface(
|
||||
self,
|
||||
data: Annotated[
|
||||
Union[
|
||||
list,
|
||||
dict,
|
||||
DataFrame,
|
||||
list["DataFrame"],
|
||||
Series,
|
||||
list["Series"],
|
||||
ndarray,
|
||||
Data,
|
||||
list[Data],
|
||||
Data,
|
||||
],
|
||||
OpenBBField(description=""),
|
||||
],
|
||||
target: Annotated[str, OpenBBField(description="")] = "implied_volatility",
|
||||
underlying_price: Annotated[
|
||||
Optional[float], OpenBBField(description="")
|
||||
] = None,
|
||||
option_type: Annotated[
|
||||
Optional[Literal["otm", "itm", "calls", "puts"]],
|
||||
OpenBBField(description=""),
|
||||
] = "otm",
|
||||
dte_min: Annotated[Optional[int], OpenBBField(description="")] = None,
|
||||
dte_max: Annotated[Optional[int], OpenBBField(description="")] = None,
|
||||
moneyness: Annotated[Optional[float], OpenBBField(description="")] = None,
|
||||
strike_min: Annotated[Optional[float], OpenBBField(description="")] = None,
|
||||
strike_max: Annotated[Optional[float], OpenBBField(description="")] = None,
|
||||
oi: Annotated[bool, OpenBBField(description="")] = False,
|
||||
volume: Annotated[bool, OpenBBField(description="")] = False,
|
||||
theme: Annotated[
|
||||
Literal["dark", "light"], OpenBBField(description="")
|
||||
] = "dark",
|
||||
chart_params: Annotated[Optional[dict], OpenBBField(description="")] = None,
|
||||
**kwargs: Any
|
||||
) -> OBBject:
|
||||
"""Filter and process the options chains data for volatility.
|
||||
|
||||
Data posted can be an instance of OptionsChainsData,
|
||||
a pandas DataFrame, or a list of dictionaries.
|
||||
Data should contain the fields:
|
||||
|
||||
- `expiration`: The expiration date of the option.
|
||||
- `strike`: The strike price of the option.
|
||||
- `option_type`: The type of the option (call or put).
|
||||
- `implied_volatility`: The implied volatility of the option. Or 'target' field.
|
||||
- `open_interest`: The open interest of the option.
|
||||
- `volume`: The trading volume of the option.
|
||||
- `dte` : Optional, days to expiration (DTE) of the option.
|
||||
- `underlying_price`: Optional, the price of the underlying asset.
|
||||
|
||||
Results from the `/derivatives/options/chains` endpoint are the preferred input.
|
||||
|
||||
If `underlying_price` is not supplied in the data as a field, it must be provided as a parameter.
|
||||
|
||||
Parameters
|
||||
-----------
|
||||
data: Union[list[Data], Data]
|
||||
target: str
|
||||
The field to use as the z-axis. Default is "implied_volatility".
|
||||
underlying_price: Optional[float]
|
||||
The price of the underlying asset.
|
||||
option_type: Optional[str] = "otm"
|
||||
The type of df to display. Default is "otm".
|
||||
Choices are: ["otm", "itm", "puts", "calls"]
|
||||
dte_min: Optional[int] = None
|
||||
Minimum days to expiration (DTE) to filter options.
|
||||
dte_max: Optional[int] = None
|
||||
Maximum days to expiration (DTE) to filter options.
|
||||
moneyness: Optional[float] = None
|
||||
Specify a % moneyness to target for display,
|
||||
entered as a value between 0 and 100.
|
||||
strike_min: Optional[float] = None
|
||||
Minimum strike price to filter options.
|
||||
strike_max: Optional[float] = None
|
||||
Maximum strike price to filter options.
|
||||
oi: bool = False
|
||||
Filter for only options that have open interest. Default is False.
|
||||
volume: bool = False
|
||||
Filter for only options that have trading volume. Default is False.
|
||||
chart: bool = False
|
||||
Whether to return a chart or not. Default is False.
|
||||
Only valid if `openbb-charting` is installed.
|
||||
theme: Literal["dark", "light"] = "dark"
|
||||
The theme to use for the chart. Default is "dark".
|
||||
Only valid if `openbb-charting` is installed.
|
||||
chart_params: Optional[dict] = None
|
||||
Additional parameters to pass to the charting library.
|
||||
Only valid if `openbb-charting` is installed.
|
||||
Valid keys are:
|
||||
- `title`: The title of the chart.
|
||||
- `xtitle`: Title for the x-axis.
|
||||
- `ytitle`: Title for the y-axis.
|
||||
- `ztitle`: Title for the z-axis.
|
||||
- `colorscale`: The colorscale to use for the chart.
|
||||
- `layout_kwargs`: Additional dictionary to be passed to `fig.update_layout` before output.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject[list]
|
||||
An OBBject containing the processed options data.
|
||||
Results are a list of dictionaries.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> # Filter and process options chains data for volatility.
|
||||
>>> data = obb.derivatives.options.chains('AAPL', provider='cboe')
|
||||
>>> surface = obb.derivatives.options.surface(data=data.results, moneyness=20, dte_min=10, dte_max=60, chart=True)
|
||||
>>> surface.show()
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/derivatives/options/surface",
|
||||
**filter_inputs(
|
||||
data=data,
|
||||
target=target,
|
||||
underlying_price=underlying_price,
|
||||
option_type=option_type,
|
||||
dte_min=dte_min,
|
||||
dte_max=dte_max,
|
||||
moneyness=moneyness,
|
||||
strike_min=strike_min,
|
||||
strike_max=strike_max,
|
||||
oi=oi,
|
||||
volume=volume,
|
||||
theme=theme,
|
||||
chart_params=chart_params,
|
||||
data_processing=True,
|
||||
**kwargs,
|
||||
),
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def unusual(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
Optional[str],
|
||||
OpenBBField(description="Symbol to get data for. (the underlying symbol)"),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["intrinio"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: intrinio."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get the complete options chain for a ticker.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: intrinio.
|
||||
symbol : Optional[str]
|
||||
Symbol to get data for. (the underlying symbol)
|
||||
start_date : Optional[date]
|
||||
Start date of the data, in YYYY-MM-DD format. If no symbol is supplied, requests are only allowed for a single date. Use the start_date for the target date. Intrinio appears to have data beginning Feb/2022, but is unclear when it actually began. (provider: intrinio)
|
||||
end_date : Optional[date]
|
||||
End date of the data, in YYYY-MM-DD format. If a symbol is not supplied, do not include an end date. (provider: intrinio)
|
||||
trade_type : Optional[Literal['block', 'sweep', 'large']]
|
||||
The type of unusual activity to query for. (provider: intrinio)
|
||||
sentiment : Optional[Literal['bullish', 'bearish', 'neutral']]
|
||||
The sentiment type to query for. (provider: intrinio)
|
||||
min_value : Union[int, float, None]
|
||||
The inclusive minimum total value for the unusual activity. (provider: intrinio)
|
||||
max_value : Union[int, float, None]
|
||||
The inclusive maximum total value for the unusual activity. (provider: intrinio)
|
||||
limit : int
|
||||
The number of data entries to return. A typical day for all symbols will yield 50-80K records. The API will paginate at 1000 records. The high default limit (100K) is to be able to reliably capture the most days. The high absolute limit (1.25M) is to allow for outlier days. Queries at the absolute limit will take a long time, and might be unreliable. Apply filters to improve performance. (provider: intrinio)
|
||||
source : Literal['delayed', 'realtime']
|
||||
The source of the data. Either realtime or delayed. (provider: intrinio)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[OptionsUnusual]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
OptionsUnusual
|
||||
--------------
|
||||
underlying_symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data. (the underlying symbol)
|
||||
contract_symbol : str
|
||||
Contract symbol for the option.
|
||||
trade_timestamp : Optional[datetime]
|
||||
The datetime of order placement. (provider: intrinio)
|
||||
trade_type : Optional[Literal['block', 'sweep', 'large']]
|
||||
The type of unusual trade. (provider: intrinio)
|
||||
sentiment : Optional[Literal['bullish', 'bearish', 'neutral']]
|
||||
Bullish, Bearish, or Neutral Sentiment is estimated based on whether the trade was executed at the bid, ask, or mark price. (provider: intrinio)
|
||||
bid_at_execution : Optional[float]
|
||||
Bid price at execution. (provider: intrinio)
|
||||
ask_at_execution : Optional[float]
|
||||
Ask price at execution. (provider: intrinio)
|
||||
average_price : Optional[float]
|
||||
The average premium paid per option contract. (provider: intrinio)
|
||||
underlying_price_at_execution : Optional[float]
|
||||
Price of the underlying security at execution of trade. (provider: intrinio)
|
||||
total_size : Optional[int]
|
||||
The total number of contracts involved in a single transaction. (provider: intrinio)
|
||||
total_value : Optional[Union[int, float]]
|
||||
The aggregated value of all option contract premiums included in the trade. (provider: intrinio)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.derivatives.options.unusual(symbol='TSLA', provider='intrinio')
|
||||
>>> # Use the 'symbol' parameter to get the most recent activity for a specific symbol.
|
||||
>>> obb.derivatives.options.unusual(symbol='TSLA', provider='intrinio')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/derivatives/options/unusual",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"derivatives.options.unusual",
|
||||
("intrinio",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
),
|
||||
)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,490 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_economy_gdp(Container):
|
||||
"""/economy/gdp
|
||||
forecast
|
||||
nominal
|
||||
real
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def forecast(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["oecd"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: oecd."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get Forecasted GDP Data.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: oecd.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
country : str
|
||||
Country, or countries, to get forward GDP projections for. Default is all. Multiple comma separated items allowed. (provider: oecd)
|
||||
frequency : Literal['annual', 'quarter']
|
||||
Frequency of the data, default is annual. (provider: oecd)
|
||||
units : Literal['current_prices', 'volume', 'capita', 'growth', 'deflator']
|
||||
Units of the data, default is volume (chain linked volume, 2015).
|
||||
'current_prices', 'volume', and 'capita' are expressed in USD;
|
||||
'deflator' as an index. (provider: oecd)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[GdpForecast]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
GdpForecast
|
||||
-----------
|
||||
date : date
|
||||
The date of the data.
|
||||
country : str
|
||||
None
|
||||
value : Union[int, float]
|
||||
Forecasted GDP value for the country and date.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.economy.gdp.forecast(provider='oecd')
|
||||
>>> obb.economy.gdp.forecast(country='united_states,germany,france', frequency='annual', units='capita', provider='oecd')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/economy/gdp/forecast",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"economy.gdp.forecast",
|
||||
("oecd",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"country": {
|
||||
"oecd": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": [
|
||||
"argentina",
|
||||
"asia",
|
||||
"australia",
|
||||
"austria",
|
||||
"belgium",
|
||||
"brazil",
|
||||
"bulgaria",
|
||||
"canada",
|
||||
"chile",
|
||||
"china",
|
||||
"colombia",
|
||||
"costa_rica",
|
||||
"croatia",
|
||||
"czech_republic",
|
||||
"denmark",
|
||||
"estonia",
|
||||
"finland",
|
||||
"france",
|
||||
"germany",
|
||||
"greece",
|
||||
"hungary",
|
||||
"iceland",
|
||||
"india",
|
||||
"indonesia",
|
||||
"ireland",
|
||||
"israel",
|
||||
"italy",
|
||||
"japan",
|
||||
"korea",
|
||||
"latvia",
|
||||
"lithuania",
|
||||
"luxembourg",
|
||||
"mexico",
|
||||
"netherlands",
|
||||
"new_zealand",
|
||||
"norway",
|
||||
"peru",
|
||||
"poland",
|
||||
"portugal",
|
||||
"romania",
|
||||
"russia",
|
||||
"slovak_republic",
|
||||
"slovenia",
|
||||
"south_africa",
|
||||
"spain",
|
||||
"sweden",
|
||||
"switzerland",
|
||||
"turkey",
|
||||
"united_kingdom",
|
||||
"united_states",
|
||||
"other_major_oil_producers",
|
||||
"rest_of_the_world",
|
||||
"world",
|
||||
"all",
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def nominal(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["econdb", "oecd"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: econdb, oecd."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get Nominal GDP Data.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: econdb, oecd.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
country : str
|
||||
The country to get data.Use 'all' to get data for all available countries. Multiple comma separated items allowed. (provider: econdb, oecd)
|
||||
use_cache : bool
|
||||
If True, the request will be cached for one day. Using cache is recommended to avoid needlessly requesting the same data. (provider: econdb)
|
||||
frequency : Literal['quarter', 'annual']
|
||||
Frequency of the data. (provider: oecd)
|
||||
units : Literal['level', 'index', 'capita']
|
||||
The unit of measurement for the data.Both 'level' and 'capita' (per) are measured in USD. (provider: oecd)
|
||||
price_base : Literal['current_prices', 'volume']
|
||||
Price base for the data, volume is chain linked volume. (provider: oecd)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[GdpNominal]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
GdpNominal
|
||||
----------
|
||||
date : date
|
||||
The date of the data.
|
||||
country : Optional[str]
|
||||
The country represented by the GDP value.
|
||||
value : Union[int, float]
|
||||
GDP value for the country and date.
|
||||
nominal_growth_qoq : Optional[float]
|
||||
Nominal GDP growth rate quarter over quarter. (provider: econdb)
|
||||
nominal_growth_yoy : Optional[float]
|
||||
Nominal GDP growth rate year over year. (provider: econdb)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.economy.gdp.nominal(provider='oecd')
|
||||
>>> obb.economy.gdp.nominal(units='capita', country='all', frequency='annual', provider='oecd')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/economy/gdp/nominal",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"economy.gdp.nominal",
|
||||
("econdb", "oecd"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"country": {
|
||||
"econdb": {"multiple_items_allowed": True, "choices": None},
|
||||
"oecd": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": [
|
||||
"oecd",
|
||||
"oecd_26",
|
||||
"oecd_europe",
|
||||
"g7",
|
||||
"g20",
|
||||
"euro_area",
|
||||
"european_union_27",
|
||||
"european_union_15",
|
||||
"nafta",
|
||||
"argentina",
|
||||
"australia",
|
||||
"austria",
|
||||
"belgium",
|
||||
"bulgaria",
|
||||
"brazil",
|
||||
"canada",
|
||||
"chile",
|
||||
"colombia",
|
||||
"costa_rica",
|
||||
"croatia",
|
||||
"czech_republic",
|
||||
"denmark",
|
||||
"estonia",
|
||||
"finland",
|
||||
"france",
|
||||
"germany",
|
||||
"greece",
|
||||
"hungary",
|
||||
"iceland",
|
||||
"india",
|
||||
"indonesia",
|
||||
"ireland",
|
||||
"israel",
|
||||
"italy",
|
||||
"japan",
|
||||
"korea",
|
||||
"latvia",
|
||||
"lithuania",
|
||||
"luxembourg",
|
||||
"mexico",
|
||||
"netherlands",
|
||||
"new_zealand",
|
||||
"norway",
|
||||
"poland",
|
||||
"portugal",
|
||||
"romania",
|
||||
"russia",
|
||||
"saudi_arabia",
|
||||
"slovak_republic",
|
||||
"slovenia",
|
||||
"south_africa",
|
||||
"spain",
|
||||
"sweden",
|
||||
"switzerland",
|
||||
"turkey",
|
||||
"united_kingdom",
|
||||
"united_states",
|
||||
"all",
|
||||
],
|
||||
},
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def real(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["econdb", "oecd"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: econdb, oecd."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get Real GDP Data.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: econdb, oecd.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
country : str
|
||||
The country to get data.Use 'all' to get data for all available countries. Multiple comma separated items allowed. (provider: econdb, oecd)
|
||||
use_cache : bool
|
||||
If True, the request will be cached for one day. Using cache is recommended to avoid needlessly requesting the same data. (provider: econdb)
|
||||
frequency : Literal['quarter', 'annual']
|
||||
Frequency of the data. (provider: oecd)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[GdpReal]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
GdpReal
|
||||
-------
|
||||
date : date
|
||||
The date of the data.
|
||||
country : Optional[str]
|
||||
The country represented by the GDP value.
|
||||
value : Union[int, float]
|
||||
GDP value for the country and date.
|
||||
real_growth_qoq : Optional[float]
|
||||
Real GDP growth rate quarter over quarter. (provider: econdb)
|
||||
real_growth_yoy : Optional[float]
|
||||
Real GDP growth rate year over year. (provider: econdb)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.economy.gdp.real(provider='oecd')
|
||||
>>> obb.economy.gdp.real(country='united_states,germany,japan', provider='econdb')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/economy/gdp/real",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"economy.gdp.real",
|
||||
("econdb", "oecd"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"country": {
|
||||
"econdb": {"multiple_items_allowed": True, "choices": None},
|
||||
"oecd": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": [
|
||||
"oecd",
|
||||
"oecd_26",
|
||||
"oecd_europe",
|
||||
"g7",
|
||||
"g20",
|
||||
"euro_area",
|
||||
"european_union_27",
|
||||
"european_union_15",
|
||||
"nafta",
|
||||
"argentina",
|
||||
"australia",
|
||||
"austria",
|
||||
"belgium",
|
||||
"bulgaria",
|
||||
"brazil",
|
||||
"canada",
|
||||
"chile",
|
||||
"colombia",
|
||||
"costa_rica",
|
||||
"croatia",
|
||||
"czech_republic",
|
||||
"denmark",
|
||||
"estonia",
|
||||
"finland",
|
||||
"france",
|
||||
"germany",
|
||||
"greece",
|
||||
"hungary",
|
||||
"iceland",
|
||||
"india",
|
||||
"indonesia",
|
||||
"ireland",
|
||||
"israel",
|
||||
"italy",
|
||||
"japan",
|
||||
"korea",
|
||||
"latvia",
|
||||
"lithuania",
|
||||
"luxembourg",
|
||||
"mexico",
|
||||
"netherlands",
|
||||
"new_zealand",
|
||||
"norway",
|
||||
"poland",
|
||||
"portugal",
|
||||
"romania",
|
||||
"russia",
|
||||
"saudi_arabia",
|
||||
"slovak_republic",
|
||||
"slovenia",
|
||||
"south_africa",
|
||||
"spain",
|
||||
"sweden",
|
||||
"switzerland",
|
||||
"turkey",
|
||||
"united_kingdom",
|
||||
"united_states",
|
||||
"all",
|
||||
],
|
||||
},
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,974 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_economy_survey(Container):
|
||||
"""/economy/survey
|
||||
bls_search
|
||||
bls_series
|
||||
economic_conditions_chicago
|
||||
manufacturing_outlook_ny
|
||||
manufacturing_outlook_texas
|
||||
nonfarm_payrolls
|
||||
sloos
|
||||
university_of_michigan
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def bls_search(
|
||||
self,
|
||||
query: Annotated[
|
||||
str,
|
||||
OpenBBField(
|
||||
description="The search word(s). Use semi-colon to separate multiple queries as an & operator."
|
||||
),
|
||||
] = "",
|
||||
provider: Annotated[
|
||||
Optional[Literal["bls"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: bls."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Search BLS surveys by category and keyword or phrase to identify BLS series IDs.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: bls.
|
||||
query : str
|
||||
The search word(s). Use semi-colon to separate multiple queries as an & operator.
|
||||
category : Optional[Literal['cpi', 'pce', 'ppi', 'ip', 'jolts', 'nfp', 'cps', 'lfs', 'wages', 'ec', 'sla', 'bed', 'tu']]
|
||||
The category of BLS survey to search within.
|
||||
An empty search query will return all series within the category. Options are:
|
||||
|
||||
cpi - Consumer Price Index
|
||||
|
||||
pce - Personal Consumption Expenditure
|
||||
|
||||
ppi - Producer Price Index
|
||||
|
||||
ip - Industry Productivity
|
||||
|
||||
jolts - Job Openings and Labor Turnover Survey
|
||||
|
||||
nfp - Nonfarm Payrolls
|
||||
|
||||
cps - Current Population Survey
|
||||
|
||||
lfs - Labor Force Statistics
|
||||
|
||||
wages - Wages
|
||||
|
||||
ec - Employer Costs
|
||||
|
||||
sla - State and Local Area Employment
|
||||
|
||||
bed - Business Employment Dynamics
|
||||
|
||||
tu - Time Use
|
||||
(provider: bls)
|
||||
Choices for bls: 'cpi', 'pce', 'ppi', 'ip', 'jolts', 'nfp', 'cps', 'lfs', 'wages', 'ec', 'sla', 'bed', 'tu'
|
||||
include_extras : bool
|
||||
Include additional information in the search results. Extra fields returned are metadata and vary by survey. Fields are undefined strings that typically have names ending with '_code'. (provider: bls)
|
||||
include_code_map : bool
|
||||
When True, includes the complete code map for eaçh survey in the category, returned separately as a nested JSON to the `extras['results_metadata']` property of the response. Example content is the NAICS industry map for PPI surveys. Each code is a value within the 'symbol' of the time series. (provider: bls)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[BlsSearch]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
BlsSearch
|
||||
---------
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
title : Optional[str]
|
||||
The title of the series.
|
||||
survey_name : Optional[str]
|
||||
The name of the survey.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.economy.survey.bls_search(provider='bls', category='cpi')
|
||||
>>> # Use semi-colon to separate multiple queries as an & operator.
|
||||
>>> obb.economy.survey.bls_search(provider='bls', category='cpi', query='seattle;gasoline')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/economy/survey/bls_search",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"economy.survey.bls_search",
|
||||
("bls",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"query": query,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"category": {
|
||||
"bls": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"cpi",
|
||||
"pce",
|
||||
"ppi",
|
||||
"ip",
|
||||
"jolts",
|
||||
"nfp",
|
||||
"cps",
|
||||
"lfs",
|
||||
"wages",
|
||||
"ec",
|
||||
"sla",
|
||||
"bed",
|
||||
"tu",
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def bls_series(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
Union[str, list[str]],
|
||||
OpenBBField(
|
||||
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): bls."
|
||||
),
|
||||
],
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["bls"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: bls."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get time series data for one, or more, BLS series IDs.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: bls.
|
||||
symbol : Union[str, list[str]]
|
||||
Symbol to get data for. Multiple comma separated items allowed for provider(s): bls.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
calculations : bool
|
||||
Include calculations in the response, if available. Default is True. (provider: bls)
|
||||
annual_average : bool
|
||||
Include annual averages in the response, if available. Default is False. (provider: bls)
|
||||
aspects : bool
|
||||
Include all aspects associated with a data point for a given BLS series ID, if available. Returned with the series metadata, under `extras` of the response object. Default is False. (provider: bls)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[BlsSeries]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
BlsSeries
|
||||
---------
|
||||
date : date
|
||||
The date of the data.
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
title : Optional[str]
|
||||
Title of the series.
|
||||
value : Optional[float]
|
||||
Observation value for the symbol and date.
|
||||
change_1_m : Optional[float]
|
||||
One month change in value. (provider: bls)
|
||||
change_3_m : Optional[float]
|
||||
Three month change in value. (provider: bls)
|
||||
change_6_m : Optional[float]
|
||||
Six month change in value. (provider: bls)
|
||||
change_12_m : Optional[float]
|
||||
One year change in value. (provider: bls)
|
||||
change_percent_1_m : Optional[float]
|
||||
One month change in percent. (provider: bls)
|
||||
change_percent_3_m : Optional[float]
|
||||
Three month change in percent. (provider: bls)
|
||||
change_percent_6_m : Optional[float]
|
||||
Six month change in percent. (provider: bls)
|
||||
change_percent_12_m : Optional[float]
|
||||
One year change in percent. (provider: bls)
|
||||
latest : Optional[bool]
|
||||
Latest value indicator. (provider: bls)
|
||||
footnotes : Optional[str]
|
||||
Footnotes accompanying the value. (provider: bls)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.economy.survey.bls_series(provider='bls', symbol='CES0000000001')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/economy/survey/bls_series",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"economy.survey.bls_series",
|
||||
("bls",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"symbol": {"bls": {"multiple_items_allowed": True, "choices": None}}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def economic_conditions_chicago(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get The Survey Of Economic Conditions For The Chicago Region.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
frequency : Optional[Literal['annual', 'quarter']]
|
||||
Frequency aggregation to convert monthly data to lower frequency. None is monthly. (provider: fred)
|
||||
aggregation_method : Optional[Literal['avg', 'sum', 'eop']]
|
||||
A key that indicates the aggregation method used for frequency aggregation.
|
||||
|
||||
avg = Average
|
||||
|
||||
sum = Sum
|
||||
|
||||
eop = End of Period
|
||||
(provider: fred)
|
||||
transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']]
|
||||
Transformation type
|
||||
|
||||
None = No transformation
|
||||
|
||||
chg = Change
|
||||
|
||||
ch1 = Change from Year Ago
|
||||
|
||||
pch = Percent Change
|
||||
|
||||
pc1 = Percent Change from Year Ago
|
||||
|
||||
pca = Compounded Annual Rate of Change
|
||||
|
||||
cch = Continuously Compounded Rate of Change
|
||||
|
||||
cca = Continuously Compounded Annual Rate of Change
|
||||
|
||||
log = Natural Log
|
||||
(provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[SurveyOfEconomicConditionsChicago]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
SurveyOfEconomicConditionsChicago
|
||||
---------------------------------
|
||||
date : date
|
||||
The date of the data.
|
||||
activity_index : Optional[float]
|
||||
Activity Index.
|
||||
one_year_outlook : Optional[float]
|
||||
One Year Outlook Index.
|
||||
manufacturing_activity : Optional[float]
|
||||
Manufacturing Activity Index.
|
||||
non_manufacturing_activity : Optional[float]
|
||||
Non-Manufacturing Activity Index.
|
||||
capital_expenditures_expectations : Optional[float]
|
||||
Capital Expenditures Expectations Index.
|
||||
hiring_expectations : Optional[float]
|
||||
Hiring Expectations Index.
|
||||
current_hiring : Optional[float]
|
||||
Current Hiring Index.
|
||||
labor_costs : Optional[float]
|
||||
Labor Costs Index.
|
||||
non_labor_costs : Optional[float]
|
||||
Non-Labor Costs Index.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.economy.survey.economic_conditions_chicago(provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/economy/survey/economic_conditions_chicago",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"economy.survey.economic_conditions_chicago",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def manufacturing_outlook_ny(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get the Empire State Manufacturing Survey.
|
||||
|
||||
It is a monthly survey of manufacturers in New York State conducted by the Federal Reserve Bank of New York.
|
||||
|
||||
Participants from across the state in a variety of industries respond to a questionnaire
|
||||
and report the change in a variety of indicators from the previous month.
|
||||
|
||||
Respondents also state the likely direction of these same indicators six months ahead.
|
||||
April 2002 is the first report, although survey data date back to July 2001.
|
||||
|
||||
The survey is sent on the first day of each month to the same pool of about 200
|
||||
manufacturing executives in New York State, typically the president or CEO.
|
||||
|
||||
About 100 responses are received. Most are completed by the tenth, although surveys are accepted until the fifteenth.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
topic : Union[Literal['business_outlook', 'hours_worked', 'employment', 'inventories', 'prices_received', 'prices_paid', 'capex', 'unfilled_orders', 'new_orders', 'shipments', 'delivery_times'], str]
|
||||
The topic for the survey response. Multiple comma separated items allowed. (provider: fred)
|
||||
seasonally_adjusted : bool
|
||||
Whether the data is seasonally adjusted, default is False (provider: fred)
|
||||
frequency : Optional[Literal['quarter', 'annual']]
|
||||
Frequency aggregation to convert monthly data to lower frequency. None is monthly. (provider: fred)
|
||||
aggregation_method : Optional[Literal['avg', 'sum', 'eop']]
|
||||
A key that indicates the aggregation method used for frequency aggregation.
|
||||
avg = Average
|
||||
sum = Sum
|
||||
eop = End of Period
|
||||
(provider: fred)
|
||||
transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']]
|
||||
Transformation type
|
||||
None = No transformation
|
||||
chg = Change
|
||||
ch1 = Change from Year Ago
|
||||
pch = Percent Change
|
||||
pc1 = Percent Change from Year Ago
|
||||
pca = Compounded Annual Rate of Change
|
||||
cch = Continuously Compounded Rate of Change
|
||||
cca = Continuously Compounded Annual Rate of Change
|
||||
log = Natural Log
|
||||
(provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[ManufacturingOutlookNY]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
ManufacturingOutlookNY
|
||||
----------------------
|
||||
date : date
|
||||
The date of the data.
|
||||
topic : Optional[str]
|
||||
Topic of the survey response.
|
||||
diffusion_index : Optional[float]
|
||||
Diffusion Index.
|
||||
percent_reporting_increase : Optional[float]
|
||||
Percent of respondents reporting an increase over the last month.
|
||||
percent_reporting_decrease : Optional[float]
|
||||
Percent of respondents reporting a decrease over the last month.
|
||||
percent_reporting_no_change : Optional[float]
|
||||
Percent of respondents reporting no change over the last month.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.economy.survey.manufacturing_outlook_ny(provider='fred')
|
||||
>>> obb.economy.survey.manufacturing_outlook_ny(topic='hours_worked,new_orders', transform='pc1', provider='fred', seasonally_adjusted=True)
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/economy/survey/manufacturing_outlook_ny",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"economy.survey.manufacturing_outlook_ny",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"topic": {
|
||||
"fred": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": [
|
||||
"business_outlook",
|
||||
"hours_worked",
|
||||
"employment",
|
||||
"inventories",
|
||||
"prices_received",
|
||||
"prices_paid",
|
||||
"capex",
|
||||
"unfilled_orders",
|
||||
"new_orders",
|
||||
"shipments",
|
||||
"delivery_times",
|
||||
],
|
||||
"x-widget_config": {"value": "new_orders"},
|
||||
}
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def manufacturing_outlook_texas(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get The Manufacturing Outlook Survey For The Texas Region.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
topic : Union[Literal['business_activity', 'business_outlook', 'capex', 'prices_paid', 'production', 'inventory', 'new_orders', 'new_orders_growth', 'unfilled_orders', 'shipments', 'delivery_time', 'employment', 'wages', 'hours_worked'], str]
|
||||
The topic for the survey response. Multiple comma separated items allowed. (provider: fred)
|
||||
frequency : Optional[Literal['annual', 'quarter']]
|
||||
|
||||
Frequency aggregation to convert monthly data to lower frequency. None is monthly.
|
||||
(provider: fred)
|
||||
aggregation_method : Optional[Literal['avg', 'sum', 'eop']]
|
||||
|
||||
A key that indicates the aggregation method used for frequency aggregation.
|
||||
avg = Average
|
||||
sum = Sum
|
||||
eop = End of Period
|
||||
(provider: fred)
|
||||
transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']]
|
||||
|
||||
Transformation type
|
||||
None = No transformation
|
||||
chg = Change
|
||||
ch1 = Change from Year Ago
|
||||
pch = Percent Change
|
||||
pc1 = Percent Change from Year Ago
|
||||
pca = Compounded Annual Rate of Change
|
||||
cch = Continuously Compounded Rate of Change
|
||||
cca = Continuously Compounded Annual Rate of Change
|
||||
log = Natural Log
|
||||
(provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[ManufacturingOutlookTexas]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
ManufacturingOutlookTexas
|
||||
-------------------------
|
||||
date : date
|
||||
The date of the data.
|
||||
topic : Optional[str]
|
||||
Topic of the survey response.
|
||||
diffusion_index : Optional[float]
|
||||
Diffusion Index.
|
||||
percent_reporting_increase : Optional[float]
|
||||
Percent of respondents reporting an increase over the last month.
|
||||
percent_reporting_decrease : Optional[float]
|
||||
Percent of respondents reporting a decrease over the last month.
|
||||
percent_reporting_no_change : Optional[float]
|
||||
Percent of respondents reporting no change over the last month.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.economy.survey.manufacturing_outlook_texas(provider='fred')
|
||||
>>> obb.economy.survey.manufacturing_outlook_texas(topic='business_outlook,new_orders', transform='pc1', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/economy/survey/manufacturing_outlook_texas",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"economy.survey.manufacturing_outlook_texas",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"topic": {
|
||||
"fred": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": [
|
||||
"business_activity",
|
||||
"business_outlook",
|
||||
"capex",
|
||||
"prices_paid",
|
||||
"production",
|
||||
"inventory",
|
||||
"new_orders",
|
||||
"new_orders_growth",
|
||||
"unfilled_orders",
|
||||
"shipments",
|
||||
"delivery_time",
|
||||
"employment",
|
||||
"wages",
|
||||
"hours_worked",
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def nonfarm_payrolls(
|
||||
self,
|
||||
date: Annotated[
|
||||
Union[str, datetime.date, None, list[Union[str, datetime.date, None]]],
|
||||
OpenBBField(
|
||||
description="A specific date to get data for. Default is the latest report. Multiple comma separated items allowed for provider(s): fred."
|
||||
),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get Nonfarm Payrolls Survey.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
date : Union[str, date, None, list[Union[str, date, None]]]
|
||||
A specific date to get data for. Default is the latest report. Multiple comma separated items allowed for provider(s): fred.
|
||||
category : Literal['employees_nsa', 'employees_sa', 'employees_production_and_nonsupervisory', 'employees_women', 'employees_women_percent', 'avg_hours', 'avg_hours_production_and_nonsupervisory', 'avg_hours_overtime', 'avg_hours_overtime_production_and_nonsupervisory', 'avg_earnings_hourly', 'avg_earnings_hourly_production_and_nonsupervisory', 'avg_earnings_weekly', 'avg_earnings_weekly_production_and_nonsupervisory', 'index_weekly_hours', 'index_weekly_hours_production_and_nonsupervisory', 'index_weekly_payrolls', 'index_weekly_payrolls_production_and_nonsupervisory']
|
||||
The category to query. (provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[NonFarmPayrolls]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
NonFarmPayrolls
|
||||
---------------
|
||||
date : date
|
||||
The date of the data.
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
value : float
|
||||
|
||||
name : Optional[str]
|
||||
The name of the series. (provider: fred)
|
||||
element_id : Optional[str]
|
||||
The element id in the parent/child relationship. (provider: fred)
|
||||
parent_id : Optional[str]
|
||||
The parent id in the parent/child relationship. (provider: fred)
|
||||
children : Optional[str]
|
||||
The element_id of each child, as a comma-separated string. (provider: fred)
|
||||
level : Optional[int]
|
||||
The indentation level of the element. (provider: fred)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.economy.survey.nonfarm_payrolls(provider='fred')
|
||||
>>> obb.economy.survey.nonfarm_payrolls(category='avg_hours', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/economy/survey/nonfarm_payrolls",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"economy.survey.nonfarm_payrolls",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"date": date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"date": {"fred": {"multiple_items_allowed": True, "choices": None}}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def sloos(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get Senior Loan Officers Opinion Survey.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
category : Literal['spreads', 'consumer', 'auto', 'credit_card', 'firms', 'mortgage', 'commercial_real_estate', 'standards', 'demand', 'foreign_banks']
|
||||
Category of survey response. (provider: fred)
|
||||
transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']]
|
||||
|
||||
Transformation type
|
||||
None = No transformation
|
||||
chg = Change
|
||||
ch1 = Change from Year Ago
|
||||
pch = Percent Change
|
||||
pc1 = Percent Change from Year Ago
|
||||
pca = Compounded Annual Rate of Change
|
||||
cch = Continuously Compounded Rate of Change
|
||||
cca = Continuously Compounded Annual Rate of Change
|
||||
log = Natural Log
|
||||
(provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[SeniorLoanOfficerSurvey]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
SeniorLoanOfficerSurvey
|
||||
-----------------------
|
||||
date : date
|
||||
The date of the data.
|
||||
symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data.
|
||||
value : float
|
||||
Survey value.
|
||||
title : Optional[str]
|
||||
Survey title.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.economy.survey.sloos(provider='fred')
|
||||
>>> obb.economy.survey.sloos(category='credit_card', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/economy/survey/sloos",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"economy.survey.sloos",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def university_of_michigan(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get University of Michigan Consumer Sentiment and Inflation Expectations Surveys.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
frequency : Optional[Literal['quarter', 'annual']]
|
||||
Frequency aggregation to convert monthly data to lower frequency. None is monthly. (provider: fred)
|
||||
aggregation_method : Optional[Literal['avg', 'sum', 'eop']]
|
||||
A key that indicates the aggregation method used for frequency aggregation.
|
||||
|
||||
avg = Average
|
||||
|
||||
sum = Sum
|
||||
|
||||
eop = End of Period
|
||||
(provider: fred)
|
||||
transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']]
|
||||
Transformation type
|
||||
|
||||
None = No transformation
|
||||
|
||||
chg = Change
|
||||
|
||||
ch1 = Change from Year Ago
|
||||
|
||||
pch = Percent Change
|
||||
|
||||
pc1 = Percent Change from Year Ago
|
||||
|
||||
pca = Compounded Annual Rate of Change
|
||||
|
||||
cch = Continuously Compounded Rate of Change
|
||||
|
||||
cca = Continuously Compounded Annual Rate of Change
|
||||
|
||||
log = Natural Log
|
||||
(provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[UniversityOfMichigan]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
UniversityOfMichigan
|
||||
--------------------
|
||||
date : date
|
||||
The date of the data.
|
||||
consumer_sentiment : Optional[float]
|
||||
Index of the results of the University of Michigan's monthly Survey of Consumers, which is used to estimate future spending and saving. (1966:Q1=100).
|
||||
inflation_expectation : Optional[float]
|
||||
Median expected price change next 12 months, Surveys of Consumers.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.economy.survey.university_of_michigan(provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/economy/survey/university_of_michigan",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"economy.survey.university_of_michigan",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,521 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_equity_calendar(Container):
|
||||
"""/equity/calendar
|
||||
dividend
|
||||
earnings
|
||||
events
|
||||
ipo
|
||||
splits
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def dividend(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = 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:
|
||||
"""Get historical and upcoming dividend payments. Includes dividend amount, ex-dividend and payment dates.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CalendarDividend]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CalendarDividend
|
||||
----------------
|
||||
ex_dividend_date : date
|
||||
The ex-dividend date - the date on which the stock begins trading without rights to the dividend.
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
amount : Optional[float]
|
||||
The dividend amount per share.
|
||||
name : Optional[str]
|
||||
Name of the entity.
|
||||
record_date : Optional[date]
|
||||
The record date of ownership for eligibility.
|
||||
payment_date : Optional[date]
|
||||
The payment date of the dividend.
|
||||
declaration_date : Optional[date]
|
||||
Declaration date of the dividend.
|
||||
adjusted_amount : Optional[float]
|
||||
The adjusted-dividend amount. (provider: fmp)
|
||||
label : Optional[str]
|
||||
Ex-dividend date formatted for display. (provider: fmp)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.calendar.dividend(provider='fmp')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/calendar/dividend",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.calendar.dividend",
|
||||
("fmp",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def earnings(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = 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:
|
||||
"""Get historical and upcoming company earnings releases. Includes earnings per share (EPS) and revenue data.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CalendarEarnings]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CalendarEarnings
|
||||
----------------
|
||||
report_date : date
|
||||
The date of the earnings report.
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
name : Optional[str]
|
||||
Name of the entity.
|
||||
eps_previous : Optional[float]
|
||||
The earnings-per-share from the same previously reported period.
|
||||
eps_consensus : Optional[float]
|
||||
The analyst conesus earnings-per-share estimate.
|
||||
eps_actual : Optional[float]
|
||||
The actual earnings per share announced. (provider: fmp)
|
||||
revenue_actual : Optional[float]
|
||||
The actual reported revenue. (provider: fmp)
|
||||
revenue_consensus : Optional[float]
|
||||
The revenue forecast consensus. (provider: fmp)
|
||||
period_ending : Optional[date]
|
||||
The fiscal period end date. (provider: fmp)
|
||||
reporting_time : Optional[str]
|
||||
The reporting time - e.g. after market close. (provider: fmp)
|
||||
updated_date : Optional[date]
|
||||
The date the data was updated last. (provider: fmp)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.calendar.earnings(provider='fmp')
|
||||
>>> # Get earnings calendar for specific dates.
|
||||
>>> obb.equity.calendar.earnings(start_date='2024-02-01', end_date='2024-02-07', provider='fmp')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/calendar/earnings",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.calendar.earnings",
|
||||
("fmp",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def events(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = 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:
|
||||
"""Get historical and upcoming company events, such as Investor Day, Conference Call, Earnings Release.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CalendarEvents]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CalendarEvents
|
||||
--------------
|
||||
date : date
|
||||
The date of the data. The date of the event.
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
exchange : Optional[str]
|
||||
Exchange where the symbol is listed. (provider: fmp)
|
||||
time : Optional[str]
|
||||
The estimated time of the event, local to the exchange. (provider: fmp)
|
||||
timing : Optional[str]
|
||||
The timing of the event - e.g. before, during, or after market hours. (provider: fmp)
|
||||
description : Optional[str]
|
||||
The title of the event. (provider: fmp)
|
||||
url : Optional[str]
|
||||
The URL to the press release for the announcement. (provider: fmp)
|
||||
announcement_date : Optional[date]
|
||||
The date when the event was announced. (provider: fmp)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.calendar.events(provider='fmp')
|
||||
>>> # Get company events calendar for specific dates.
|
||||
>>> obb.equity.calendar.events(start_date='2024-02-01', end_date='2024-02-07', provider='fmp')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/calendar/events",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.calendar.events",
|
||||
("fmp",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def ipo(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
Optional[str], OpenBBField(description="Symbol to get data for.")
|
||||
] = None,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
limit: Annotated[
|
||||
Optional[int],
|
||||
OpenBBField(description="The number of data entries to return."),
|
||||
] = 100,
|
||||
provider: Annotated[
|
||||
Optional[Literal["intrinio"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: intrinio."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get historical and upcoming initial public offerings (IPOs).
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: intrinio.
|
||||
symbol : Optional[str]
|
||||
Symbol to get data for.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
limit : Optional[int]
|
||||
The number of data entries to return.
|
||||
status : Optional[Literal['upcoming', 'priced', 'withdrawn']]
|
||||
Status of the IPO. [upcoming, priced, or withdrawn] (provider: intrinio)
|
||||
min_value : Optional[int]
|
||||
Return IPOs with an offer dollar amount greater than the given amount. (provider: intrinio)
|
||||
max_value : Optional[int]
|
||||
Return IPOs with an offer dollar amount less than the given amount. (provider: intrinio)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CalendarIpo]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CalendarIpo
|
||||
-----------
|
||||
symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data.
|
||||
ipo_date : Optional[date]
|
||||
The date of the IPO, when the stock first trades on a major exchange.
|
||||
status : Optional[Literal['upcoming', 'priced', 'withdrawn']]
|
||||
The status of the IPO. Upcoming IPOs have not taken place yet but are expected to. Priced IPOs have taken place. Withdrawn IPOs were expected to take place, but were subsequently withdrawn. (provider: intrinio)
|
||||
exchange : Optional[str]
|
||||
The acronym of the stock exchange that the company is going to trade publicly on. Typically NYSE or NASDAQ. (provider: intrinio)
|
||||
offer_amount : Optional[float]
|
||||
The total dollar amount of shares offered in the IPO. Typically this is share price * share count (provider: intrinio)
|
||||
share_price : Optional[float]
|
||||
The price per share at which the IPO was offered. (provider: intrinio)
|
||||
share_price_lowest : Optional[float]
|
||||
The expected lowest price per share at which the IPO will be offered. Before an IPO is priced, companies typically provide a range of prices per share at which they expect to offer the IPO (typically available for upcoming IPOs). (provider: intrinio)
|
||||
share_price_highest : Optional[float]
|
||||
The expected highest price per share at which the IPO will be offered. Before an IPO is priced, companies typically provide a range of prices per share at which they expect to offer the IPO (typically available for upcoming IPOs). (provider: intrinio)
|
||||
share_count : Optional[int]
|
||||
The number of shares offered in the IPO. (provider: intrinio)
|
||||
share_count_lowest : Optional[int]
|
||||
The expected lowest number of shares that will be offered in the IPO. Before an IPO is priced, companies typically provide a range of shares that they expect to offer in the IPO (typically available for upcoming IPOs). (provider: intrinio)
|
||||
share_count_highest : Optional[int]
|
||||
The expected highest number of shares that will be offered in the IPO. Before an IPO is priced, companies typically provide a range of shares that they expect to offer in the IPO (typically available for upcoming IPOs). (provider: intrinio)
|
||||
announcement_url : Optional[str]
|
||||
The URL to the company's announcement of the IPO (provider: intrinio)
|
||||
sec_report_url : Optional[str]
|
||||
The URL to the company's S-1, S-1/A, F-1, or F-1/A SEC filing, which is required to be filed before an IPO takes place. (provider: intrinio)
|
||||
open_price : Optional[float]
|
||||
The opening price at the beginning of the first trading day (only available for priced IPOs). (provider: intrinio)
|
||||
close_price : Optional[float]
|
||||
The closing price at the end of the first trading day (only available for priced IPOs). (provider: intrinio)
|
||||
volume : Optional[int]
|
||||
The volume at the end of the first trading day (only available for priced IPOs). (provider: intrinio)
|
||||
day_change : Optional[float]
|
||||
The percentage change between the open price and the close price on the first trading day (only available for priced IPOs). (provider: intrinio)
|
||||
week_change : Optional[float]
|
||||
The percentage change between the open price on the first trading day and the close price approximately a week after the first trading day (only available for priced IPOs). (provider: intrinio)
|
||||
month_change : Optional[float]
|
||||
The percentage change between the open price on the first trading day and the close price approximately a month after the first trading day (only available for priced IPOs). (provider: intrinio)
|
||||
id : Optional[str]
|
||||
The Intrinio ID of the IPO. (provider: intrinio)
|
||||
company : Optional[IntrinioCompany]
|
||||
The company that is going public via the IPO. (provider: intrinio)
|
||||
security : Optional[IntrinioSecurity]
|
||||
The primary Security for the Company that is going public via the IPO (provider: intrinio)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.calendar.ipo(provider='intrinio')
|
||||
>>> # Get all IPOs available.
|
||||
>>> obb.equity.calendar.ipo(provider='intrinio')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/calendar/ipo",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.calendar.ipo",
|
||||
("intrinio",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
"limit": limit,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def splits(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = 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:
|
||||
"""Get historical and upcoming stock split operations.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CalendarSplits]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CalendarSplits
|
||||
--------------
|
||||
date : date
|
||||
The date of the data.
|
||||
label : str
|
||||
Label of the stock splits.
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
numerator : float
|
||||
Numerator of the stock splits.
|
||||
denominator : float
|
||||
Denominator of the stock splits.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.calendar.splits(provider='fmp')
|
||||
>>> # Get stock splits calendar for specific dates.
|
||||
>>> obb.equity.calendar.splits(start_date='2024-02-01', end_date='2024-02-07', provider='fmp')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/calendar/splits",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.calendar.splits",
|
||||
("fmp",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,854 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
from annotated_types import Ge
|
||||
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_equity_ownership(Container):
|
||||
"""/equity/ownership
|
||||
form_13f
|
||||
government_trades
|
||||
insider_trading
|
||||
institutional
|
||||
major_holders
|
||||
share_statistics
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def form_13f(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
str,
|
||||
OpenBBField(
|
||||
description="Symbol to get data for. A CIK or Symbol can be used."
|
||||
),
|
||||
],
|
||||
date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(
|
||||
description="A specific date to get data for. The date represents the end of the reporting period. All form 13F-HR filings are based on the calendar year and are reported quarterly. If a date is not supplied, the most recent filing is returned. Submissions beginning 2013-06-30 are supported."
|
||||
),
|
||||
] = None,
|
||||
limit: Annotated[
|
||||
Optional[int],
|
||||
OpenBBField(
|
||||
description="The number of data entries to return. The number of previous filings to return. The date parameter takes priority over this parameter."
|
||||
),
|
||||
] = 1,
|
||||
provider: Annotated[
|
||||
Optional[Literal["sec"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get the form 13F.
|
||||
|
||||
The Securities and Exchange Commission's (SEC) Form 13F is a quarterly report
|
||||
that is required to be filed by all institutional investment managers with at least
|
||||
$100 million in assets under management.
|
||||
Managers are required to file Form 13F within 45 days after the last day of the calendar quarter.
|
||||
Most funds wait until the end of this period in order to conceal
|
||||
their investment strategy from competitors and the public.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec.
|
||||
symbol : str
|
||||
Symbol to get data for. A CIK or Symbol can be used.
|
||||
date : Union[date, None, str]
|
||||
A specific date to get data for. The date represents the end of the reporting period. All form 13F-HR filings are based on the calendar year and are reported quarterly. If a date is not supplied, the most recent filing is returned. Submissions beginning 2013-06-30 are supported.
|
||||
limit : Optional[int]
|
||||
The number of data entries to return. The number of previous filings to return. The date parameter takes priority over this parameter.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[Form13FHR]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
Form13FHR
|
||||
---------
|
||||
period_ending : date
|
||||
The end-of-quarter date of the filing.
|
||||
issuer : str
|
||||
The name of the issuer.
|
||||
cusip : str
|
||||
The CUSIP of the security.
|
||||
asset_class : str
|
||||
The title of the asset class for the security.
|
||||
security_type : Optional[Literal['SH', 'PRN']]
|
||||
Whether the principal amount represents the number of shares or the principal amount of such class. 'SH' for shares. 'PRN' for principal amount. Convertible debt securities are reported as 'PRN'.
|
||||
option_type : Optional[Literal['call', 'put']]
|
||||
Defined when the holdings being reported are put or call options. Only long positions are reported.
|
||||
investment_discretion : Optional[str]
|
||||
The investment discretion held by the Manager. Sole, shared-defined (DFN), or shared-other (OTR).
|
||||
voting_authority_sole : Optional[int]
|
||||
The number of shares for which the Manager exercises sole voting authority.
|
||||
voting_authority_shared : Optional[int]
|
||||
The number of shares for which the Manager exercises a defined shared voting authority.
|
||||
voting_authority_none : Optional[int]
|
||||
The number of shares for which the Manager exercises no voting authority.
|
||||
principal_amount : int
|
||||
The total number of shares of the class of security or the principal amount of such class. Defined by the 'security_type'. Only long positions are reported
|
||||
value : int
|
||||
The fair market value of the holding of the particular class of security. The value reported for options is the fair market value of the underlying security with respect to the number of shares controlled. Values are rounded to the nearest US dollar and use the closing price of the last trading day of the calendar year or quarter.
|
||||
weight : Optional[float]
|
||||
The weight of the security relative to the market value of all securities in the filing , as a normalized percent. (provider: sec)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.ownership.form_13f(symbol='NVDA', provider='sec')
|
||||
>>> # Enter a date (calendar quarter ending) for a specific report.
|
||||
>>> obb.equity.ownership.form_13f(symbol='BRK-A', date='2016-09-30', provider='sec')
|
||||
>>> # Example finding Michael Burry's filings.
|
||||
>>> cik = obb.regulators.sec.institutions_search("Scion Asset Management").results[0].cik
|
||||
>>> # Use the `limit` parameter to return N number of reports from the most recent.
|
||||
>>> obb.equity.ownership.form_13f(cik, limit=2).to_df()
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/ownership/form_13f",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.ownership.form_13f",
|
||||
("sec",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
"date": date,
|
||||
"limit": limit,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def government_trades(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
Union[str, None, list[Optional[str]]],
|
||||
OpenBBField(
|
||||
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp."
|
||||
),
|
||||
] = None,
|
||||
chamber: Annotated[
|
||||
Literal["house", "senate", "all"],
|
||||
OpenBBField(description="Government Chamber."),
|
||||
] = "all",
|
||||
limit: Annotated[
|
||||
Optional[Annotated[int, Ge(ge=0)]],
|
||||
OpenBBField(description="The number of data entries to return."),
|
||||
] = 100,
|
||||
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:
|
||||
"""Obtain government transaction data, including data from the Senate
|
||||
and the House of Representatives.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp.
|
||||
symbol : Union[str, None, list[Optional[str]]]
|
||||
Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp.
|
||||
chamber : Literal['house', 'senate', 'all']
|
||||
Government Chamber.
|
||||
limit : Optional[Annotated[int, Ge(ge=0)]]
|
||||
The number of data entries to return.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[GovernmentTrades]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
GovernmentTrades
|
||||
----------------
|
||||
symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data.
|
||||
date : date
|
||||
The date of the data.
|
||||
transaction_date : Optional[date]
|
||||
Date of Transaction.
|
||||
representative : Optional[str]
|
||||
Name of Representative.
|
||||
chamber : Optional[Literal['house', 'senate']]
|
||||
Government Chamber - House or Senate. (provider: fmp)
|
||||
owner : Optional[str]
|
||||
Ownership status (e.g., Spouse, Joint). (provider: fmp)
|
||||
asset_type : Optional[str]
|
||||
Type of asset involved in the transaction. (provider: fmp)
|
||||
asset_description : Optional[str]
|
||||
Description of the asset. (provider: fmp)
|
||||
transaction_type : Optional[str]
|
||||
Type of transaction (e.g., Sale, Purchase). (provider: fmp)
|
||||
amount : Optional[str]
|
||||
Transaction amount range. (provider: fmp)
|
||||
comment : Optional[str]
|
||||
Additional comments on the transaction. (provider: fmp)
|
||||
url : Optional[str]
|
||||
Link to the transaction document. (provider: fmp)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.ownership.government_trades(symbol='AAPL', chamber='all', provider='fmp')
|
||||
>>> obb.equity.ownership.government_trades(limit=500, chamber='all', provider='fmp')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/ownership/government_trades",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.ownership.government_trades",
|
||||
("fmp",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
"chamber": chamber,
|
||||
"limit": limit,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"symbol": {"fmp": {"multiple_items_allowed": True, "choices": None}}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def insider_trading(
|
||||
self,
|
||||
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
|
||||
limit: Annotated[
|
||||
int, OpenBBField(description="The number of data entries to return.")
|
||||
] = 500,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fmp", "intrinio", "sec"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, intrinio, sec."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get data about trading by a company's management team and board of directors.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, intrinio, sec.
|
||||
symbol : str
|
||||
Symbol to get data for.
|
||||
limit : int
|
||||
The number of data entries to return.
|
||||
transaction_type : Optional[Literal['award', 'conversion', 'return', 'expire_short', 'in_kind', 'gift', 'expire_long', 'discretionary', 'other', 'small', 'exempt', 'otm', 'purchase', 'sale', 'tender', 'will', 'itm', 'trust']]
|
||||
Type of the transaction. (provider: fmp)
|
||||
start_date : Optional[date]
|
||||
Start date of the data, in YYYY-MM-DD format. (provider: intrinio)
|
||||
end_date : Optional[date]
|
||||
End date of the data, in YYYY-MM-DD format. (provider: intrinio, sec)
|
||||
ownership_type : Optional[Literal['D', 'I']]
|
||||
Type of ownership. (provider: intrinio)
|
||||
sort_by : Optional[Literal['filing_date', 'updated_on']]
|
||||
Field to sort by. (provider: intrinio)
|
||||
use_cache : bool
|
||||
Persist the data locally for future use. Default is True. Each form submission is an individual download and the SEC limits the number of concurrent downloads. This prevents the same file from being downloaded multiple times. (provider: sec)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[InsiderTrading]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
InsiderTrading
|
||||
--------------
|
||||
symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data.
|
||||
company_cik : Optional[Union[int, str]]
|
||||
CIK number of the company.
|
||||
filing_date : Optional[Union[date, datetime]]
|
||||
Filing date of the trade.
|
||||
transaction_date : Optional[date]
|
||||
Date of the transaction.
|
||||
owner_cik : Optional[Union[int, str]]
|
||||
Reporting individual's CIK.
|
||||
owner_name : Optional[str]
|
||||
Name of the reporting individual.
|
||||
owner_title : Optional[str]
|
||||
The title held by the reporting individual.
|
||||
transaction_type : Optional[str]
|
||||
Type of transaction being reported.
|
||||
acquisition_or_disposition : Optional[str]
|
||||
Acquisition or disposition of the shares.
|
||||
security_type : Optional[str]
|
||||
The type of security transacted.
|
||||
securities_owned : Optional[float]
|
||||
Number of securities owned by the reporting individual.
|
||||
securities_transacted : Optional[float]
|
||||
Number of securities transacted by the reporting individual.
|
||||
transaction_price : Optional[float]
|
||||
The price of the transaction.
|
||||
filing_url : Optional[str]
|
||||
Link to the filing.
|
||||
form_type : Optional[str]
|
||||
Form type of the insider trading. (provider: fmp)
|
||||
company_name : Optional[str]
|
||||
Name of the company. (provider: intrinio, sec)
|
||||
conversion_exercise_price : Optional[float]
|
||||
Conversion/Exercise price of the shares. (provider: intrinio);
|
||||
Price of conversion or exercise of the securities. (provider: sec)
|
||||
deemed_execution_date : Optional[date]
|
||||
Deemed execution date of the trade. (provider: intrinio);
|
||||
Deemed execution date. (provider: sec)
|
||||
exercise_date : Optional[date]
|
||||
Exercise date of the trade. (provider: intrinio);
|
||||
Date of exercise. (provider: sec)
|
||||
expiration_date : Optional[date]
|
||||
Expiration date of the derivative. (provider: intrinio);
|
||||
Date of expiration for the derivative. (provider: sec)
|
||||
underlying_security_title : Optional[str]
|
||||
Name of the underlying non-derivative security related to this derivative transaction. (provider: intrinio);
|
||||
Title of the underlying security. (provider: sec)
|
||||
underlying_shares : Optional[Union[int, float]]
|
||||
Number of underlying shares related to this derivative transaction. (provider: intrinio)
|
||||
nature_of_ownership : Optional[str]
|
||||
Nature of ownership of the insider trading. (provider: intrinio);
|
||||
Nature of the ownership. (provider: sec)
|
||||
director : Optional[bool]
|
||||
Whether the owner is a director. (provider: intrinio, sec)
|
||||
officer : Optional[bool]
|
||||
Whether the owner is an officer. (provider: intrinio, sec)
|
||||
ten_percent_owner : Optional[bool]
|
||||
Whether the owner is a 10% owner. (provider: intrinio, sec)
|
||||
other_relation : Optional[bool]
|
||||
Whether the owner is having another relation. (provider: intrinio)
|
||||
derivative_transaction : Optional[bool]
|
||||
Whether the owner is having a derivative transaction. (provider: intrinio)
|
||||
report_line_number : Optional[int]
|
||||
Report line number of the insider trading. (provider: intrinio)
|
||||
form : Optional[Union[str, int]]
|
||||
Form type. (provider: sec)
|
||||
other : Optional[bool]
|
||||
Whether the owner is classified as other. (provider: sec)
|
||||
other_text : Optional[str]
|
||||
Text for other classification. (provider: sec)
|
||||
transaction_timeliness : Optional[str]
|
||||
Timeliness of the transaction. (provider: sec)
|
||||
ownership_type : Optional[str]
|
||||
Type of ownership, direct or indirect. (provider: sec)
|
||||
underlying_security_shares : Optional[float]
|
||||
Number of underlying shares associated with the derivative. (provider: sec)
|
||||
underlying_security_value : Optional[float]
|
||||
Value of the underlying security. (provider: sec)
|
||||
transaction_value : Optional[float]
|
||||
Total value of the transaction. (provider: sec)
|
||||
value_owned : Optional[float]
|
||||
Value of the securities owned after the transaction. (provider: sec)
|
||||
footnote : Optional[str]
|
||||
Footnote for the transaction. (provider: sec)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.ownership.insider_trading(symbol='AAPL', provider='fmp')
|
||||
>>> obb.equity.ownership.insider_trading(symbol='AAPL', limit=500, provider='intrinio')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/ownership/insider_trading",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.ownership.insider_trading",
|
||||
("fmp", "intrinio", "sec"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
"limit": limit,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"transaction_type": {
|
||||
"fmp": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"award",
|
||||
"conversion",
|
||||
"return",
|
||||
"expire_short",
|
||||
"in_kind",
|
||||
"gift",
|
||||
"expire_long",
|
||||
"discretionary",
|
||||
"other",
|
||||
"small",
|
||||
"exempt",
|
||||
"otm",
|
||||
"purchase",
|
||||
"sale",
|
||||
"tender",
|
||||
"will",
|
||||
"itm",
|
||||
"trust",
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def institutional(
|
||||
self,
|
||||
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
|
||||
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:
|
||||
"""Get data about institutional ownership for a given company over time.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp.
|
||||
symbol : str
|
||||
Symbol to get data for.
|
||||
include_current_quarter : Optional[bool]
|
||||
Include current quarter data. (provider: fmp)
|
||||
date : Optional[date]
|
||||
A specific date to get data for. (provider: fmp)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[InstitutionalOwnership]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
InstitutionalOwnership
|
||||
----------------------
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
cik : Optional[str]
|
||||
Central Index Key (CIK) for the requested entity.
|
||||
date : date
|
||||
The date of the data.
|
||||
investors_holding : Optional[int]
|
||||
Number of investors holding the stock. (provider: fmp)
|
||||
last_investors_holding : Optional[int]
|
||||
Number of investors holding the stock in the last quarter. (provider: fmp)
|
||||
investors_holding_change : Optional[int]
|
||||
Change in the number of investors holding the stock. (provider: fmp)
|
||||
number_of_13f_shares : Optional[int]
|
||||
Number of 13F shares. (provider: fmp)
|
||||
last_number_of_13f_shares : Optional[int]
|
||||
Number of 13F shares in the last quarter. (provider: fmp)
|
||||
number_of_13f_shares_change : Optional[int]
|
||||
Change in the number of 13F shares. (provider: fmp)
|
||||
total_invested : Optional[float]
|
||||
Total amount invested. (provider: fmp)
|
||||
last_total_invested : Optional[float]
|
||||
Total amount invested in the last quarter. (provider: fmp)
|
||||
total_invested_change : Optional[float]
|
||||
Change in the total amount invested. (provider: fmp)
|
||||
ownership_percent : Optional[float]
|
||||
Ownership percent. (provider: fmp)
|
||||
last_ownership_percent : Optional[float]
|
||||
Ownership percent in the last quarter. (provider: fmp)
|
||||
ownership_percent_change : Optional[float]
|
||||
Change in the ownership percent. (provider: fmp)
|
||||
new_positions : Optional[int]
|
||||
Number of new positions. (provider: fmp)
|
||||
last_new_positions : Optional[int]
|
||||
Number of new positions in the last quarter. (provider: fmp)
|
||||
new_positions_change : Optional[int]
|
||||
Change in the number of new positions. (provider: fmp)
|
||||
increased_positions : Optional[int]
|
||||
Number of increased positions. (provider: fmp)
|
||||
last_increased_positions : Optional[int]
|
||||
Number of increased positions in the last quarter. (provider: fmp)
|
||||
increased_positions_change : Optional[int]
|
||||
Change in the number of increased positions. (provider: fmp)
|
||||
closed_positions : Optional[int]
|
||||
Number of closed positions. (provider: fmp)
|
||||
last_closed_positions : Optional[int]
|
||||
Number of closed positions in the last quarter. (provider: fmp)
|
||||
closed_positions_change : Optional[int]
|
||||
Change in the number of closed positions. (provider: fmp)
|
||||
reduced_positions : Optional[int]
|
||||
Number of reduced positions. (provider: fmp)
|
||||
last_reduced_positions : Optional[int]
|
||||
Number of reduced positions in the last quarter. (provider: fmp)
|
||||
reduced_positions_change : Optional[int]
|
||||
Change in the number of reduced positions. (provider: fmp)
|
||||
total_calls : Optional[int]
|
||||
Total number of call options contracts traded for Apple Inc. on the specified date. (provider: fmp)
|
||||
last_total_calls : Optional[int]
|
||||
Total number of call options contracts traded for Apple Inc. on the previous reporting date. (provider: fmp)
|
||||
total_calls_change : Optional[int]
|
||||
Change in the total number of call options contracts traded between the current and previous reporting dates. (provider: fmp)
|
||||
total_puts : Optional[int]
|
||||
Total number of put options contracts traded for Apple Inc. on the specified date. (provider: fmp)
|
||||
last_total_puts : Optional[int]
|
||||
Total number of put options contracts traded for Apple Inc. on the previous reporting date. (provider: fmp)
|
||||
total_puts_change : Optional[int]
|
||||
Change in the total number of put options contracts traded between the current and previous reporting dates. (provider: fmp)
|
||||
put_call_ratio : Optional[float]
|
||||
Put-call ratio, which is the ratio of the total number of put options to call options traded on the specified date. (provider: fmp)
|
||||
last_put_call_ratio : Optional[float]
|
||||
Put-call ratio on the previous reporting date. (provider: fmp)
|
||||
put_call_ratio_change : Optional[float]
|
||||
Change in the put-call ratio between the current and previous reporting dates. (provider: fmp)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.ownership.institutional(symbol='AAPL', provider='fmp')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/ownership/institutional",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.ownership.institutional",
|
||||
("fmp",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def major_holders(
|
||||
self,
|
||||
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
|
||||
date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="A specific date to get data for."),
|
||||
] = None,
|
||||
page: Annotated[
|
||||
Optional[int], OpenBBField(description="Page number of the data to fetch.")
|
||||
] = 0,
|
||||
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:
|
||||
"""Get data about major holders for a given company over time.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp.
|
||||
symbol : str
|
||||
Symbol to get data for.
|
||||
date : Union[date, None, str]
|
||||
A specific date to get data for.
|
||||
page : Optional[int]
|
||||
Page number of the data to fetch.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[EquityOwnership]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
EquityOwnership
|
||||
---------------
|
||||
date : date
|
||||
The date of the data.
|
||||
cik : int
|
||||
Central Index Key (CIK) for the requested entity.
|
||||
filing_date : date
|
||||
Filing date of the stock ownership.
|
||||
investor_name : str
|
||||
Investor name of the stock ownership.
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
security_name : str
|
||||
Security name of the stock ownership.
|
||||
type_of_security : str
|
||||
Type of security of the stock ownership.
|
||||
security_cusip : str
|
||||
Security cusip of the stock ownership.
|
||||
shares_type : str
|
||||
Shares type of the stock ownership.
|
||||
put_call_share : str
|
||||
Put call share of the stock ownership.
|
||||
investment_discretion : str
|
||||
Investment discretion of the stock ownership.
|
||||
industry_title : str
|
||||
Industry title of the stock ownership.
|
||||
weight : float
|
||||
Weight of the stock ownership.
|
||||
last_weight : float
|
||||
Last weight of the stock ownership.
|
||||
change_in_weight : float
|
||||
Change in weight of the stock ownership.
|
||||
change_in_weight_percentage : float
|
||||
Change in weight percentage of the stock ownership.
|
||||
market_value : int
|
||||
Market value of the stock ownership.
|
||||
last_market_value : int
|
||||
Last market value of the stock ownership.
|
||||
change_in_market_value : int
|
||||
Change in market value of the stock ownership.
|
||||
change_in_market_value_percentage : float
|
||||
Change in market value percentage of the stock ownership.
|
||||
shares_number : int
|
||||
Shares number of the stock ownership.
|
||||
last_shares_number : int
|
||||
Last shares number of the stock ownership.
|
||||
change_in_shares_number : float
|
||||
Change in shares number of the stock ownership.
|
||||
change_in_shares_number_percentage : float
|
||||
Change in shares number percentage of the stock ownership.
|
||||
quarter_end_price : float
|
||||
Quarter end price of the stock ownership.
|
||||
avg_price_paid : float
|
||||
Average price paid of the stock ownership.
|
||||
is_new : bool
|
||||
Is the stock ownership new.
|
||||
is_sold_out : bool
|
||||
Is the stock ownership sold out.
|
||||
ownership : float
|
||||
How much is the ownership.
|
||||
last_ownership : float
|
||||
Last ownership amount.
|
||||
change_in_ownership : float
|
||||
Change in ownership amount.
|
||||
change_in_ownership_percentage : float
|
||||
Change in ownership percentage.
|
||||
holding_period : int
|
||||
Holding period of the stock ownership.
|
||||
first_added : date
|
||||
First added date of the stock ownership.
|
||||
performance : float
|
||||
Performance of the stock ownership.
|
||||
performance_percentage : float
|
||||
Performance percentage of the stock ownership.
|
||||
last_performance : float
|
||||
Last performance of the stock ownership.
|
||||
change_in_performance : float
|
||||
Change in performance of the stock ownership.
|
||||
is_counted_for_performance : bool
|
||||
Is the stock ownership counted for performance.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.ownership.major_holders(symbol='AAPL', provider='fmp')
|
||||
>>> obb.equity.ownership.major_holders(symbol='AAPL', page=0, provider='fmp')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/ownership/major_holders",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.ownership.major_holders",
|
||||
("fmp",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
"date": date,
|
||||
"page": page,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def share_statistics(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
Union[str, list[str]],
|
||||
OpenBBField(
|
||||
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): yfinance."
|
||||
),
|
||||
],
|
||||
provider: Annotated[
|
||||
Optional[Literal["fmp", "intrinio", "yfinance"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, intrinio, yfinance."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get data about share float for a given company.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, intrinio, yfinance.
|
||||
symbol : Union[str, list[str]]
|
||||
Symbol to get data for. Multiple comma separated items allowed for provider(s): yfinance.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[ShareStatistics]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
ShareStatistics
|
||||
---------------
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
date : Optional[date]
|
||||
The date of the data.
|
||||
free_float : Optional[float]
|
||||
Percentage of unrestricted shares of a publicly-traded company.
|
||||
float_shares : Optional[float]
|
||||
Number of shares available for trading by the general public.
|
||||
outstanding_shares : Optional[float]
|
||||
Total number of shares of a publicly-traded company.
|
||||
source : Optional[str]
|
||||
Source of the received data.
|
||||
adjusted_outstanding_shares : Optional[float]
|
||||
Total number of shares of a publicly-traded company, adjusted for splits. (provider: intrinio)
|
||||
public_float : Optional[float]
|
||||
Aggregate market value of the shares of a publicly-traded company. (provider: intrinio)
|
||||
implied_shares_outstanding : Optional[int]
|
||||
Implied Shares Outstanding of common equity, assuming the conversion of all convertible subsidiary equity into common. (provider: yfinance)
|
||||
short_interest : Optional[int]
|
||||
Number of shares that are reported short. (provider: yfinance)
|
||||
short_percent_of_float : Optional[float]
|
||||
Percentage of shares that are reported short, as a normalized percent. (provider: yfinance)
|
||||
days_to_cover : Optional[float]
|
||||
Number of days to repurchase the shares as a ratio of average daily volume (provider: yfinance)
|
||||
short_interest_prev_month : Optional[int]
|
||||
Number of shares that were reported short in the previous month. (provider: yfinance)
|
||||
short_interest_prev_date : Optional[date]
|
||||
Date of the previous month's report. (provider: yfinance)
|
||||
insider_ownership : Optional[float]
|
||||
Percentage of shares held by insiders, as a normalized percent. (provider: yfinance)
|
||||
institution_ownership : Optional[float]
|
||||
Percentage of shares held by institutions, as a normalized percent. (provider: yfinance)
|
||||
institution_float_ownership : Optional[float]
|
||||
Percentage of float held by institutions, as a normalized percent. (provider: yfinance)
|
||||
institutions_count : Optional[int]
|
||||
Number of institutions holding shares. (provider: yfinance)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.ownership.share_statistics(symbol='AAPL', provider='fmp')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/ownership/share_statistics",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.ownership.share_statistics",
|
||||
("fmp", "intrinio", "yfinance"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"symbol": {
|
||||
"yfinance": {"multiple_items_allowed": True, "choices": None}
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
@@ -1,630 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_equity_price(Container):
|
||||
"""/equity/price
|
||||
historical
|
||||
nbbo
|
||||
performance
|
||||
quote
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def historical(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
Union[str, list[str]],
|
||||
OpenBBField(
|
||||
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp, polygon, tiingo, yfinance."
|
||||
),
|
||||
],
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fmp", "intrinio", "polygon", "tiingo", "yfinance"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, intrinio, polygon, tiingo, yfinance."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get historical price data for a given stock. This includes open, high, low, close, and volume.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, intrinio, polygon, tiingo, yfinance.
|
||||
symbol : Union[str, list[str]]
|
||||
Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp, polygon, tiingo, yfinance.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
interval : str
|
||||
Time interval of the data to return. (provider: fmp, intrinio, polygon, tiingo, yfinance)
|
||||
Choices for fmp: '1m', '5m', '15m', '30m', '1h', '4h', '1d'
|
||||
Choices for intrinio: '1m', '5m', '10m', '15m', '30m', '60m', '1h', '1d', '1W', '1M', '1Q', '1Y'
|
||||
Choices for yfinance: '1m', '2m', '5m', '15m', '30m', '60m', '90m', '1h', '1d', '5d', '1W', '1M', '1Q'
|
||||
start_time : Optional[datetime.time]
|
||||
Return intervals starting at the specified time on the `start_date` formatted as 'HH:MM:SS'. (provider: intrinio)
|
||||
end_time : Optional[datetime.time]
|
||||
Return intervals stopping at the specified time on the `end_date` formatted as 'HH:MM:SS'. (provider: intrinio)
|
||||
timezone : Optional[str]
|
||||
Timezone of the data, in the IANA format (Continent/City). (provider: intrinio)
|
||||
source : Literal['realtime', 'delayed', 'nasdaq_basic']
|
||||
The source of the data. (provider: intrinio)
|
||||
adjustment : str
|
||||
The adjustment factor to apply. Default is splits only. (provider: polygon, yfinance)
|
||||
Choices for polygon: 'splits_only', 'unadjusted'
|
||||
Choices for yfinance: 'splits_only', 'splits_and_dividends'
|
||||
extended_hours : bool
|
||||
Include Pre and Post market data. (provider: polygon, yfinance)
|
||||
sort : Literal['asc', 'desc']
|
||||
Sort order of the data. This impacts the results in combination with the 'limit' parameter. The results are always returned in ascending order by date. (provider: polygon)
|
||||
limit : int
|
||||
The number of data entries to return. (provider: polygon)
|
||||
include_actions : bool
|
||||
Include dividends and stock splits in results. (provider: yfinance)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[EquityHistorical]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
EquityHistorical
|
||||
----------------
|
||||
date : Union[date, datetime]
|
||||
The date of the data.
|
||||
open : float
|
||||
The open price.
|
||||
high : float
|
||||
The high price.
|
||||
low : float
|
||||
The low price.
|
||||
close : float
|
||||
The close price.
|
||||
volume : Optional[Union[int, float]]
|
||||
The trading volume.
|
||||
vwap : Optional[float]
|
||||
Volume Weighted Average Price over the period.
|
||||
adj_close : Optional[float]
|
||||
The adjusted close price. (provider: fmp, intrinio, tiingo)
|
||||
unadjusted_volume : Optional[float]
|
||||
Unadjusted volume of the symbol. (provider: fmp)
|
||||
change : Optional[float]
|
||||
Change in the price from the previous close. (provider: fmp);
|
||||
Change in the price of the symbol from the previous day. (provider: intrinio)
|
||||
change_percent : Optional[float]
|
||||
Change in the price from the previous close, as a normalized percent. (provider: fmp);
|
||||
Percent change in the price of the symbol from the previous day. (provider: intrinio)
|
||||
average : Optional[float]
|
||||
Average trade price of an individual equity during the interval. (provider: intrinio)
|
||||
adj_open : Optional[float]
|
||||
The adjusted open price. (provider: intrinio, tiingo)
|
||||
adj_high : Optional[float]
|
||||
The adjusted high price. (provider: intrinio, tiingo)
|
||||
adj_low : Optional[float]
|
||||
The adjusted low price. (provider: intrinio, tiingo)
|
||||
adj_volume : Optional[float]
|
||||
The adjusted volume. (provider: intrinio, tiingo)
|
||||
fifty_two_week_high : Optional[float]
|
||||
52 week high price for the symbol. (provider: intrinio)
|
||||
fifty_two_week_low : Optional[float]
|
||||
52 week low price for the symbol. (provider: intrinio)
|
||||
factor : Optional[float]
|
||||
factor by which to multiply equity prices before this date, in order to calculate historically-adjusted equity prices. (provider: intrinio)
|
||||
split_ratio : Optional[float]
|
||||
Ratio of the equity split, if a split occurred. (provider: intrinio, tiingo, yfinance)
|
||||
dividend : Optional[float]
|
||||
Dividend amount, if a dividend was paid. (provider: intrinio, tiingo, yfinance)
|
||||
close_time : Optional[datetime]
|
||||
The timestamp that represents the end of the interval span. (provider: intrinio)
|
||||
interval : Optional[str]
|
||||
The data time frequency. (provider: intrinio)
|
||||
intra_period : Optional[bool]
|
||||
If true, the equity price represents an unfinished period (be it day, week, quarter, month, or year), meaning that the close price is the latest price available, not the official close price for the period (provider: intrinio)
|
||||
transactions : Optional[Annotated[int, Gt(gt=0)]]
|
||||
Number of transactions for the symbol in the time period. (provider: polygon)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.price.historical(symbol='AAPL', provider='fmp')
|
||||
>>> obb.equity.price.historical(symbol='AAPL', interval='1d', provider='intrinio')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/price/historical",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.price.historical",
|
||||
("fmp", "intrinio", "polygon", "tiingo", "yfinance"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"symbol": {
|
||||
"fmp": {"multiple_items_allowed": True, "choices": None},
|
||||
"polygon": {"multiple_items_allowed": True, "choices": None},
|
||||
"tiingo": {"multiple_items_allowed": True, "choices": None},
|
||||
"yfinance": {"multiple_items_allowed": True, "choices": None},
|
||||
},
|
||||
"interval": {
|
||||
"fmp": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": ["1m", "5m", "15m", "30m", "1h", "4h", "1d"],
|
||||
},
|
||||
"intrinio": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"1m",
|
||||
"5m",
|
||||
"10m",
|
||||
"15m",
|
||||
"30m",
|
||||
"60m",
|
||||
"1h",
|
||||
"1d",
|
||||
"1W",
|
||||
"1M",
|
||||
"1Q",
|
||||
"1Y",
|
||||
],
|
||||
},
|
||||
"tiingo": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"1m",
|
||||
"5m",
|
||||
"15m",
|
||||
"30m",
|
||||
"90m",
|
||||
"1h",
|
||||
"2h",
|
||||
"4h",
|
||||
"1d",
|
||||
"1W",
|
||||
"1M",
|
||||
"1Y",
|
||||
],
|
||||
},
|
||||
"yfinance": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"1m",
|
||||
"2m",
|
||||
"5m",
|
||||
"15m",
|
||||
"30m",
|
||||
"60m",
|
||||
"90m",
|
||||
"1h",
|
||||
"1d",
|
||||
"5d",
|
||||
"1W",
|
||||
"1M",
|
||||
"1Q",
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def nbbo(
|
||||
self,
|
||||
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
|
||||
provider: Annotated[
|
||||
Optional[Literal["polygon"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: polygon."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get the National Best Bid and Offer for a given stock.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: polygon.
|
||||
symbol : str
|
||||
Symbol to get data for.
|
||||
limit : int
|
||||
The number of data entries to return. Up to ten million records will be returned. Pagination occurs in groups of 50,000. Remaining limit values will always return 50,000 more records unless it is the last page. High volume tickers will require multiple max requests for a single day's NBBO records. Expect stocks, like SPY, to approach 1GB in size, per day, as a raw CSV. Splitting large requests into chunks is recommended for full-day requests of high-volume symbols. (provider: polygon)
|
||||
date : Optional[date]
|
||||
A specific date to get data for. Use bracketed the timestamp parameters to specify exact time ranges. (provider: polygon)
|
||||
timestamp_lt : Union[datetime, str, None]
|
||||
Query by datetime, less than. Either a date with the format 'YYYY-MM-DD' or a TZ-aware timestamp string, 'YYYY-MM-DDTH:M:S.000000000-04:00'. Include all nanoseconds and the 'T' between the day and hour. (provider: polygon)
|
||||
timestamp_gt : Union[datetime, str, None]
|
||||
Query by datetime, greater than. Either a date with the format 'YYYY-MM-DD' or a TZ-aware timestamp string, 'YYYY-MM-DDTH:M:S.000000000-04:00'. Include all nanoseconds and the 'T' between the day and hour. (provider: polygon)
|
||||
timestamp_lte : Union[datetime, str, None]
|
||||
Query by datetime, less than or equal to. Either a date with the format 'YYYY-MM-DD' or a TZ-aware timestamp string, 'YYYY-MM-DDTH:M:S.000000000-04:00'. Include all nanoseconds and the 'T' between the day and hour. (provider: polygon)
|
||||
timestamp_gte : Union[datetime, str, None]
|
||||
Query by datetime, greater than or equal to. Either a date with the format 'YYYY-MM-DD' or a TZ-aware timestamp string, 'YYYY-MM-DDTH:M:S.000000000-04:00'. Include all nanoseconds and the 'T' between the day and hour. (provider: polygon)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[EquityNBBO]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
EquityNBBO
|
||||
----------
|
||||
ask_exchange : str
|
||||
The exchange ID for the ask.
|
||||
ask : float
|
||||
The last ask price.
|
||||
ask_size : int
|
||||
The ask size. This represents the number of round lot orders at the given ask price.
|
||||
The normal round lot size is 100 shares.
|
||||
An ask size of 2 means there are 200 shares available to purchase at the given ask price.
|
||||
bid_size : int
|
||||
The bid size in round lots.
|
||||
bid : float
|
||||
The last bid price.
|
||||
bid_exchange : str
|
||||
The exchange ID for the bid.
|
||||
tape : Optional[str]
|
||||
The exchange tape. (provider: polygon)
|
||||
conditions : Optional[Union[str, list[int], list[str]]]
|
||||
A list of condition codes. (provider: polygon)
|
||||
indicators : Optional[list[int]]
|
||||
A list of indicator codes. (provider: polygon)
|
||||
sequence_num : Optional[int]
|
||||
The sequence number represents the sequence in which message events happened. These are increasing and unique per ticker symbol, but will not always be sequential (e.g., 1, 2, 6, 9, 10, 11) (provider: polygon)
|
||||
participant_timestamp : Optional[datetime]
|
||||
The nanosecond accuracy Participant/Exchange Unix Timestamp. This is the timestamp of when the quote was actually generated at the exchange. (provider: polygon)
|
||||
sip_timestamp : Optional[datetime]
|
||||
The nanosecond accuracy SIP Unix Timestamp. This is the timestamp of when the SIP received this quote from the exchange which produced it. (provider: polygon)
|
||||
trf_timestamp : Optional[datetime]
|
||||
The nanosecond accuracy TRF (Trade Reporting Facility) Unix Timestamp. This is the timestamp of when the trade reporting facility received this quote. (provider: polygon)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.price.nbbo(symbol='AAPL', provider='polygon')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/price/nbbo",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.price.nbbo",
|
||||
("polygon",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def performance(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
Union[str, list[str]],
|
||||
OpenBBField(
|
||||
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp."
|
||||
),
|
||||
],
|
||||
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:
|
||||
"""Get price performance data for a given stock. This includes price changes for different time periods.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp.
|
||||
symbol : Union[str, list[str]]
|
||||
Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[PricePerformance]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
PricePerformance
|
||||
----------------
|
||||
symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data.
|
||||
one_day : Optional[float]
|
||||
One-day return.
|
||||
wtd : Optional[float]
|
||||
Week to date return.
|
||||
one_week : Optional[float]
|
||||
One-week return.
|
||||
mtd : Optional[float]
|
||||
Month to date return.
|
||||
one_month : Optional[float]
|
||||
One-month return.
|
||||
qtd : Optional[float]
|
||||
Quarter to date return.
|
||||
three_month : Optional[float]
|
||||
Three-month return.
|
||||
six_month : Optional[float]
|
||||
Six-month return.
|
||||
ytd : Optional[float]
|
||||
Year to date return.
|
||||
one_year : Optional[float]
|
||||
One-year return.
|
||||
two_year : Optional[float]
|
||||
Two-year return.
|
||||
three_year : Optional[float]
|
||||
Three-year return.
|
||||
four_year : Optional[float]
|
||||
Four-year
|
||||
five_year : Optional[float]
|
||||
Five-year return.
|
||||
ten_year : Optional[float]
|
||||
Ten-year return.
|
||||
max : Optional[float]
|
||||
Return from the beginning of the time series.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.price.performance(symbol='AAPL', provider='fmp')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/price/performance",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.price.performance",
|
||||
("fmp",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"symbol": {"fmp": {"multiple_items_allowed": True, "choices": None}}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def quote(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
Union[str, list[str]],
|
||||
OpenBBField(
|
||||
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp, intrinio, yfinance."
|
||||
),
|
||||
],
|
||||
provider: Annotated[
|
||||
Optional[Literal["fmp", "intrinio", "yfinance"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, intrinio, yfinance."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get the latest quote for a given stock. Quote includes price, volume, and other data.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, intrinio, yfinance.
|
||||
symbol : Union[str, list[str]]
|
||||
Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp, intrinio, yfinance.
|
||||
source : Literal['iex', 'bats', 'bats_delayed', 'utp_delayed', 'cta_a_delayed', 'cta_b_delayed', 'intrinio_mx', 'intrinio_mx_plus', 'delayed_sip']
|
||||
Source of the data. (provider: intrinio)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[EquityQuote]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
EquityQuote
|
||||
-----------
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
asset_type : Optional[str]
|
||||
Type of asset - i.e, stock, ETF, etc.
|
||||
name : Optional[str]
|
||||
Name of the company or asset.
|
||||
exchange : Optional[str]
|
||||
The name or symbol of the venue where the data is from.
|
||||
bid : Optional[float]
|
||||
Price of the top bid order.
|
||||
bid_size : Optional[int]
|
||||
This represents the number of round lot orders at the given price. The normal round lot size is 100 shares. A size of 2 means there are 200 shares available at the given price.
|
||||
bid_exchange : Optional[str]
|
||||
The specific trading venue where the purchase order was placed.
|
||||
ask : Optional[float]
|
||||
Price of the top ask order.
|
||||
ask_size : Optional[int]
|
||||
This represents the number of round lot orders at the given price. The normal round lot size is 100 shares. A size of 2 means there are 200 shares available at the given price.
|
||||
ask_exchange : Optional[str]
|
||||
The specific trading venue where the sale order was placed.
|
||||
quote_conditions : Optional[Union[str, int, list[str], list[int]]]
|
||||
Conditions or condition codes applicable to the quote.
|
||||
quote_indicators : Optional[Union[str, int, list[str], list[int]]]
|
||||
Indicators or indicator codes applicable to the participant quote related to the price bands for the issue, or the affect the quote has on the NBBO.
|
||||
sales_conditions : Optional[Union[str, int, list[str], list[int]]]
|
||||
Conditions or condition codes applicable to the sale.
|
||||
sequence_number : Optional[int]
|
||||
The sequence number represents the sequence in which message events happened. These are increasing and unique per ticker symbol, but will not always be sequential (e.g., 1, 2, 6, 9, 10, 11).
|
||||
market_center : Optional[str]
|
||||
The ID of the UTP participant that originated the message.
|
||||
participant_timestamp : Optional[datetime]
|
||||
Timestamp for when the quote was generated by the exchange.
|
||||
trf_timestamp : Optional[datetime]
|
||||
Timestamp for when the TRF (Trade Reporting Facility) received the message.
|
||||
sip_timestamp : Optional[datetime]
|
||||
Timestamp for when the SIP (Security Information Processor) received the message from the exchange.
|
||||
last_price : Optional[float]
|
||||
Price of the last trade.
|
||||
last_tick : Optional[str]
|
||||
Whether the last sale was an up or down tick.
|
||||
last_size : Optional[int]
|
||||
Size of the last trade.
|
||||
last_timestamp : Optional[datetime]
|
||||
Date and Time when the last price was recorded.
|
||||
open : Optional[float]
|
||||
The open price.
|
||||
high : Optional[float]
|
||||
The high price.
|
||||
low : Optional[float]
|
||||
The low price.
|
||||
close : Optional[float]
|
||||
The close price.
|
||||
volume : Optional[Union[int, float]]
|
||||
The trading volume.
|
||||
exchange_volume : Optional[Union[int, float]]
|
||||
Volume of shares exchanged during the trading day on the specific exchange.
|
||||
prev_close : Optional[float]
|
||||
The previous close price.
|
||||
change : Optional[float]
|
||||
Change in price from previous close.
|
||||
change_percent : Optional[float]
|
||||
Change in price as a normalized percentage.
|
||||
year_high : Optional[float]
|
||||
The one year high (52W High).
|
||||
year_low : Optional[float]
|
||||
The one year low (52W Low).
|
||||
price_avg50 : Optional[float]
|
||||
50 day moving average price. (provider: fmp)
|
||||
price_avg200 : Optional[float]
|
||||
200 day moving average price. (provider: fmp)
|
||||
avg_volume : Optional[int]
|
||||
Average volume over the last 10 trading days. (provider: fmp)
|
||||
market_cap : Optional[float]
|
||||
Market cap of the company. (provider: fmp)
|
||||
shares_outstanding : Optional[int]
|
||||
Number of shares outstanding. (provider: fmp)
|
||||
eps : Optional[float]
|
||||
Earnings per share. (provider: fmp)
|
||||
pe : Optional[float]
|
||||
Price earnings ratio. (provider: fmp)
|
||||
earnings_announcement : Optional[datetime]
|
||||
Upcoming earnings announcement date. (provider: fmp)
|
||||
is_darkpool : Optional[bool]
|
||||
Whether or not the current trade is from a darkpool. (provider: intrinio)
|
||||
source : Optional[str]
|
||||
Source of the Intrinio data. (provider: intrinio)
|
||||
updated_on : Optional[datetime]
|
||||
Date and Time when the data was last updated. (provider: intrinio)
|
||||
security : Optional[IntrinioSecurity]
|
||||
Security details related to the quote. (provider: intrinio)
|
||||
ma_50d : Optional[float]
|
||||
50-day moving average price. (provider: yfinance)
|
||||
ma_200d : Optional[float]
|
||||
200-day moving average price. (provider: yfinance)
|
||||
volume_average : Optional[float]
|
||||
Average daily trading volume. (provider: yfinance)
|
||||
volume_average_10d : Optional[float]
|
||||
Average daily trading volume in the last 10 days. (provider: yfinance)
|
||||
currency : Optional[str]
|
||||
Currency of the price. (provider: yfinance)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.price.quote(symbol='AAPL', provider='fmp')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/price/quote",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.price.quote",
|
||||
("fmp", "intrinio", "yfinance"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"symbol": {
|
||||
"fmp": {"multiple_items_allowed": True, "choices": None},
|
||||
"intrinio": {"multiple_items_allowed": True, "choices": None},
|
||||
"yfinance": {"multiple_items_allowed": True, "choices": None},
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
@@ -1,104 +0,0 @@
|
||||
### 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_equity_shorts(Container):
|
||||
"""/equity/shorts
|
||||
fails_to_deliver
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def fails_to_deliver(
|
||||
self,
|
||||
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
|
||||
provider: Annotated[
|
||||
Optional[Literal["sec"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get reported Fail-to-deliver (FTD) data.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec.
|
||||
symbol : str
|
||||
Symbol to get data for.
|
||||
limit : Optional[int]
|
||||
|
||||
Limit the number of reports to parse, from most recent.
|
||||
Approximately 24 reports per year, going back to 2009.
|
||||
(provider: sec)
|
||||
skip_reports : Optional[int]
|
||||
|
||||
Skip N number of reports from current. A value of 1 will skip the most recent report.
|
||||
(provider: sec)
|
||||
use_cache : Optional[bool]
|
||||
Whether or not to use cache for the request, default is True. Each reporting period is a separate URL, new reports will be added to the cache. (provider: sec)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[EquityFTD]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
EquityFTD
|
||||
---------
|
||||
settlement_date : Optional[date]
|
||||
The settlement date of the fail.
|
||||
symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data.
|
||||
cusip : Optional[str]
|
||||
CUSIP of the Security.
|
||||
quantity : Optional[int]
|
||||
The number of fails on that settlement date.
|
||||
price : Optional[float]
|
||||
The price at the previous closing price from the settlement date.
|
||||
description : Optional[str]
|
||||
The description of the Security.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.equity.shorts.fails_to_deliver(symbol='AAPL', provider='sec')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/equity/shorts/fails_to_deliver",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"equity.shorts.fails_to_deliver",
|
||||
("sec",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,566 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
from warnings import simplefilter, warn
|
||||
|
||||
from openbb_core.app.deprecation import OpenBBDeprecationWarning
|
||||
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, deprecated
|
||||
|
||||
|
||||
class ROUTER_fixedincome(Container):
|
||||
"""/fixedincome
|
||||
bond_indices
|
||||
/corporate
|
||||
/government
|
||||
mortgage_indices
|
||||
/rate
|
||||
sofr
|
||||
/spreads
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def bond_indices(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
index_type: Annotated[
|
||||
Literal["yield", "yield_to_worst", "total_return", "oas"],
|
||||
OpenBBField(
|
||||
description="The type of series. OAS is the option-adjusted spread. Default is yield."
|
||||
),
|
||||
] = "yield",
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Bond Indices.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
index_type : Literal['yield', 'yield_to_worst', 'total_return', 'oas']
|
||||
The type of series. OAS is the option-adjusted spread. Default is yield.
|
||||
category : Literal['high_yield', 'us', 'emerging_markets']
|
||||
The type of index category. Used in conjunction with 'index', default is 'us'. (provider: fred)
|
||||
index : str
|
||||
The specific index to query. Used in conjunction with 'category' and 'index_type', default is 'yield_curve'.
|
||||
Possible values are:
|
||||
corporate
|
||||
seasoned_corporate
|
||||
liquid_corporate
|
||||
yield_curve
|
||||
crossover
|
||||
public_sector
|
||||
private_sector
|
||||
non_financial
|
||||
high_grade
|
||||
high_yield
|
||||
liquid_emea
|
||||
emea
|
||||
liquid_asia
|
||||
asia
|
||||
liquid_latam
|
||||
latam
|
||||
liquid_aaa
|
||||
liquid_bbb
|
||||
aaa
|
||||
aa
|
||||
a
|
||||
bbb
|
||||
bb
|
||||
b
|
||||
ccc
|
||||
|
||||
Multiple comma separated items allowed. (provider: fred)
|
||||
frequency : Optional[Literal['a', 'q', 'm', 'w', 'd', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']]
|
||||
|
||||
Frequency aggregation to convert daily data to lower frequency.
|
||||
None = No change
|
||||
a = Annual
|
||||
q = Quarterly
|
||||
m = Monthly
|
||||
w = Weekly
|
||||
d = Daily
|
||||
wef = Weekly, Ending Friday
|
||||
weth = Weekly, Ending Thursday
|
||||
wew = Weekly, Ending Wednesday
|
||||
wetu = Weekly, Ending Tuesday
|
||||
wem = Weekly, Ending Monday
|
||||
wesu = Weekly, Ending Sunday
|
||||
wesa = Weekly, Ending Saturday
|
||||
bwew = Biweekly, Ending Wednesday
|
||||
bwem = Biweekly, Ending Monday
|
||||
(provider: fred)
|
||||
aggregation_method : Literal['avg', 'sum', 'eop']
|
||||
|
||||
A key that indicates the aggregation method used for frequency aggregation.
|
||||
This parameter has no affect if the frequency parameter is not set, default is 'avg'.
|
||||
avg = Average
|
||||
sum = Sum
|
||||
eop = End of Period
|
||||
(provider: fred)
|
||||
transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']]
|
||||
|
||||
Transformation type
|
||||
None = No transformation
|
||||
chg = Change
|
||||
ch1 = Change from Year Ago
|
||||
pch = Percent Change
|
||||
pc1 = Percent Change from Year Ago
|
||||
pca = Compounded Annual Rate of Change
|
||||
cch = Continuously Compounded Rate of Change
|
||||
cca = Continuously Compounded Annual Rate of Change
|
||||
log = Natural Log
|
||||
(provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[BondIndices]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
BondIndices
|
||||
-----------
|
||||
date : date
|
||||
The date of the data.
|
||||
symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data.
|
||||
value : float
|
||||
Index values.
|
||||
maturity : Optional[str]
|
||||
The maturity range of the bond index. Only applicable when 'index' is 'yield_curve'. (provider: fred)
|
||||
title : Optional[str]
|
||||
The title of the index. (provider: fred)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> # The default state for FRED are series for constructing the US Corporate Bond Yield Curve.
|
||||
>>> obb.fixedincome.bond_indices(provider='fred')
|
||||
>>> # Multiple indices, from within the same 'category', can be requested.
|
||||
>>> obb.fixedincome.bond_indices(category='high_yield', index='us,europe,emerging', index_type='total_return', provider='fred')
|
||||
>>> # From FRED, there are three main categories, 'high_yield', 'us', and 'emerging_markets'. Emerging markets is a broad category.
|
||||
>>> obb.fixedincome.bond_indices(category='emerging_markets', index='corporate,private_sector,public_sector', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/bond_indices",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.bond_indices",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
"index_type": index_type,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"index": {
|
||||
"fred": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": [
|
||||
"a",
|
||||
"aa",
|
||||
"aaa",
|
||||
"asia",
|
||||
"b",
|
||||
"bb",
|
||||
"bbb",
|
||||
"ccc",
|
||||
"corporate",
|
||||
"crossover",
|
||||
"emea",
|
||||
"high_grade",
|
||||
"high_yield",
|
||||
"latam",
|
||||
"liquid_aaa",
|
||||
"liquid_asia",
|
||||
"liquid_bbb",
|
||||
"liquid_corporate",
|
||||
"liquid_emea",
|
||||
"liquid_latam",
|
||||
"non_financial",
|
||||
"private_sector",
|
||||
"public_sector",
|
||||
"seasoned_corporate",
|
||||
"yield_curve",
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@property
|
||||
def corporate(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import fixedincome_corporate
|
||||
|
||||
return fixedincome_corporate.ROUTER_fixedincome_corporate(
|
||||
command_runner=self._command_runner
|
||||
)
|
||||
|
||||
@property
|
||||
def government(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import fixedincome_government
|
||||
|
||||
return fixedincome_government.ROUTER_fixedincome_government(
|
||||
command_runner=self._command_runner
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def mortgage_indices(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Mortgage Indices.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
index : Union[Literal['primary', 'ltv_lte_80', 'ltv_gt_80', 'conforming_30y', 'conforming_30y_na', 'jumbo_30y', 'fha_30y', 'va_30y', 'usda_30y', 'conforming_15y', 'ltv_lte80_fico_ge740', 'ltv_lte80_fico_a720b739', 'ltv_lte80_fico_a700b719', 'ltv_lte80_fico_a680b699', 'ltv_lte80_fico_lt680', 'ltv_gt80_fico_ge740', 'ltv_gt80_fico_a720b739', 'ltv_gt80_fico_a700b719', 'ltv_gt80_fico_a680b699', 'ltv_gt80_fico_lt680'], str]
|
||||
The specific index, or index group, to query. Default is the 'primary' group. Multiple comma separated items allowed. (provider: fred)
|
||||
frequency : Optional[Literal['a', 'q', 'm', 'w', 'd', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']]
|
||||
|
||||
Frequency aggregation to convert daily data to lower frequency.
|
||||
None = No change
|
||||
a = Annual
|
||||
q = Quarterly
|
||||
m = Monthly
|
||||
w = Weekly
|
||||
d = Daily
|
||||
wef = Weekly, Ending Friday
|
||||
weth = Weekly, Ending Thursday
|
||||
wew = Weekly, Ending Wednesday
|
||||
wetu = Weekly, Ending Tuesday
|
||||
wem = Weekly, Ending Monday
|
||||
wesu = Weekly, Ending Sunday
|
||||
wesa = Weekly, Ending Saturday
|
||||
bwew = Biweekly, Ending Wednesday
|
||||
bwem = Biweekly, Ending Monday
|
||||
(provider: fred)
|
||||
aggregation_method : Literal['avg', 'sum', 'eop']
|
||||
|
||||
A key that indicates the aggregation method used for frequency aggregation.
|
||||
This parameter has no affect if the frequency parameter is not set, default is 'avg'.
|
||||
avg = Average
|
||||
sum = Sum
|
||||
eop = End of Period
|
||||
(provider: fred)
|
||||
transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']]
|
||||
|
||||
Transformation type
|
||||
None = No transformation
|
||||
chg = Change
|
||||
ch1 = Change from Year Ago
|
||||
pch = Percent Change
|
||||
pc1 = Percent Change from Year Ago
|
||||
pca = Compounded Annual Rate of Change
|
||||
cch = Continuously Compounded Rate of Change
|
||||
cca = Continuously Compounded Annual Rate of Change
|
||||
log = Natural Log
|
||||
(provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[MortgageIndices]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
MortgageIndices
|
||||
---------------
|
||||
date : date
|
||||
The date of the data.
|
||||
symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data.
|
||||
name : Optional[str]
|
||||
Name of the index.
|
||||
rate : float
|
||||
Mortgage rate.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> # The default state for FRED are the primary mortgage indices from Optimal Blue.
|
||||
>>> obb.fixedincome.mortgage_indices(provider='fred')
|
||||
>>> # Multiple indices can be requested.
|
||||
>>> obb.fixedincome.mortgage_indices(index='jumbo_30y,conforming_30y,conforming_15y', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/mortgage_indices",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.mortgage_indices",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"index": {
|
||||
"fred": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": [
|
||||
"primary",
|
||||
"ltv_lte_80",
|
||||
"ltv_gt_80",
|
||||
"conforming_30y",
|
||||
"conforming_30y_na",
|
||||
"jumbo_30y",
|
||||
"fha_30y",
|
||||
"va_30y",
|
||||
"usda_30y",
|
||||
"conforming_15y",
|
||||
"ltv_lte80_fico_ge740",
|
||||
"ltv_lte80_fico_a720b739",
|
||||
"ltv_lte80_fico_a700b719",
|
||||
"ltv_lte80_fico_a680b699",
|
||||
"ltv_lte80_fico_lt680",
|
||||
"ltv_gt80_fico_ge740",
|
||||
"ltv_gt80_fico_a720b739",
|
||||
"ltv_gt80_fico_a700b719",
|
||||
"ltv_gt80_fico_a680b699",
|
||||
"ltv_gt80_fico_lt680",
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@property
|
||||
def rate(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import fixedincome_rate
|
||||
|
||||
return fixedincome_rate.ROUTER_fixedincome_rate(
|
||||
command_runner=self._command_runner
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
@deprecated(
|
||||
"This endpoint is deprecated; use `/fixedincome/rate/sofr` instead. Deprecated in OpenBB Platform V4.2 to be removed in V4.5.",
|
||||
category=OpenBBDeprecationWarning,
|
||||
)
|
||||
def sofr(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["federal_reserve", "fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: federal_reserve, fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Secured Overnight Financing Rate.
|
||||
|
||||
The Secured Overnight Financing Rate (SOFR) is a broad measure of the cost of
|
||||
borrowing cash overnight collateralizing by Treasury securities.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: federal_reserve, fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
frequency : Optional[Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']]
|
||||
|
||||
Frequency aggregation to convert daily data to lower frequency.
|
||||
a = Annual
|
||||
q = Quarterly
|
||||
m = Monthly
|
||||
w = Weekly
|
||||
wef = Weekly, Ending Friday
|
||||
weth = Weekly, Ending Thursday
|
||||
wew = Weekly, Ending Wednesday
|
||||
wetu = Weekly, Ending Tuesday
|
||||
wem = Weekly, Ending Monday
|
||||
wesu = Weekly, Ending Sunday
|
||||
wesa = Weekly, Ending Saturday
|
||||
bwew = Biweekly, Ending Wednesday
|
||||
bwem = Biweekly, Ending Monday
|
||||
(provider: fred)
|
||||
aggregation_method : Optional[Literal['avg', 'sum', 'eop']]
|
||||
|
||||
A key that indicates the aggregation method used for frequency aggregation.
|
||||
avg = Average
|
||||
sum = Sum
|
||||
eop = End of Period
|
||||
(provider: fred)
|
||||
transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']]
|
||||
|
||||
Transformation type
|
||||
None = No transformation
|
||||
chg = Change
|
||||
ch1 = Change from Year Ago
|
||||
pch = Percent Change
|
||||
pc1 = Percent Change from Year Ago
|
||||
pca = Compounded Annual Rate of Change
|
||||
cch = Continuously Compounded Rate of Change
|
||||
cca = Continuously Compounded Annual Rate of Change
|
||||
log = Natural Log
|
||||
(provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[SOFR]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
SOFR
|
||||
----
|
||||
date : date
|
||||
The date of the data.
|
||||
rate : float
|
||||
Effective federal funds rate.
|
||||
percentile_1 : Optional[float]
|
||||
1st percentile of the distribution.
|
||||
percentile_25 : Optional[float]
|
||||
25th percentile of the distribution.
|
||||
percentile_75 : Optional[float]
|
||||
75th percentile of the distribution.
|
||||
percentile_99 : Optional[float]
|
||||
99th percentile of the distribution.
|
||||
volume : Optional[float]
|
||||
The trading volume.The notional volume of transactions (Billions of $).
|
||||
average_30d : Optional[float]
|
||||
30-Day Average SOFR (provider: fred)
|
||||
average_90d : Optional[float]
|
||||
90-Day Average SOFR (provider: fred)
|
||||
average_180d : Optional[float]
|
||||
180-Day Average SOFR (provider: fred)
|
||||
index : Optional[float]
|
||||
SOFR index as 2018-04-02 = 1 (provider: fred)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.fixedincome.sofr(provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
simplefilter("always", DeprecationWarning)
|
||||
warn(
|
||||
"This endpoint is deprecated; use `/fixedincome/rate/sofr` instead. Deprecated in OpenBB Platform V4.2 to be removed in V4.5.",
|
||||
category=DeprecationWarning,
|
||||
stacklevel=2,
|
||||
)
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/sofr",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.sofr",
|
||||
("federal_reserve", "fred"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@property
|
||||
def spreads(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import fixedincome_spreads
|
||||
|
||||
return fixedincome_spreads.ROUTER_fixedincome_spreads(
|
||||
command_runner=self._command_runner
|
||||
)
|
||||
@@ -1,596 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
from warnings import simplefilter, warn
|
||||
|
||||
from openbb_core.app.deprecation import OpenBBDeprecationWarning
|
||||
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, deprecated
|
||||
|
||||
|
||||
class ROUTER_fixedincome_corporate(Container):
|
||||
"""/fixedincome/corporate
|
||||
commercial_paper
|
||||
hqm
|
||||
ice_bofa
|
||||
moody
|
||||
spot_rates
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def commercial_paper(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Commercial Paper.
|
||||
|
||||
Commercial paper (CP) consists of short-term, promissory notes issued primarily by corporations.
|
||||
Maturities range up to 270 days but average about 30 days.
|
||||
Many companies use CP to raise cash needed for current transactions,
|
||||
and many find it to be a lower-cost alternative to bank loans.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
maturity : Union[str, Literal['all', 'overnight', '7d', '15d', '30d', '60d', '90d']]
|
||||
A target maturity. Multiple comma separated items allowed. (provider: fred)
|
||||
category : Union[str, Literal['all', 'asset_backed', 'financial', 'nonfinancial', 'a2p2']]
|
||||
The category of asset. Multiple comma separated items allowed. (provider: fred)
|
||||
frequency : Optional[Literal['a', 'q', 'm', 'w', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']]
|
||||
|
||||
Frequency aggregation to convert daily data to lower frequency.
|
||||
a = Annual
|
||||
q = Quarterly
|
||||
m = Monthly
|
||||
w = Weekly
|
||||
wef = Weekly, Ending Friday
|
||||
weth = Weekly, Ending Thursday
|
||||
wew = Weekly, Ending Wednesday
|
||||
wetu = Weekly, Ending Tuesday
|
||||
wem = Weekly, Ending Monday
|
||||
wesu = Weekly, Ending Sunday
|
||||
wesa = Weekly, Ending Saturday
|
||||
bwew = Biweekly, Ending Wednesday
|
||||
bwem = Biweekly, Ending Monday
|
||||
(provider: fred)
|
||||
aggregation_method : Optional[Literal['avg', 'sum', 'eop']]
|
||||
|
||||
A key that indicates the aggregation method used for frequency aggregation.
|
||||
avg = Average
|
||||
sum = Sum
|
||||
eop = End of Period
|
||||
(provider: fred)
|
||||
transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log']]
|
||||
|
||||
Transformation type
|
||||
None = No transformation
|
||||
chg = Change
|
||||
ch1 = Change from Year Ago
|
||||
pch = Percent Change
|
||||
pc1 = Percent Change from Year Ago
|
||||
pca = Compounded Annual Rate of Change
|
||||
cch = Continuously Compounded Rate of Change
|
||||
cca = Continuously Compounded Annual Rate of Change
|
||||
log = Natural Log
|
||||
(provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CommercialPaper]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CommercialPaper
|
||||
---------------
|
||||
date : date
|
||||
The date of the data.
|
||||
symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data.
|
||||
maturity : str
|
||||
Maturity length of the item.
|
||||
rate : float
|
||||
Interest rate.
|
||||
title : Optional[str]
|
||||
Title of the series.
|
||||
asset_type : Optional[Literal['asset_backed', 'financial', 'nonfinancial', 'a2p2']]
|
||||
The category of asset. (provider: fred)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.fixedincome.corporate.commercial_paper(provider='fred')
|
||||
>>> obb.fixedincome.corporate.commercial_paper(category='all', maturity='15d', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/corporate/commercial_paper",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.corporate.commercial_paper",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"maturity": {
|
||||
"fred": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": [
|
||||
"all",
|
||||
"overnight",
|
||||
"7d",
|
||||
"15d",
|
||||
"30d",
|
||||
"60d",
|
||||
"90d",
|
||||
],
|
||||
}
|
||||
},
|
||||
"category": {
|
||||
"fred": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": [
|
||||
"all",
|
||||
"asset_backed",
|
||||
"financial",
|
||||
"nonfinancial",
|
||||
"a2p2",
|
||||
],
|
||||
}
|
||||
},
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def hqm(
|
||||
self,
|
||||
date: Annotated[
|
||||
Union[str, datetime.date, None, list[Union[str, datetime.date, None]]],
|
||||
OpenBBField(
|
||||
description="A specific date to get data for. Multiple comma separated items allowed for provider(s): fred."
|
||||
),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""High Quality Market Corporate Bond.
|
||||
|
||||
The HQM yield curve represents the high quality corporate bond market, i.e.,
|
||||
corporate bonds rated AAA, AA, or A. The HQM curve contains two regression terms.
|
||||
These terms are adjustment factors that blend AAA, AA, and A bonds into a single HQM yield curve
|
||||
that is the market-weighted average (MWA) quality of high quality bonds.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
date : Union[str, date, None, list[Union[str, date, None]]]
|
||||
A specific date to get data for. Multiple comma separated items allowed for provider(s): fred.
|
||||
yield_curve : Literal['spot', 'par']
|
||||
The yield curve type. (provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[HighQualityMarketCorporateBond]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
HighQualityMarketCorporateBond
|
||||
------------------------------
|
||||
date : date
|
||||
The date of the data.
|
||||
rate : float
|
||||
Interest rate.
|
||||
maturity : str
|
||||
Maturity.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.fixedincome.corporate.hqm(provider='fred')
|
||||
>>> obb.fixedincome.corporate.hqm(yield_curve='par', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/corporate/hqm",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.corporate.hqm",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"date": date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"date": {"fred": {"multiple_items_allowed": True, "choices": None}}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
@deprecated(
|
||||
"This endpoint is deprecated; use `/fixedincome/bond_indices` instead. Deprecated in OpenBB Platform V4.2 to be removed in V4.5.",
|
||||
category=OpenBBDeprecationWarning,
|
||||
)
|
||||
def ice_bofa(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
index_type: Annotated[
|
||||
Literal["yield", "yield_to_worst", "total_return", "spread"],
|
||||
OpenBBField(description="The type of series."),
|
||||
] = "yield",
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""ICE BofA US Corporate Bond Indices.
|
||||
|
||||
The ICE BofA US Corporate Index tracks the performance of US dollar denominated investment grade corporate debt
|
||||
publicly issued in the US domestic market. Qualifying securities must have an investment grade rating (based on an
|
||||
average of Moody’s, S&P and Fitch), at least 18 months to final maturity at the time of issuance, at least one year
|
||||
remaining term to final maturity as of the rebalance date, a fixed coupon schedule and a minimum amount
|
||||
outstanding of $250 million. The ICE BofA US Corporate Index is a component of the US Corporate Master Index.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
index_type : Literal['yield', 'yield_to_worst', 'total_return', 'spread']
|
||||
The type of series.
|
||||
category : Literal['all', 'duration', 'eur', 'usd']
|
||||
The type of category. (provider: fred)
|
||||
area : Literal['asia', 'emea', 'eu', 'ex_g10', 'latin_america', 'us']
|
||||
The type of area. (provider: fred)
|
||||
grade : Literal['a', 'aa', 'aaa', 'b', 'bb', 'bbb', 'ccc', 'crossover', 'high_grade', 'high_yield', 'non_financial', 'non_sovereign', 'private_sector', 'public_sector']
|
||||
The type of grade. (provider: fred)
|
||||
options : bool
|
||||
Whether to include options in the results. (provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[ICEBofA]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
ICEBofA
|
||||
-------
|
||||
date : date
|
||||
The date of the data.
|
||||
rate : Optional[float]
|
||||
ICE BofA US Corporate Bond Indices Rate.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.fixedincome.corporate.ice_bofa(provider='fred')
|
||||
>>> obb.fixedincome.corporate.ice_bofa(index_type='yield_to_worst', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
simplefilter("always", DeprecationWarning)
|
||||
warn(
|
||||
"This endpoint is deprecated; use `/fixedincome/bond_indices` instead. Deprecated in OpenBB Platform V4.2 to be removed in V4.5.",
|
||||
category=DeprecationWarning,
|
||||
stacklevel=2,
|
||||
)
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/corporate/ice_bofa",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.corporate.ice_bofa",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
"index_type": index_type,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
@deprecated(
|
||||
"This endpoint is deprecated; use `/fixedincome/bond_indices` instead. Set `category` to `us` and `index` to `seasoned_corporate`. Deprecated in OpenBB Platform V4.2 to be removed in V4.5.",
|
||||
category=OpenBBDeprecationWarning,
|
||||
)
|
||||
def moody(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
index_type: Annotated[
|
||||
Literal["aaa", "baa"], OpenBBField(description="The type of series.")
|
||||
] = "aaa",
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Moody Corporate Bond Index.
|
||||
|
||||
Moody's Aaa and Baa are investment bonds that acts as an index of
|
||||
the performance of all bonds given an Aaa or Baa rating by Moody's Investors Service respectively.
|
||||
These corporate bonds often are used in macroeconomics as an alternative to the federal ten-year
|
||||
Treasury Bill as an indicator of the interest rate.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
index_type : Literal['aaa', 'baa']
|
||||
The type of series.
|
||||
spread : Optional[Literal['treasury', 'fed_funds']]
|
||||
The type of spread. (provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[MoodyCorporateBondIndex]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
MoodyCorporateBondIndex
|
||||
-----------------------
|
||||
date : date
|
||||
The date of the data.
|
||||
rate : Optional[float]
|
||||
Moody Corporate Bond Index Rate.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.fixedincome.corporate.moody(provider='fred')
|
||||
>>> obb.fixedincome.corporate.moody(index_type='baa', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
simplefilter("always", DeprecationWarning)
|
||||
warn(
|
||||
"This endpoint is deprecated; use `/fixedincome/bond_indices` instead. Set `category` to `us` and `index` to `seasoned_corporate`. Deprecated in OpenBB Platform V4.2 to be removed in V4.5.",
|
||||
category=DeprecationWarning,
|
||||
stacklevel=2,
|
||||
)
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/corporate/moody",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.corporate.moody",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
"index_type": index_type,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def spot_rates(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
maturity: Annotated[
|
||||
Union[float, str, list[Union[float, str]]],
|
||||
OpenBBField(
|
||||
description="Maturities in years. Multiple comma separated items allowed for provider(s): fred."
|
||||
),
|
||||
] = 10.0,
|
||||
category: Annotated[
|
||||
Union[str, list[str]],
|
||||
OpenBBField(
|
||||
description="Rate category. Options: spot_rate, par_yield. Multiple comma separated items allowed for provider(s): fred.\nChoices for fred: 'par_yield', 'spot_rate'"
|
||||
),
|
||||
] = "spot_rate",
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Spot Rates.
|
||||
|
||||
The spot rates for any maturity is the yield on a bond that provides a single payment at that maturity.
|
||||
This is a zero coupon bond.
|
||||
Because each spot rate pertains to a single cashflow, it is the relevant interest rate
|
||||
concept for discounting a pension liability at the same maturity.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
maturity : Union[float, str, list[Union[float, str]]]
|
||||
Maturities in years. Multiple comma separated items allowed for provider(s): fred.
|
||||
category : Union[str, list[str]]
|
||||
Rate category. Options: spot_rate, par_yield. Multiple comma separated items allowed for provider(s): fred.
|
||||
Choices for fred: 'par_yield', 'spot_rate'
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[SpotRate]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
SpotRate
|
||||
--------
|
||||
date : date
|
||||
The date of the data.
|
||||
rate : Optional[float]
|
||||
Spot Rate.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.fixedincome.corporate.spot_rates(provider='fred')
|
||||
>>> obb.fixedincome.corporate.spot_rates(maturity='10,20,30,50', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/corporate/spot_rates",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.corporate.spot_rates",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
"maturity": maturity,
|
||||
"category": category,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"maturity": {
|
||||
"fred": {"multiple_items_allowed": True, "choices": None}
|
||||
},
|
||||
"category": {
|
||||
"fred": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": ["par_yield", "spot_rate"],
|
||||
}
|
||||
},
|
||||
},
|
||||
)
|
||||
)
|
||||
@@ -1,360 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_fixedincome_government(Container):
|
||||
"""/fixedincome/government
|
||||
tips_yields
|
||||
treasury_rates
|
||||
yield_curve
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def tips_yields(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get current Treasury inflation-protected securities yields.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
maturity : Optional[Literal['5', '10', '20', '30']]
|
||||
The maturity of the security in years - 5, 10, 20, 30 - defaults to all. Note that the maturity is the tenor of the security, not the time to maturity. (provider: fred)
|
||||
frequency : Optional[Literal['a', 'q', 'm', 'w', 'd', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem']]
|
||||
Frequency aggregation to convert high frequency data to lower frequency.
|
||||
None = No change
|
||||
a = Annual
|
||||
q = Quarterly
|
||||
m = Monthly
|
||||
w = Weekly
|
||||
d = Daily
|
||||
wef = Weekly, Ending Friday
|
||||
weth = Weekly, Ending Thursday
|
||||
wew = Weekly, Ending Wednesday
|
||||
wetu = Weekly, Ending Tuesday
|
||||
wem = Weekly, Ending Monday
|
||||
wesu = Weekly, Ending Sunday
|
||||
wesa = Weekly, Ending Saturday
|
||||
bwew = Biweekly, Ending Wednesday
|
||||
bwem = Biweekly, Ending Monday
|
||||
(provider: fred)
|
||||
aggregation_method : Optional[Literal['avg', 'sum', 'eop']]
|
||||
A key that indicates the aggregation method used for frequency aggregation.
|
||||
avg = Average
|
||||
sum = Sum
|
||||
eop = End of Period
|
||||
(provider: fred)
|
||||
transform : Optional[Literal['chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca']]
|
||||
Transformation type
|
||||
None = No transformation
|
||||
chg = Change
|
||||
ch1 = Change from Year Ago
|
||||
pch = Percent Change
|
||||
pc1 = Percent Change from Year Ago
|
||||
pca = Compounded Annual Rate of Change
|
||||
cch = Continuously Compounded Rate of Change
|
||||
cca = Continuously Compounded Annual Rate of Change
|
||||
(provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[TipsYields]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
TipsYields
|
||||
----------
|
||||
date : date
|
||||
The date of the data.
|
||||
symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data.
|
||||
due : Optional[date]
|
||||
The due date (maturation date) of the security.
|
||||
name : Optional[str]
|
||||
The name of the security.
|
||||
value : Optional[float]
|
||||
The yield value.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.fixedincome.government.tips_yields(provider='fred')
|
||||
>>> obb.fixedincome.government.tips_yields(maturity='10', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/government/tips_yields",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.government.tips_yields",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def treasury_rates(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["federal_reserve", "fmp"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: federal_reserve, fmp."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Government Treasury Rates.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: federal_reserve, fmp.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[TreasuryRates]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
TreasuryRates
|
||||
-------------
|
||||
date : date
|
||||
The date of the data.
|
||||
week_4 : Optional[float]
|
||||
4 week Treasury bills rate (secondary market).
|
||||
month_1 : Optional[float]
|
||||
1 month Treasury rate.
|
||||
month_2 : Optional[float]
|
||||
2 month Treasury rate.
|
||||
month_3 : Optional[float]
|
||||
3 month Treasury rate.
|
||||
month_6 : Optional[float]
|
||||
6 month Treasury rate.
|
||||
year_1 : Optional[float]
|
||||
1 year Treasury rate.
|
||||
year_2 : Optional[float]
|
||||
2 year Treasury rate.
|
||||
year_3 : Optional[float]
|
||||
3 year Treasury rate.
|
||||
year_5 : Optional[float]
|
||||
5 year Treasury rate.
|
||||
year_7 : Optional[float]
|
||||
7 year Treasury rate.
|
||||
year_10 : Optional[float]
|
||||
10 year Treasury rate.
|
||||
year_20 : Optional[float]
|
||||
20 year Treasury rate.
|
||||
year_30 : Optional[float]
|
||||
30 year Treasury rate.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.fixedincome.government.treasury_rates(provider='fmp')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/government/treasury_rates",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.government.treasury_rates",
|
||||
("federal_reserve", "fmp"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def yield_curve(
|
||||
self,
|
||||
date: Annotated[
|
||||
Union[str, datetime.date, None, list[Union[str, datetime.date, None]]],
|
||||
OpenBBField(
|
||||
description="A specific date to get data for. By default is the current data. Multiple comma separated items allowed for provider(s): econdb, federal_reserve, fmp, fred."
|
||||
),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["econdb", "federal_reserve", "fmp", "fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: econdb, federal_reserve, fmp, fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get yield curve data by country and date.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: econdb, federal_reserve, fmp, fred.
|
||||
date : Union[str, date, None, list[Union[str, date, None]]]
|
||||
A specific date to get data for. By default is the current data. Multiple comma separated items allowed for provider(s): econdb, federal_reserve, fmp, fred.
|
||||
country : str
|
||||
The country to get data. New Zealand, Mexico, Singapore, and Thailand have only monthly data. The nearest date to the requested one will be used. Multiple comma separated items allowed. (provider: econdb)
|
||||
use_cache : bool
|
||||
If true, cache the request for four hours. (provider: econdb)
|
||||
yield_curve_type : Literal['nominal', 'real', 'breakeven', 'treasury_minus_fed_funds', 'corporate_spot', 'corporate_par']
|
||||
Yield curve type. Nominal and Real Rates are available daily, others are monthly. The closest date to the requested date will be returned. (provider: fred)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[YieldCurve]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
YieldCurve
|
||||
----------
|
||||
date : Optional[date]
|
||||
The date of the data.
|
||||
maturity : str
|
||||
Maturity length of the security.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.fixedincome.government.yield_curve(provider='federal_reserve')
|
||||
>>> obb.fixedincome.government.yield_curve(date='2023-05-01,2024-05-01', provider='fmp')
|
||||
>>> obb.fixedincome.government.yield_curve(date='2023-05-01', country='united_kingdom', provider='econdb')
|
||||
>>> obb.fixedincome.government.yield_curve(provider='fred', yield_curve_type='real', date='2023-05-01,2024-05-01')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/government/yield_curve",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.government.yield_curve",
|
||||
("econdb", "federal_reserve", "fmp", "fred"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"date": date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"date": {
|
||||
"econdb": {"multiple_items_allowed": True, "choices": None},
|
||||
"federal_reserve": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": None,
|
||||
},
|
||||
"fmp": {"multiple_items_allowed": True, "choices": None},
|
||||
"fred": {"multiple_items_allowed": True, "choices": None},
|
||||
},
|
||||
"country": {
|
||||
"econdb": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": [
|
||||
"australia",
|
||||
"canada",
|
||||
"china",
|
||||
"ecb_instantaneous_forward",
|
||||
"ecb_par_yield",
|
||||
"ecb_spot_rate",
|
||||
"hong_kong",
|
||||
"india",
|
||||
"japan",
|
||||
"mexico",
|
||||
"new_zealand",
|
||||
"russia",
|
||||
"saudi_arabia",
|
||||
"singapore",
|
||||
"south_africa",
|
||||
"south_korea",
|
||||
"taiwan",
|
||||
"thailand",
|
||||
"united_kingdom",
|
||||
"united_states",
|
||||
],
|
||||
}
|
||||
},
|
||||
},
|
||||
)
|
||||
)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,291 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_fixedincome_spreads(Container):
|
||||
"""/fixedincome/spreads
|
||||
tcm
|
||||
tcm_effr
|
||||
treasury_effr
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def tcm(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
maturity: Annotated[
|
||||
Optional[Literal["3m", "2y"]], OpenBBField(description="The maturity")
|
||||
] = "3m",
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Treasury Constant Maturity.
|
||||
|
||||
Get data for 10-Year Treasury Constant Maturity Minus Selected Treasury Constant Maturity.
|
||||
Constant maturity is the theoretical value of a U.S. Treasury that is based on recent values of auctioned U.S.
|
||||
Treasuries. The value is obtained by the U.S. Treasury on a daily basis through interpolation of the Treasury
|
||||
yield curve which, in turn, is based on closing bid-yields of actively-traded Treasury securities.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
maturity : Optional[Literal['3m', '2y']]
|
||||
The maturity
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[TreasuryConstantMaturity]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
TreasuryConstantMaturity
|
||||
------------------------
|
||||
date : date
|
||||
The date of the data.
|
||||
rate : Optional[float]
|
||||
TreasuryConstantMaturity Rate.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.fixedincome.spreads.tcm(provider='fred')
|
||||
>>> obb.fixedincome.spreads.tcm(maturity='2y', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/spreads/tcm",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.spreads.tcm",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
"maturity": maturity,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def tcm_effr(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
maturity: Annotated[
|
||||
Optional[Literal["10y", "5y", "1y", "6m", "3m"]],
|
||||
OpenBBField(description="The maturity"),
|
||||
] = "10y",
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Select Treasury Constant Maturity.
|
||||
|
||||
Get data for Selected Treasury Constant Maturity Minus Federal Funds Rate
|
||||
Constant maturity is the theoretical value of a U.S. Treasury that is based on recent values of auctioned U.S.
|
||||
Treasuries. The value is obtained by the U.S. Treasury on a daily basis through interpolation of the Treasury
|
||||
yield curve which, in turn, is based on closing bid-yields of actively-traded Treasury securities.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
maturity : Optional[Literal['10y', '5y', '1y', '6m', '3m']]
|
||||
The maturity
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[SelectedTreasuryConstantMaturity]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
SelectedTreasuryConstantMaturity
|
||||
--------------------------------
|
||||
date : date
|
||||
The date of the data.
|
||||
rate : Optional[float]
|
||||
Selected Treasury Constant Maturity Rate.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.fixedincome.spreads.tcm_effr(provider='fred')
|
||||
>>> obb.fixedincome.spreads.tcm_effr(maturity='10y', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/spreads/tcm_effr",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.spreads.tcm_effr",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
"maturity": maturity,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def treasury_effr(
|
||||
self,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
maturity: Annotated[
|
||||
Optional[Literal["3m", "6m"]], OpenBBField(description="The maturity")
|
||||
] = "3m",
|
||||
provider: Annotated[
|
||||
Optional[Literal["fred"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Select Treasury Bill.
|
||||
|
||||
Get Selected Treasury Bill Minus Federal Funds Rate.
|
||||
Constant maturity is the theoretical value of a U.S. Treasury that is based on recent values of
|
||||
auctioned U.S. Treasuries.
|
||||
The value is obtained by the U.S. Treasury on a daily basis through interpolation of the Treasury
|
||||
yield curve which, in turn, is based on closing bid-yields of actively-traded Treasury securities.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fred.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
maturity : Optional[Literal['3m', '6m']]
|
||||
The maturity
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[SelectedTreasuryBill]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
SelectedTreasuryBill
|
||||
--------------------
|
||||
date : date
|
||||
The date of the data.
|
||||
rate : Optional[float]
|
||||
SelectedTreasuryBill Rate.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.fixedincome.spreads.treasury_effr(provider='fred')
|
||||
>>> obb.fixedincome.spreads.treasury_effr(maturity='6m', provider='fred')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/fixedincome/spreads/treasury_effr",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"fixedincome.spreads.treasury_effr",
|
||||
("fred",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
"maturity": maturity,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
@@ -1,176 +0,0 @@
|
||||
### 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_index(Container):
|
||||
"""/index
|
||||
available
|
||||
constituents
|
||||
/price
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def available(
|
||||
self,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fmp", "yfinance"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, yfinance."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""All indices available from a given provider.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, yfinance.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[AvailableIndices]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
AvailableIndices
|
||||
----------------
|
||||
name : Optional[str]
|
||||
Name of the index.
|
||||
currency : Optional[str]
|
||||
Currency the index is traded in.
|
||||
stock_exchange : Optional[str]
|
||||
Stock exchange where the index is listed. (provider: fmp)
|
||||
exchange_short_name : Optional[str]
|
||||
Short name of the stock exchange where the index is listed. (provider: fmp)
|
||||
code : Optional[str]
|
||||
ID code for keying the index in the OpenBB Terminal. (provider: yfinance)
|
||||
symbol : Optional[str]
|
||||
Symbol for the index. (provider: yfinance)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.index.available(provider='fmp')
|
||||
>>> obb.index.available(provider='yfinance')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/index/available",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"index.available",
|
||||
("fmp", "yfinance"),
|
||||
)
|
||||
},
|
||||
standard_params={},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def constituents(
|
||||
self,
|
||||
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
|
||||
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:
|
||||
"""Get Index Constituents.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp.
|
||||
symbol : str
|
||||
Symbol to get data for.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[IndexConstituents]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
IndexConstituents
|
||||
-----------------
|
||||
symbol : str
|
||||
Symbol representing the entity requested in the data.
|
||||
name : Optional[str]
|
||||
Name of the constituent company in the index.
|
||||
sector : Optional[str]
|
||||
Sector the constituent company in the index belongs to. (provider: fmp)
|
||||
sub_sector : Optional[str]
|
||||
Sub-sector the constituent company in the index belongs to. (provider: fmp)
|
||||
headquarter : Optional[str]
|
||||
Location of the headquarter of the constituent company in the index. (provider: fmp)
|
||||
date_first_added : Optional[Union[date, str]]
|
||||
Date the constituent company was added to the index. (provider: fmp)
|
||||
cik : Optional[int]
|
||||
Central Index Key (CIK) for the requested entity. (provider: fmp)
|
||||
founded : Optional[Union[date, str]]
|
||||
Founding year of the constituent company in the index. (provider: fmp)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.index.constituents(symbol='dowjones', provider='fmp')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/index/constituents",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"index.constituents",
|
||||
("fmp",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@property
|
||||
def price(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import index_price
|
||||
|
||||
return index_price.ROUTER_index_price(command_runner=self._command_runner)
|
||||
@@ -1,163 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_index_price(Container):
|
||||
"""/index/price
|
||||
historical
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def historical(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
Union[str, list[str]],
|
||||
OpenBBField(
|
||||
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp, intrinio, polygon, yfinance."
|
||||
),
|
||||
],
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["fmp", "intrinio", "polygon", "yfinance"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, intrinio, polygon, yfinance."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Historical Index Levels.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: fmp, intrinio, polygon, yfinance.
|
||||
symbol : Union[str, list[str]]
|
||||
Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp, intrinio, polygon, yfinance.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
interval : str
|
||||
Time interval of the data to return. (provider: fmp, polygon, yfinance)
|
||||
Choices for fmp: '1m', '5m', '15m', '30m', '1h', '4h', '1d'
|
||||
Choices for yfinance: '1m', '2m', '5m', '15m', '30m', '60m', '90m', '1h', '1d', '5d', '1W', '1M', '1Q'
|
||||
limit : Optional[int]
|
||||
The number of data entries to return. (provider: intrinio, polygon)
|
||||
sort : Literal['asc', 'desc']
|
||||
Sort order of the data. This impacts the results in combination with the 'limit' parameter. The results are always returned in ascending order by date. (provider: polygon)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[IndexHistorical]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
IndexHistorical
|
||||
---------------
|
||||
date : Union[date, datetime]
|
||||
The date of the data.
|
||||
open : Optional[Annotated[float, Strict(strict=True)]]
|
||||
The open price.
|
||||
high : Optional[Annotated[float, Strict(strict=True)]]
|
||||
The high price.
|
||||
low : Optional[Annotated[float, Strict(strict=True)]]
|
||||
The low price.
|
||||
close : Optional[Annotated[float, Strict(strict=True)]]
|
||||
The close price.
|
||||
volume : Optional[int]
|
||||
The trading volume.
|
||||
vwap : Optional[float]
|
||||
Volume Weighted Average Price over the period. (provider: fmp)
|
||||
change : Optional[float]
|
||||
Change in the price from the previous close. (provider: fmp)
|
||||
change_percent : Optional[float]
|
||||
Change in the price from the previous close, as a normalized percent. (provider: fmp)
|
||||
transactions : Optional[Annotated[int, Gt(gt=0)]]
|
||||
Number of transactions for the symbol in the time period. (provider: polygon)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.index.price.historical(symbol='^GSPC', provider='fmp')
|
||||
>>> # Not all providers have the same symbols.
|
||||
>>> obb.index.price.historical(symbol='SPX', provider='intrinio')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/index/price/historical",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"index.price.historical",
|
||||
("fmp", "intrinio", "polygon", "yfinance"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"symbol": {
|
||||
"fmp": {"multiple_items_allowed": True, "choices": None},
|
||||
"intrinio": {"multiple_items_allowed": True, "choices": None},
|
||||
"polygon": {"multiple_items_allowed": True, "choices": None},
|
||||
"yfinance": {"multiple_items_allowed": True, "choices": None},
|
||||
},
|
||||
"interval": {
|
||||
"fmp": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": ["1m", "5m", "15m", "30m", "1h", "4h", "1d"],
|
||||
},
|
||||
"yfinance": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"1m",
|
||||
"2m",
|
||||
"5m",
|
||||
"15m",
|
||||
"30m",
|
||||
"60m",
|
||||
"90m",
|
||||
"1h",
|
||||
"1d",
|
||||
"5d",
|
||||
"1W",
|
||||
"1M",
|
||||
"1Q",
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
)
|
||||
@@ -1,463 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
from annotated_types import Ge
|
||||
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_news(Container):
|
||||
"""/news
|
||||
company
|
||||
world
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def company(
|
||||
self,
|
||||
symbol: Annotated[
|
||||
Union[str, None, list[Optional[str]]],
|
||||
OpenBBField(
|
||||
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): benzinga, fmp, intrinio, polygon, tiingo, yfinance."
|
||||
),
|
||||
] = None,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
limit: Annotated[
|
||||
Optional[Annotated[int, Ge(ge=0)]],
|
||||
OpenBBField(description="The number of data entries to return."),
|
||||
] = 2500,
|
||||
provider: Annotated[
|
||||
Optional[
|
||||
Literal["benzinga", "fmp", "intrinio", "polygon", "tiingo", "yfinance"]
|
||||
],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: benzinga, fmp, intrinio, polygon, tiingo, yfinance."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Company News. Get news for one or more companies.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: benzinga, fmp, intrinio, polygon, tiingo, yfinance.
|
||||
symbol : Union[str, None, list[Optional[str]]]
|
||||
Symbol to get data for. Multiple comma separated items allowed for provider(s): benzinga, fmp, intrinio, polygon, tiingo, yfinance.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
limit : Optional[Annotated[int, Ge(ge=0)]]
|
||||
The number of data entries to return.
|
||||
date : Optional[date]
|
||||
A specific date to get data for. (provider: benzinga)
|
||||
display : Literal['headline', 'abstract', 'full']
|
||||
Specify headline only (headline), headline + teaser (abstract), or headline + full body (full). (provider: benzinga)
|
||||
updated_since : Optional[int]
|
||||
Number of seconds since the news was updated. (provider: benzinga)
|
||||
published_since : Optional[int]
|
||||
Number of seconds since the news was published. (provider: benzinga)
|
||||
sort : Literal['id', 'created', 'updated']
|
||||
Key to sort the news by. (provider: benzinga)
|
||||
order : Literal['asc', 'desc']
|
||||
Order to sort the news by. (provider: benzinga)
|
||||
isin : Optional[str]
|
||||
The company's ISIN. (provider: benzinga)
|
||||
cusip : Optional[str]
|
||||
The company's CUSIP. (provider: benzinga)
|
||||
channels : Optional[str]
|
||||
Channels of the news to retrieve. (provider: benzinga)
|
||||
topics : Optional[str]
|
||||
Topics of the news to retrieve. (provider: benzinga)
|
||||
authors : Optional[str]
|
||||
Authors of the news to retrieve. (provider: benzinga)
|
||||
content_types : Optional[str]
|
||||
Content types of the news to retrieve. (provider: benzinga)
|
||||
page : Optional[int]
|
||||
Page number of the results. Use in combination with limit. (provider: fmp)
|
||||
source : Union[Literal['yahoo', 'moody', 'moody_us_news', 'moody_us_press_releases'], None, str]
|
||||
The source of the news article. (provider: intrinio)
|
||||
sentiment : Optional[Literal['positive', 'neutral', 'negative']]
|
||||
Return news only from this source. (provider: intrinio)
|
||||
language : Optional[str]
|
||||
Filter by language. Unsupported for yahoo source. (provider: intrinio)
|
||||
topic : Optional[str]
|
||||
Filter by topic. Unsupported for yahoo source. (provider: intrinio)
|
||||
word_count_greater_than : Optional[int]
|
||||
News stories will have a word count greater than this value. Unsupported for yahoo source. (provider: intrinio)
|
||||
word_count_less_than : Optional[int]
|
||||
News stories will have a word count less than this value. Unsupported for yahoo source. (provider: intrinio)
|
||||
is_spam : Optional[bool]
|
||||
Filter whether it is marked as spam or not. Unsupported for yahoo source. (provider: intrinio)
|
||||
business_relevance_greater_than : Optional[float]
|
||||
News stories will have a business relevance score more than this value. Unsupported for yahoo source. Value is a decimal between 0 and 1. (provider: intrinio)
|
||||
business_relevance_less_than : Optional[float]
|
||||
News stories will have a business relevance score less than this value. Unsupported for yahoo source. Value is a decimal between 0 and 1. (provider: intrinio)
|
||||
offset : Optional[int]
|
||||
Page offset, used in conjunction with limit. (provider: tiingo)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CompanyNews]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CompanyNews
|
||||
-----------
|
||||
date : datetime
|
||||
The date of the data. Here it is the published date of the article.
|
||||
title : str
|
||||
Title of the article.
|
||||
text : Optional[str]
|
||||
Text/body of the article.
|
||||
images : Optional[list[Dict[str, str]]]
|
||||
Images associated with the article.
|
||||
url : str
|
||||
URL to the article.
|
||||
symbols : Optional[str]
|
||||
Symbols associated with the article.
|
||||
id : Optional[str]
|
||||
Article ID. (provider: benzinga, intrinio, polygon)
|
||||
author : Optional[str]
|
||||
Author of the article. (provider: benzinga)
|
||||
teaser : Optional[str]
|
||||
Teaser of the news. (provider: benzinga)
|
||||
channels : Optional[str]
|
||||
Channels associated with the news. (provider: benzinga)
|
||||
stocks : Optional[str]
|
||||
Stocks associated with the news. (provider: benzinga)
|
||||
tags : Optional[str]
|
||||
Tags associated with the news. (provider: benzinga, polygon, tiingo)
|
||||
updated : Optional[datetime]
|
||||
Updated date of the news. (provider: benzinga)
|
||||
source : Optional[str]
|
||||
Name of the news source. (provider: fmp);
|
||||
The source of the news article. (provider: intrinio);
|
||||
Source of the article. (provider: polygon);
|
||||
News source. (provider: tiingo);
|
||||
Source of the news article (provider: yfinance)
|
||||
summary : Optional[str]
|
||||
The summary of the news article. (provider: intrinio)
|
||||
topics : Optional[str]
|
||||
The topics related to the news article. (provider: intrinio)
|
||||
word_count : Optional[int]
|
||||
The word count of the news article. (provider: intrinio)
|
||||
business_relevance : Optional[float]
|
||||
How strongly correlated the news article is to the business (provider: intrinio)
|
||||
sentiment : Optional[str]
|
||||
The sentiment of the news article - i.e, negative, positive. (provider: intrinio)
|
||||
sentiment_confidence : Optional[float]
|
||||
The confidence score of the sentiment rating. (provider: intrinio)
|
||||
language : Optional[str]
|
||||
The language of the news article. (provider: intrinio)
|
||||
spam : Optional[bool]
|
||||
Whether the news article is spam. (provider: intrinio)
|
||||
copyright : Optional[str]
|
||||
The copyright notice of the news article. (provider: intrinio)
|
||||
security : Optional[IntrinioSecurity]
|
||||
The Intrinio Security object. Contains the security details related to the news article. (provider: intrinio)
|
||||
amp_url : Optional[str]
|
||||
AMP URL. (provider: polygon)
|
||||
publisher : Optional[PolygonPublisher]
|
||||
Publisher of the article. (provider: polygon)
|
||||
article_id : Optional[int]
|
||||
Unique ID of the news article. (provider: tiingo)
|
||||
crawl_date : Optional[datetime]
|
||||
Date the news article was crawled. (provider: tiingo)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.news.company(provider='benzinga')
|
||||
>>> obb.news.company(limit=100, provider='benzinga')
|
||||
>>> # Get news on the specified dates.
|
||||
>>> obb.news.company(symbol='AAPL', start_date='2024-02-01', end_date='2024-02-07', provider='intrinio')
|
||||
>>> # Display the headlines of the news.
|
||||
>>> obb.news.company(symbol='AAPL', display='headline', provider='benzinga')
|
||||
>>> # Get news for multiple symbols.
|
||||
>>> obb.news.company(symbol='aapl,tsla', provider='fmp')
|
||||
>>> # Get news company's ISIN.
|
||||
>>> obb.news.company(symbol='NVDA', isin='US0378331005', provider='benzinga')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/news/company",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"news.company",
|
||||
(
|
||||
"benzinga",
|
||||
"fmp",
|
||||
"intrinio",
|
||||
"polygon",
|
||||
"tiingo",
|
||||
"yfinance",
|
||||
),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
"limit": limit,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"symbol": {
|
||||
"benzinga": {"multiple_items_allowed": True, "choices": None},
|
||||
"fmp": {"multiple_items_allowed": True, "choices": None},
|
||||
"intrinio": {"multiple_items_allowed": True, "choices": None},
|
||||
"polygon": {"multiple_items_allowed": True, "choices": None},
|
||||
"tiingo": {"multiple_items_allowed": True, "choices": None},
|
||||
"yfinance": {"multiple_items_allowed": True, "choices": None},
|
||||
},
|
||||
"order": {
|
||||
"polygon": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": ["asc", "desc"],
|
||||
}
|
||||
},
|
||||
"source": {
|
||||
"intrinio": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"yahoo",
|
||||
"moody",
|
||||
"moody_us_news",
|
||||
"moody_us_press_releases",
|
||||
],
|
||||
},
|
||||
"tiingo": {"multiple_items_allowed": True, "choices": None},
|
||||
},
|
||||
"sentiment": {
|
||||
"intrinio": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": ["positive", "neutral", "negative"],
|
||||
}
|
||||
},
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def world(
|
||||
self,
|
||||
limit: Annotated[
|
||||
int,
|
||||
OpenBBField(
|
||||
description="The number of data entries to return. The number of articles to return."
|
||||
),
|
||||
] = 2500,
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["benzinga", "fmp", "intrinio", "tiingo"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: benzinga, fmp, intrinio, tiingo."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""World News. Global news data.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: benzinga, fmp, intrinio, tiingo.
|
||||
limit : int
|
||||
The number of data entries to return. The number of articles to return.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
date : Optional[date]
|
||||
A specific date to get data for. (provider: benzinga)
|
||||
display : Literal['headline', 'abstract', 'full']
|
||||
Specify headline only (headline), headline + teaser (abstract), or headline + full body (full). (provider: benzinga)
|
||||
updated_since : Optional[int]
|
||||
Number of seconds since the news was updated. (provider: benzinga)
|
||||
published_since : Optional[int]
|
||||
Number of seconds since the news was published. (provider: benzinga)
|
||||
sort : Literal['id', 'created', 'updated']
|
||||
Key to sort the news by. (provider: benzinga)
|
||||
order : Literal['asc', 'desc']
|
||||
Order to sort the news by. (provider: benzinga)
|
||||
isin : Optional[str]
|
||||
The ISIN of the news to retrieve. (provider: benzinga)
|
||||
cusip : Optional[str]
|
||||
The CUSIP of the news to retrieve. (provider: benzinga)
|
||||
channels : Optional[str]
|
||||
Channels of the news to retrieve. (provider: benzinga)
|
||||
topics : Optional[str]
|
||||
Topics of the news to retrieve. (provider: benzinga)
|
||||
authors : Optional[str]
|
||||
Authors of the news to retrieve. (provider: benzinga)
|
||||
content_types : Optional[str]
|
||||
Content types of the news to retrieve. (provider: benzinga)
|
||||
source : Union[Literal['yahoo', 'moody', 'moody_us_news', 'moody_us_press_releases'], None, str]
|
||||
The source of the news article. (provider: intrinio)
|
||||
sentiment : Optional[Literal['positive', 'neutral', 'negative']]
|
||||
Return news only from this source. (provider: intrinio)
|
||||
language : Optional[str]
|
||||
Filter by language. Unsupported for yahoo source. (provider: intrinio)
|
||||
topic : Optional[str]
|
||||
Filter by topic. Unsupported for yahoo source. (provider: intrinio)
|
||||
word_count_greater_than : Optional[int]
|
||||
News stories will have a word count greater than this value. Unsupported for yahoo source. (provider: intrinio)
|
||||
word_count_less_than : Optional[int]
|
||||
News stories will have a word count less than this value. Unsupported for yahoo source. (provider: intrinio)
|
||||
is_spam : Optional[bool]
|
||||
Filter whether it is marked as spam or not. Unsupported for yahoo source. (provider: intrinio)
|
||||
business_relevance_greater_than : Optional[float]
|
||||
News stories will have a business relevance score more than this value. Unsupported for yahoo source. Value is a decimal between 0 and 1. (provider: intrinio)
|
||||
business_relevance_less_than : Optional[float]
|
||||
News stories will have a business relevance score less than this value. Unsupported for yahoo source. Value is a decimal between 0 and 1. (provider: intrinio)
|
||||
offset : Optional[int]
|
||||
Page offset, used in conjunction with limit. (provider: tiingo)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[WorldNews]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
WorldNews
|
||||
---------
|
||||
date : datetime
|
||||
The date of the data. The published date of the article.
|
||||
title : str
|
||||
Title of the article.
|
||||
images : Optional[list[Dict[str, str]]]
|
||||
Images associated with the article.
|
||||
text : Optional[str]
|
||||
Text/body of the article.
|
||||
url : Optional[str]
|
||||
URL to the article.
|
||||
id : Optional[str]
|
||||
Article ID. (provider: benzinga, intrinio)
|
||||
author : Optional[str]
|
||||
Author of the news. (provider: benzinga)
|
||||
teaser : Optional[str]
|
||||
Teaser of the news. (provider: benzinga)
|
||||
channels : Optional[str]
|
||||
Channels associated with the news. (provider: benzinga)
|
||||
stocks : Optional[str]
|
||||
Stocks associated with the news. (provider: benzinga)
|
||||
tags : Optional[str]
|
||||
Tags associated with the news. (provider: benzinga, tiingo)
|
||||
updated : Optional[datetime]
|
||||
Updated date of the news. (provider: benzinga)
|
||||
site : Optional[str]
|
||||
News source. (provider: fmp, tiingo)
|
||||
source : Optional[str]
|
||||
The source of the news article. (provider: intrinio)
|
||||
summary : Optional[str]
|
||||
The summary of the news article. (provider: intrinio)
|
||||
topics : Optional[str]
|
||||
The topics related to the news article. (provider: intrinio)
|
||||
word_count : Optional[int]
|
||||
The word count of the news article. (provider: intrinio)
|
||||
business_relevance : Optional[float]
|
||||
How strongly correlated the news article is to the business (provider: intrinio)
|
||||
sentiment : Optional[str]
|
||||
The sentiment of the news article - i.e, negative, positive. (provider: intrinio)
|
||||
sentiment_confidence : Optional[float]
|
||||
The confidence score of the sentiment rating. (provider: intrinio)
|
||||
language : Optional[str]
|
||||
The language of the news article. (provider: intrinio)
|
||||
spam : Optional[bool]
|
||||
Whether the news article is spam. (provider: intrinio)
|
||||
copyright : Optional[str]
|
||||
The copyright notice of the news article. (provider: intrinio)
|
||||
company : Optional[IntrinioCompany]
|
||||
The Intrinio Company object. Contains details company reference data. (provider: intrinio)
|
||||
security : Optional[IntrinioSecurity]
|
||||
The Intrinio Security object. Contains the security details related to the news article. (provider: intrinio)
|
||||
symbols : Optional[str]
|
||||
Ticker tagged in the fetched news. (provider: tiingo)
|
||||
article_id : Optional[int]
|
||||
Unique ID of the news article. (provider: tiingo)
|
||||
crawl_date : Optional[datetime]
|
||||
Date the news article was crawled. (provider: tiingo)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.news.world(provider='fmp')
|
||||
>>> obb.news.world(limit=100, provider='intrinio')
|
||||
>>> # Get news on the specified dates.
|
||||
>>> obb.news.world(start_date='2024-02-01', end_date='2024-02-07', provider='intrinio')
|
||||
>>> # Display the headlines of the news.
|
||||
>>> obb.news.world(display='headline', provider='benzinga')
|
||||
>>> # Get news by topics.
|
||||
>>> obb.news.world(topics='finance', provider='benzinga')
|
||||
>>> # Get news by source using 'tingo' as provider.
|
||||
>>> obb.news.world(provider='tiingo', source='bloomberg')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/news/world",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"news.world",
|
||||
("benzinga", "fmp", "intrinio", "tiingo"),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"limit": limit,
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"source": {
|
||||
"tiingo": {"multiple_items_allowed": True, "choices": None}
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
@@ -1,30 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
|
||||
from openbb_core.app.static.container import Container
|
||||
|
||||
|
||||
class ROUTER_regulators(Container):
|
||||
"""/regulators
|
||||
/cftc
|
||||
/sec
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@property
|
||||
def cftc(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import regulators_cftc
|
||||
|
||||
return regulators_cftc.ROUTER_regulators_cftc(
|
||||
command_runner=self._command_runner
|
||||
)
|
||||
|
||||
@property
|
||||
def sec(self):
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from . import regulators_sec
|
||||
|
||||
return regulators_sec.ROUTER_regulators_sec(command_runner=self._command_runner)
|
||||
@@ -1,248 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
import datetime
|
||||
from typing import Literal, Optional, Union
|
||||
|
||||
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_regulators_cftc(Container):
|
||||
"""/regulators/cftc
|
||||
cot
|
||||
cot_search
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def cot(
|
||||
self,
|
||||
id: Annotated[
|
||||
str,
|
||||
OpenBBField(
|
||||
description="A string with the CFTC market code or other identifying string, such as the contract market name, commodity name, or commodity group - i.e, 'gold' or 'japanese yen'.Default report is Fed Funds Futures. Use the 'cftc_market_code' for an exact match."
|
||||
),
|
||||
] = "045601",
|
||||
start_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(
|
||||
description="Start date of the data, in YYYY-MM-DD format. Default is the most recent report."
|
||||
),
|
||||
] = None,
|
||||
end_date: Annotated[
|
||||
Union[datetime.date, None, str],
|
||||
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
|
||||
] = None,
|
||||
provider: Annotated[
|
||||
Optional[Literal["cftc"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: cftc."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get Commitment of Traders Reports.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: cftc.
|
||||
id : str
|
||||
A string with the CFTC market code or other identifying string, such as the contract market name, commodity name, or commodity group - i.e, 'gold' or 'japanese yen'.Default report is Fed Funds Futures. Use the 'cftc_market_code' for an exact match.
|
||||
start_date : Union[date, None, str]
|
||||
Start date of the data, in YYYY-MM-DD format. Default is the most recent report.
|
||||
end_date : Union[date, None, str]
|
||||
End date of the data, in YYYY-MM-DD format.
|
||||
report_type : Literal['legacy', 'disaggregated', 'financial', 'supplemental']
|
||||
The type of report to retrieve. Set `id` as 'all' to return all items in the report
|
||||
type (default date range returns the latest report). The Legacy report is broken down by exchange
|
||||
with reported open interest further broken down into three trader classifications: commercial,
|
||||
non-commercial and non-reportable. The Disaggregated reports are broken down by Agriculture and
|
||||
Natural Resource contracts. The Disaggregated reports break down reportable open interest positions
|
||||
into four classifications: Producer/Merchant, Swap Dealers, Managed Money and Other Reportables.
|
||||
The Traders in Financial Futures (TFF) report includes financial contracts. The TFF report breaks
|
||||
down the reported open interest into five classifications: Dealer, Asset Manager, Leveraged Money,
|
||||
Other Reportables and Non-Reportables. (provider: cftc)
|
||||
futures_only : bool
|
||||
Returns the futures-only report. Default is False, for the combined report. (provider: cftc)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[COT]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
COT
|
||||
---
|
||||
date : date
|
||||
The date of the data.
|
||||
report_week : Optional[str]
|
||||
Report week for the year.
|
||||
market_and_exchange_names : Optional[str]
|
||||
Market and exchange names.
|
||||
cftc_contract_market_code : Optional[str]
|
||||
CFTC contract market code.
|
||||
cftc_market_code : Optional[str]
|
||||
CFTC market code.
|
||||
cftc_region_code : Optional[str]
|
||||
CFTC region code.
|
||||
cftc_commodity_code : Optional[str]
|
||||
CFTC commodity code.
|
||||
cftc_contract_market_code_quotes : Optional[str]
|
||||
CFTC contract market code quotes.
|
||||
cftc_market_code_quotes : Optional[str]
|
||||
CFTC market code quotes.
|
||||
cftc_commodity_code_quotes : Optional[str]
|
||||
CFTC commodity code quotes.
|
||||
cftc_subgroup_code : Optional[str]
|
||||
CFTC subgroup code.
|
||||
commodity : Optional[str]
|
||||
Commodity.
|
||||
commodity_group : Optional[str]
|
||||
Commodity group name.
|
||||
commodity_subgroup : Optional[str]
|
||||
Commodity subgroup name.
|
||||
futonly_or_combined : Optional[str]
|
||||
If the report is futures-only or combined.
|
||||
contract_units : Optional[str]
|
||||
Contract units.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> # Get the latest report for all items classified as, GOLD.
|
||||
>>> obb.regulators.cftc.cot(id='gold', provider='cftc')
|
||||
>>> # Enter the entire history for a single CFTC Market Contract Code.
|
||||
>>> obb.regulators.cftc.cot(id='088691', provider='cftc')
|
||||
>>> # Get the report for futures only.
|
||||
>>> obb.regulators.cftc.cot(id='088691', futures_only=True, provider='cftc')
|
||||
>>> # Get the most recent Commodity Index Traders Supplemental Report.
|
||||
>>> obb.regulators.cftc.cot(id='all', report_type='supplemental', provider='cftc')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/regulators/cftc/cot",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"regulators.cftc.cot",
|
||||
("cftc",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"id": id,
|
||||
"start_date": start_date,
|
||||
"end_date": end_date,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"report_type": {
|
||||
"cftc": {
|
||||
"multiple_items_allowed": False,
|
||||
"choices": [
|
||||
"legacy",
|
||||
"disaggregated",
|
||||
"financial",
|
||||
"supplemental",
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def cot_search(
|
||||
self,
|
||||
query: Annotated[str, OpenBBField(description="Search query.")] = "",
|
||||
provider: Annotated[
|
||||
Optional[Literal["cftc"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: cftc."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get the current Commitment of Traders Reports.
|
||||
|
||||
Search a list of the current Commitment of Traders Reports series information.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: cftc.
|
||||
query : str
|
||||
Search query.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[COTSearch]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
COTSearch
|
||||
---------
|
||||
code : str
|
||||
CFTC market contract code of the report.
|
||||
name : str
|
||||
Name of the underlying asset.
|
||||
category : Optional[str]
|
||||
Category of the underlying asset.
|
||||
subcategory : Optional[str]
|
||||
Subcategory of the underlying asset.
|
||||
units : Optional[str]
|
||||
The units for one contract.
|
||||
symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data.
|
||||
commodity : Optional[str]
|
||||
Name of the commodity. (provider: cftc)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.regulators.cftc.cot_search(provider='cftc')
|
||||
>>> obb.regulators.cftc.cot_search(query='gold', provider='cftc')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/regulators/cftc/cot_search",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"regulators.cftc.cot_search",
|
||||
("cftc",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"query": query,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
@@ -1,613 +0,0 @@
|
||||
### 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_regulators_sec(Container):
|
||||
"""/regulators/sec
|
||||
cik_map
|
||||
filing_headers
|
||||
htm_file
|
||||
institutions_search
|
||||
rss_litigation
|
||||
schema_files
|
||||
sic_search
|
||||
symbol_map
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def cik_map(
|
||||
self,
|
||||
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
|
||||
provider: Annotated[
|
||||
Optional[Literal["sec"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Map a ticker symbol to a CIK number.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec.
|
||||
symbol : str
|
||||
Symbol to get data for.
|
||||
use_cache : Optional[bool]
|
||||
Whether or not to use cache for the request, default is True. (provider: sec)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : CikMap
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CikMap
|
||||
------
|
||||
cik : Optional[Union[str, int]]
|
||||
Central Index Key (CIK) for the requested entity.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.regulators.sec.cik_map(symbol='MSFT', provider='sec')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/regulators/sec/cik_map",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"regulators.sec.cik_map",
|
||||
("sec",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"symbol": symbol,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def filing_headers(
|
||||
self,
|
||||
provider: Annotated[
|
||||
Optional[Literal["sec"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Download the index headers, and cover page if available, for any SEC filing.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec.
|
||||
url : str
|
||||
URL for the SEC filing. The specific URL is not directly used or downloaded, but is used to generate the base URL for the filing. e.g. https://www.sec.gov/Archives/edgar/data/317540/000031754024000045/coke-20240731.htm and https://www.sec.gov/Archives/edgar/data/317540/000031754024000045/ are both valid URLs for the same filing. (provider: sec)
|
||||
use_cache : bool
|
||||
Use cache for the index headers and cover page. Default is True. (provider: sec)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : SecFiling
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
SecFiling
|
||||
---------
|
||||
base_url : Optional[str]
|
||||
Base URL of the filing. (provider: sec)
|
||||
name : Optional[str]
|
||||
Name of the entity filing. (provider: sec)
|
||||
cik : Optional[str]
|
||||
Central Index Key. (provider: sec)
|
||||
trading_symbols : Optional[list]
|
||||
Trading symbols, if available. (provider: sec)
|
||||
sic : Optional[str]
|
||||
Standard Industrial Classification. (provider: sec)
|
||||
sic_organization_name : Optional[str]
|
||||
SIC Organization Name. (provider: sec)
|
||||
filing_date : Optional[date]
|
||||
Filing date. (provider: sec)
|
||||
period_ending : Optional[date]
|
||||
Date of the ending period for the filing, if available. (provider: sec)
|
||||
fiscal_year_end : Optional[str]
|
||||
Fiscal year end of the entity, if available. Format: MM-DD (provider: sec)
|
||||
document_type : Optional[str]
|
||||
Specific SEC filing type. (provider: sec)
|
||||
has_cover_page : Optional[bool]
|
||||
True if the filing has a cover page. (provider: sec)
|
||||
description : Optional[str]
|
||||
Description of attached content, mostly applicable to 8-K filings. (provider: sec)
|
||||
cover_page : Optional[dict]
|
||||
Cover page information, if available. (provider: sec)
|
||||
document_urls : Optional[list]
|
||||
list of files associated with the filing. (provider: sec)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.regulators.sec.filing_headers(url='https://www.sec.gov/Archives/edgar/data/317540/000119312524076556/d645509ddef14a.htm', provider='sec')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/regulators/sec/filing_headers",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"regulators.sec.filing_headers",
|
||||
("sec",),
|
||||
)
|
||||
},
|
||||
standard_params={},
|
||||
extra_params=kwargs,
|
||||
info={"url": {"sec": {"x-widget_config": {"label": "Filing URL"}}}},
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def htm_file(
|
||||
self,
|
||||
provider: Annotated[
|
||||
Optional[Literal["sec"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Download a raw HTML object from the SEC website.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec.
|
||||
url : str
|
||||
URL for the SEC filing. (provider: sec)
|
||||
use_cache : bool
|
||||
Cache the file for use later. Default is True. (provider: sec)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : SecHtmFile
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
SecHtmFile
|
||||
----------
|
||||
url : Optional[str]
|
||||
URL of the downloaded file. (provider: sec)
|
||||
content : Optional[str]
|
||||
Raw content of the HTM/HTML file. (provider: sec)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.regulators.sec.htm_file(url='https://www.sec.gov/Archives/edgar/data/1723690/000119312525030074/d866336dex991.htm', provider='sec')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/regulators/sec/htm_file",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"regulators.sec.htm_file",
|
||||
("sec",),
|
||||
)
|
||||
},
|
||||
standard_params={},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def institutions_search(
|
||||
self,
|
||||
query: Annotated[str, OpenBBField(description="Search query.")] = "",
|
||||
provider: Annotated[
|
||||
Optional[Literal["sec"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Search SEC-regulated institutions by name and return a list of results with CIK numbers.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec.
|
||||
query : str
|
||||
Search query.
|
||||
use_cache : Optional[bool]
|
||||
Whether or not to use cache. (provider: sec)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[InstitutionsSearch]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
InstitutionsSearch
|
||||
------------------
|
||||
name : Optional[str]
|
||||
The name of the institution. (provider: sec)
|
||||
cik : Optional[Union[str, int]]
|
||||
Central Index Key (CIK) (provider: sec)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.regulators.sec.institutions_search(provider='sec')
|
||||
>>> obb.regulators.sec.institutions_search(query='blackstone real estate', provider='sec')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/regulators/sec/institutions_search",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"regulators.sec.institutions_search",
|
||||
("sec",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"query": query,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def rss_litigation(
|
||||
self,
|
||||
provider: Annotated[
|
||||
Optional[Literal["sec"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get the RSS feed that provides links to litigation releases concerning civil lawsuits brought by the Commission in federal court.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[RssLitigation]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
RssLitigation
|
||||
-------------
|
||||
published : Optional[datetime]
|
||||
The date of publication. (provider: sec)
|
||||
title : Optional[str]
|
||||
The title of the release. (provider: sec)
|
||||
summary : Optional[str]
|
||||
Short summary of the release. (provider: sec)
|
||||
id : Optional[str]
|
||||
The identifier associated with the release. (provider: sec)
|
||||
link : Optional[str]
|
||||
URL to the release. (provider: sec)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.regulators.sec.rss_litigation(provider='sec')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/regulators/sec/rss_litigation",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"regulators.sec.rss_litigation",
|
||||
("sec",),
|
||||
)
|
||||
},
|
||||
standard_params={},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def schema_files(
|
||||
self,
|
||||
query: Annotated[str, OpenBBField(description="Search query.")] = "",
|
||||
provider: Annotated[
|
||||
Optional[Literal["sec"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Use tool for navigating the directory of SEC XML schema files by year.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec.
|
||||
query : str
|
||||
Search query.
|
||||
url : Optional[str]
|
||||
Enter an optional URL path to fetch the next level. (provider: sec)
|
||||
use_cache : Optional[bool]
|
||||
Whether or not to use cache. (provider: sec)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : SchemaFiles
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
SchemaFiles
|
||||
-----------
|
||||
files : Optional[list[str]]
|
||||
Dictionary of URLs to SEC Schema Files (provider: sec)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.regulators.sec.schema_files(provider='sec')
|
||||
>>> # Get a list of schema files.
|
||||
>>> data = obb.regulators.sec.schema_files().results
|
||||
>>> data.files[0]
|
||||
>>> 'https://xbrl.fasb.org/us-gaap/'
|
||||
>>> # The directory structure can be navigated by constructing a URL from the 'results' list.
|
||||
>>> url = data.files[0]+data.files[-1]
|
||||
>>> # The URL base will always be the 0 position in the list, feed the URL back in as a parameter.
|
||||
>>> obb.regulators.sec.schema_files(url=url).results.files
|
||||
>>> ['https://xbrl.fasb.org/us-gaap/2024/'
|
||||
>>> 'USGAAP2024Filelist.xml'
|
||||
>>> 'dis/'
|
||||
>>> 'dqcrules/'
|
||||
>>> 'ebp/'
|
||||
>>> 'elts/'
|
||||
>>> 'entire/'
|
||||
>>> 'meta/'
|
||||
>>> 'stm/'
|
||||
>>> 'us-gaap-2024.zip']
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/regulators/sec/schema_files",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"regulators.sec.schema_files",
|
||||
("sec",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"query": query,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def sic_search(
|
||||
self,
|
||||
query: Annotated[str, OpenBBField(description="Search query.")] = "",
|
||||
provider: Annotated[
|
||||
Optional[Literal["sec"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Search for Industry Titles, Reporting Office, and SIC Codes. An empty query string returns all results.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec.
|
||||
query : str
|
||||
Search query.
|
||||
use_cache : Optional[bool]
|
||||
Whether or not to use cache. (provider: sec)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[SicSearch]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
SicSearch
|
||||
---------
|
||||
sic : Optional[int]
|
||||
Sector Industrial Code (SIC) (provider: sec)
|
||||
industry : Optional[str]
|
||||
Industry title. (provider: sec)
|
||||
office : Optional[str]
|
||||
Reporting office within the Corporate Finance Office (provider: sec)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.regulators.sec.sic_search(provider='sec')
|
||||
>>> obb.regulators.sec.sic_search(query='real estate investment trusts', provider='sec')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/regulators/sec/sic_search",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"regulators.sec.sic_search",
|
||||
("sec",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"query": query,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def symbol_map(
|
||||
self,
|
||||
query: Annotated[str, OpenBBField(description="Search query.")],
|
||||
use_cache: Annotated[
|
||||
Optional[bool],
|
||||
OpenBBField(
|
||||
description="Whether or not to use cache. If True, cache will store for seven days."
|
||||
),
|
||||
] = True,
|
||||
provider: Annotated[
|
||||
Optional[Literal["sec"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Map a CIK number to a ticker symbol, leading 0s can be omitted or included.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: sec.
|
||||
query : str
|
||||
Search query.
|
||||
use_cache : Optional[bool]
|
||||
Whether or not to use cache. If True, cache will store for seven days.
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : SymbolMap
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
SymbolMap
|
||||
---------
|
||||
symbol : Optional[str]
|
||||
Symbol representing the entity requested in the data. (provider: sec)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.regulators.sec.symbol_map(query='0000789019', provider='sec')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/regulators/sec/symbol_map",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"regulators.sec.symbol_map",
|
||||
("sec",),
|
||||
)
|
||||
},
|
||||
standard_params={
|
||||
"query": query,
|
||||
"use_cache": use_cache,
|
||||
},
|
||||
extra_params=kwargs,
|
||||
)
|
||||
)
|
||||
@@ -1,439 +0,0 @@
|
||||
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
|
||||
|
||||
from typing import Any, 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_uscongress(Container):
|
||||
"""/uscongress
|
||||
bill_info
|
||||
bill_text
|
||||
bill_text_urls
|
||||
bills
|
||||
"""
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return self.__doc__ or ""
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def bill_info(
|
||||
self,
|
||||
provider: Annotated[
|
||||
Optional[Literal["congress_gov"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: congress_gov."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get summary, status, and other metadata for a specific bill.
|
||||
|
||||
Enter the URL of the bill as: https://api.congress.gov/v3/bill/119/hr/131?
|
||||
|
||||
URLs for bills can be found from the `uscongress.bills` endpoint.
|
||||
|
||||
The raw JSON response from the API will be returned along with a formatted
|
||||
text version of the key information from the raw response.
|
||||
|
||||
In OpenBB Workspace, this command returns as a Markdown widget.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: congress_gov.
|
||||
bill_url : Optional[str]
|
||||
Enter a base URL of a bill (e.g., 'https://api.congress.gov/v3/bill/119/s/1947?format=json'). Alternatively, you can enter a bill number (e.g., '119/s/1947'). (provider: congress_gov)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : CongressBillInfo
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CongressBillInfo
|
||||
----------------
|
||||
markdown_content : Optional[str]
|
||||
Aggregated metadata for the bill in Markdown format. (provider: congress_gov)
|
||||
raw_data : Optional[dict[str, Any]]
|
||||
Raw JSON data from the collected bill information. (provider: congress_gov)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.uscongress.bill_info(provider='congress_gov', bill_url='https://api.congress.gov/v3/bill/119/s/1947?')
|
||||
>>> # The bill URL can be shortened to just the bill number (e.g., '119/s/1947').
|
||||
>>> obb.uscongress.bill_info(bill_url='119/s/1947', provider='congress_gov')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/uscongress/bill_info",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"uscongress.bill_info",
|
||||
("congress_gov",),
|
||||
)
|
||||
},
|
||||
standard_params={},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"bill_url": {
|
||||
"congress_gov": {
|
||||
"x-widget_config": {
|
||||
"label": "Bill URL",
|
||||
"description": "Enter a base URL of a bill (e.g., 'https://api.congress.gov/v3/bill/119/s/1947?'). Alternatively, you can enter a bill number (e.g., '119/s/1947'). Create a group on the 'Bill URL' field of the 'Congressional Bills' widget and click on the cell to view summary and metadata.",
|
||||
"value": "119/hr/1",
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def bill_text(
|
||||
self,
|
||||
provider: Annotated[
|
||||
Optional[Literal["congress_gov"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: congress_gov."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Download the text of a specific bill in PDF format.
|
||||
|
||||
This endpoint accepts a list of URLs to download and returns the base64-encoded
|
||||
PDF content along with the filename.
|
||||
|
||||
In OpenBB Workspace, this command returns as a multi-file viewer widget.
|
||||
|
||||
This command outputs only the results array of the OBBject.
|
||||
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: congress_gov.
|
||||
urls : Union[str, list[str], dict[str, list[str]], None]
|
||||
list of direct bill URLs to download. Multiple comma separated items allowed. (provider: congress_gov)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CongressBillText]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CongressBillText
|
||||
----------------
|
||||
error_type : Optional[str]
|
||||
Error type if any error occurs during the download. (provider: congress_gov)
|
||||
content : Optional[str]
|
||||
Base64-encoded PDF document. (provider: congress_gov)
|
||||
filename : Optional[str]
|
||||
The filename of the downloaded PDF. (provider: congress_gov)
|
||||
data_format : Optional[dict[str, str]]
|
||||
Data format information, including data type and filename. (provider: congress_gov)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.uscongress.bill_text(provider='congress_gov', urls='['https://www.congress.gov/119/bills/hr1/BILLS-119hr1eh.pdf']')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/uscongress/bill_text",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"uscongress.bill_text",
|
||||
("congress_gov",),
|
||||
)
|
||||
},
|
||||
standard_params={},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"urls": {
|
||||
"congress_gov": {
|
||||
"multiple_items_allowed": True,
|
||||
"choices": None,
|
||||
}
|
||||
}
|
||||
},
|
||||
data_processing=True,
|
||||
),
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def bill_text_urls(
|
||||
self,
|
||||
bill_url: Annotated[str, OpenBBField(description="")],
|
||||
is_workspace: Annotated[bool, OpenBBField(description="")] = False,
|
||||
provider: Annotated[
|
||||
Optional[str], OpenBBField(description="")
|
||||
] = "congress_gov",
|
||||
**kwargs: Any
|
||||
) -> list:
|
||||
"""Helper function to populate document choices for a specific bill.
|
||||
|
||||
This function is used by the Congressional Bills Viewer widget, in OpenBB Workspace,
|
||||
to populate PDF document choices for the selected bill.
|
||||
|
||||
When 'is_workspace' is False (default), it returns a list of the available text versions
|
||||
of the specified bill and their download links for the different formats.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
bill_url : str
|
||||
The base URL of the bill (e.g., "https://api.congress.gov/v3/bill/119/s/1947?format=json").
|
||||
This can also be a shortened version like "119/s/1947".
|
||||
provider : str
|
||||
The provider name, always "congress_gov". This is a dummy parameter.
|
||||
is_workspace : bool
|
||||
Whether the request is coming from the OpenBB Workspace.
|
||||
This alters the output format to conform to the Workspace's expectations.
|
||||
|
||||
Returns
|
||||
-------
|
||||
list[dict]
|
||||
Returns a list of dictionaries with 'label' and 'value' keys, when `is_workspace` is True.
|
||||
Otherwise, returns the 'text' object from the Congress.gov API response.
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.uscongress.bill_text_urls(provider='congress_gov', bill_url='https://api.congress.gov/v3/bill/119/s/1947?')
|
||||
>>> obb.uscongress.bill_text_urls(provider='congress_gov', bill_url='119/s/1947')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/uscongress/bill_text_urls",
|
||||
**filter_inputs(
|
||||
bill_url=bill_url,
|
||||
provider=provider,
|
||||
is_workspace=is_workspace,
|
||||
**kwargs,
|
||||
),
|
||||
)
|
||||
|
||||
@exception_handler
|
||||
@validate
|
||||
def bills(
|
||||
self,
|
||||
provider: Annotated[
|
||||
Optional[Literal["congress_gov"]],
|
||||
OpenBBField(
|
||||
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: congress_gov."
|
||||
),
|
||||
] = None,
|
||||
**kwargs
|
||||
) -> OBBject:
|
||||
"""Get and filter lists of Congressional Bills.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
provider : str
|
||||
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: congress_gov.
|
||||
congress : Optional[int]
|
||||
Congress number (e.g., 118 for the 118th Congress). The 103rd Congress started in 1993, which is the earliest date supporting full text versions. Each Congress spans two years, starting in odd-numbered years. (provider: congress_gov)
|
||||
bill_type : Optional[str]
|
||||
Bill type (e.g., "hr" for House bills).
|
||||
|
||||
Must be one of: hr, s, hjres, sjres, hconres, sconres, hres, sres.
|
||||
|
||||
Bills
|
||||
-----
|
||||
|
||||
A bill is the form used for most legislation, whether permanent or temporary, general or special, public or private.
|
||||
|
||||
A bill originating in the House of Representatives is designated by the letters “H.R.”,
|
||||
signifying “House of Representatives”, followed by a number that it retains throughout all its parliamentary stages.
|
||||
|
||||
Bills are presented to the President for action when approved in identical form
|
||||
by both the House of Representatives and the Senate.
|
||||
|
||||
Joint Resolutions
|
||||
-----------------
|
||||
|
||||
Joint resolutions may originate either in the House of Representatives or in the Senate.
|
||||
|
||||
There is little practical difference between a bill and a joint resolution. Both are subject to the same procedure,
|
||||
except for a joint resolution proposing an amendment to the Constitution.
|
||||
|
||||
On approval of such a resolution by two-thirds of both the House and Senate,
|
||||
it is sent directly to the Administrator of General Services for submission to the individual states for ratification.
|
||||
|
||||
It is not presented to the President for approval.
|
||||
A joint resolution originating in the House of Representatives is designated “H.J.Res.” followed by its individual number.
|
||||
Joint resolutions become law in the same manner as bills.
|
||||
|
||||
Concurrent Resolutions
|
||||
----------------------
|
||||
|
||||
Matters affecting the operations of both the House of Representatives and Senate
|
||||
are usually initiated by means of concurrent resolutions.
|
||||
|
||||
A concurrent resolution originating in the House of Representatives is designated “H.Con.Res.”
|
||||
followed by its individual number.
|
||||
|
||||
On approval by both the House of Representatives and Senate,
|
||||
they are signed by the Clerk of the House and the Secretary of the Senate.
|
||||
|
||||
They are not presented to the President for action.
|
||||
|
||||
Simple Resolutions
|
||||
------------------
|
||||
|
||||
A matter concerning the operation of either the House of Representatives or Senate
|
||||
alone is initiated by a simple resolution.
|
||||
|
||||
A resolution affecting the House of Representatives is designated “H.Res.” followed by its number.
|
||||
|
||||
They are not presented to the President for action.
|
||||
|
||||
(provider: congress_gov)
|
||||
start_date : Optional[date]
|
||||
Start date of the data, in YYYY-MM-DD format. Filters bills by the last updated date. (provider: congress_gov)
|
||||
end_date : Optional[date]
|
||||
End date of the data, in YYYY-MM-DD format. Filters bills by the last updated date. (provider: congress_gov)
|
||||
limit : Optional[int]
|
||||
The number of data entries to return. When None, default sets to 100 (max 250). Set to 0 for no limit (must be used with 'bill_type' and 'congress'). (provider: congress_gov)
|
||||
offset : Optional[int]
|
||||
The starting record returned. 0 is the first record. (provider: congress_gov)
|
||||
sort_by : Literal['asc', 'desc']
|
||||
Sort by update date. Default is latest first. (provider: congress_gov)
|
||||
|
||||
Returns
|
||||
-------
|
||||
OBBject
|
||||
results : list[CongressBills]
|
||||
Serializable results.
|
||||
provider : Optional[str]
|
||||
Provider name.
|
||||
warnings : Optional[list[Warning_]]
|
||||
list of warnings.
|
||||
chart : Optional[Chart]
|
||||
Chart object.
|
||||
extra : Dict[str, Any]
|
||||
Extra info.
|
||||
|
||||
CongressBills
|
||||
-------------
|
||||
update_date : Optional[date]
|
||||
The date the bill was last updated. (provider: congress_gov)
|
||||
latest_action_date : Optional[date]
|
||||
The date of the latest action on the bill. (provider: congress_gov)
|
||||
bill_url : Optional[str]
|
||||
Base URL to the bill for the congress.gov API. (provider: congress_gov)
|
||||
congress : Optional[int]
|
||||
The congress session number. (provider: congress_gov)
|
||||
bill_number : Optional[int]
|
||||
The bill number. (provider: congress_gov)
|
||||
origin_chamber : Optional[str]
|
||||
The chamber where the bill originated. (provider: congress_gov)
|
||||
origin_chamber_code : Optional[str]
|
||||
The chamber code where the bill originated. (provider: congress_gov)
|
||||
bill_type : Optional[str]
|
||||
The type of bill (e.g., HR, S). (provider: congress_gov)
|
||||
title : Optional[str]
|
||||
The title of the bill. (provider: congress_gov)
|
||||
latest_action : Optional[str]
|
||||
Latest action information for the bill. (provider: congress_gov)
|
||||
update_date_including_text : Optional[datetime]
|
||||
The date and time the bill text was last updated. (provider: congress_gov)
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb import obb
|
||||
>>> obb.uscongress.bills(provider='congress_gov')
|
||||
>>> obb.uscongress.bills(start_date='2025-01-01', end_date='2025-01-31', provider='congress_gov')
|
||||
>>> # Get all bills of type 's' (Senate) for the 118th Congress.
|
||||
>>> obb.uscongress.bills(bill_type='s', congress=118, limit=0, provider='congress_gov')
|
||||
""" # noqa: E501
|
||||
|
||||
return self._run(
|
||||
"/uscongress/bills",
|
||||
**filter_inputs(
|
||||
provider_choices={
|
||||
"provider": self._get_provider(
|
||||
provider,
|
||||
"uscongress.bills",
|
||||
("congress_gov",),
|
||||
)
|
||||
},
|
||||
standard_params={},
|
||||
extra_params=kwargs,
|
||||
info={
|
||||
"congress": {
|
||||
"congress_gov": {"x-widget_config": {"type": "number"}}
|
||||
},
|
||||
"bill_type": {
|
||||
"congress_gov": {
|
||||
"x-widget_config": {
|
||||
"options": [
|
||||
{"label": "House Bill", "value": "hr"},
|
||||
{"label": "Senate Bill", "value": "s"},
|
||||
{
|
||||
"label": "House Joint Resolution",
|
||||
"value": "hjres",
|
||||
},
|
||||
{
|
||||
"label": "Senate Joint Resolution",
|
||||
"value": "sjres",
|
||||
},
|
||||
{
|
||||
"label": "House Concurrent Resolution",
|
||||
"value": "hconres",
|
||||
},
|
||||
{
|
||||
"label": "Senate Concurrent Resolution",
|
||||
"value": "sconres",
|
||||
},
|
||||
{
|
||||
"label": "House Simple Resolution",
|
||||
"value": "hres",
|
||||
},
|
||||
{
|
||||
"label": "Senate Simple Resolution",
|
||||
"value": "sres",
|
||||
},
|
||||
],
|
||||
"value": None,
|
||||
"style": {"popupWidth": 300},
|
||||
"paramName": "bill_type",
|
||||
"label": "Bill Type",
|
||||
}
|
||||
}
|
||||
},
|
||||
"offset": {"congress_gov": {"x-widget_config": {"type": "number"}}},
|
||||
},
|
||||
),
|
||||
)
|
||||
558
openbb_platform/core/poetry.lock
generated
vendored
558
openbb_platform/core/poetry.lock
generated
vendored
@@ -1,4 +1,4 @@
|
||||
# This file is automatically @generated by Poetry 2.1.3 and should not be changed by hand.
|
||||
# This file is automatically @generated by Poetry 2.1.4 and should not be changed by hand.
|
||||
|
||||
[[package]]
|
||||
name = "aiohappyeyeballs"
|
||||
@@ -151,14 +151,14 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "anyio"
|
||||
version = "4.9.0"
|
||||
description = "High level compatibility layer for multiple asynchronous event loop implementations"
|
||||
version = "4.10.0"
|
||||
description = "High-level concurrency and networking framework on top of asyncio or Trio"
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c"},
|
||||
{file = "anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028"},
|
||||
{file = "anyio-4.10.0-py3-none-any.whl", hash = "sha256:60e474ac86736bbfd6f210f7a61218939c318f43f9972497381f1c5e930ed3d1"},
|
||||
{file = "anyio-4.10.0.tar.gz", hash = "sha256:3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -168,8 +168,6 @@ sniffio = ">=1.1"
|
||||
typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""}
|
||||
|
||||
[package.extras]
|
||||
doc = ["Sphinx (>=8.2,<9.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"]
|
||||
test = ["anyio[trio]", "blockbuster (>=1.5.23)", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1) ; python_version >= \"3.10\"", "uvloop (>=0.21) ; platform_python_implementation == \"CPython\" and platform_system != \"Windows\" and python_version < \"3.14\""]
|
||||
trio = ["trio (>=0.26.1)"]
|
||||
|
||||
[[package]]
|
||||
@@ -207,116 +205,103 @@ tests-mypy = ["mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" a
|
||||
|
||||
[[package]]
|
||||
name = "certifi"
|
||||
version = "2025.7.14"
|
||||
version = "2025.8.3"
|
||||
description = "Python package for providing Mozilla's CA Bundle."
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "certifi-2025.7.14-py3-none-any.whl", hash = "sha256:6b31f564a415d79ee77df69d757bb49a5bb53bd9f756cbbe24394ffd6fc1f4b2"},
|
||||
{file = "certifi-2025.7.14.tar.gz", hash = "sha256:8ea99dbdfaaf2ba2f9bac77b9249ef62ec5218e7c2b2e903378ed5fccf765995"},
|
||||
{file = "certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5"},
|
||||
{file = "certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "charset-normalizer"
|
||||
version = "3.4.2"
|
||||
version = "3.4.3"
|
||||
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941"},
|
||||
{file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd"},
|
||||
{file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6"},
|
||||
{file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d"},
|
||||
{file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86"},
|
||||
{file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c"},
|
||||
{file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0"},
|
||||
{file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef"},
|
||||
{file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6"},
|
||||
{file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366"},
|
||||
{file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db"},
|
||||
{file = "charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a"},
|
||||
{file = "charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509"},
|
||||
{file = "charset_normalizer-3.4.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2"},
|
||||
{file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645"},
|
||||
{file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd"},
|
||||
{file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8"},
|
||||
{file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f"},
|
||||
{file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7"},
|
||||
{file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9"},
|
||||
{file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544"},
|
||||
{file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82"},
|
||||
{file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0"},
|
||||
{file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5"},
|
||||
{file = "charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a"},
|
||||
{file = "charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28"},
|
||||
{file = "charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7"},
|
||||
{file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3"},
|
||||
{file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a"},
|
||||
{file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214"},
|
||||
{file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a"},
|
||||
{file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd"},
|
||||
{file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981"},
|
||||
{file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c"},
|
||||
{file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b"},
|
||||
{file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d"},
|
||||
{file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f"},
|
||||
{file = "charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c"},
|
||||
{file = "charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e"},
|
||||
{file = "charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0"},
|
||||
{file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf"},
|
||||
{file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e"},
|
||||
{file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1"},
|
||||
{file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c"},
|
||||
{file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691"},
|
||||
{file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0"},
|
||||
{file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b"},
|
||||
{file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff"},
|
||||
{file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b"},
|
||||
{file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148"},
|
||||
{file = "charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7"},
|
||||
{file = "charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980"},
|
||||
{file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1cad5f45b3146325bb38d6855642f6fd609c3f7cad4dbaf75549bf3b904d3184"},
|
||||
{file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2680962a4848b3c4f155dc2ee64505a9c57186d0d56b43123b17ca3de18f0fa"},
|
||||
{file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:36b31da18b8890a76ec181c3cf44326bf2c48e36d393ca1b72b3f484113ea344"},
|
||||
{file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4074c5a429281bf056ddd4c5d3b740ebca4d43ffffe2ef4bf4d2d05114299da"},
|
||||
{file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9e36a97bee9b86ef9a1cf7bb96747eb7a15c2f22bdb5b516434b00f2a599f02"},
|
||||
{file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:1b1bde144d98e446b056ef98e59c256e9294f6b74d7af6846bf5ffdafd687a7d"},
|
||||
{file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:915f3849a011c1f593ab99092f3cecfcb4d65d8feb4a64cf1bf2d22074dc0ec4"},
|
||||
{file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:fb707f3e15060adf5b7ada797624a6c6e0138e2a26baa089df64c68ee98e040f"},
|
||||
{file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:25a23ea5c7edc53e0f29bae2c44fcb5a1aa10591aae107f2a2b2583a9c5cbc64"},
|
||||
{file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:770cab594ecf99ae64c236bc9ee3439c3f46be49796e265ce0cc8bc17b10294f"},
|
||||
{file = "charset_normalizer-3.4.2-cp37-cp37m-win32.whl", hash = "sha256:6a0289e4589e8bdfef02a80478f1dfcb14f0ab696b5a00e1f4b8a14a307a3c58"},
|
||||
{file = "charset_normalizer-3.4.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6fc1f5b51fa4cecaa18f2bd7a003f3dd039dd615cd69a2afd6d3b19aed6775f2"},
|
||||
{file = "charset_normalizer-3.4.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb"},
|
||||
{file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a"},
|
||||
{file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45"},
|
||||
{file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5"},
|
||||
{file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1"},
|
||||
{file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027"},
|
||||
{file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b"},
|
||||
{file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455"},
|
||||
{file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01"},
|
||||
{file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58"},
|
||||
{file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681"},
|
||||
{file = "charset_normalizer-3.4.2-cp38-cp38-win32.whl", hash = "sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7"},
|
||||
{file = "charset_normalizer-3.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a"},
|
||||
{file = "charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4"},
|
||||
{file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7"},
|
||||
{file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836"},
|
||||
{file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597"},
|
||||
{file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7"},
|
||||
{file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f"},
|
||||
{file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba"},
|
||||
{file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12"},
|
||||
{file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518"},
|
||||
{file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5"},
|
||||
{file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3"},
|
||||
{file = "charset_normalizer-3.4.2-cp39-cp39-win32.whl", hash = "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471"},
|
||||
{file = "charset_normalizer-3.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e"},
|
||||
{file = "charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0"},
|
||||
{file = "charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63"},
|
||||
{file = "charset_normalizer-3.4.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fb7f67a1bfa6e40b438170ebdc8158b78dc465a5a67b6dde178a46987b244a72"},
|
||||
{file = "charset_normalizer-3.4.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc9370a2da1ac13f0153780040f465839e6cccb4a1e44810124b4e22483c93fe"},
|
||||
{file = "charset_normalizer-3.4.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:07a0eae9e2787b586e129fdcbe1af6997f8d0e5abaa0bc98c0e20e124d67e601"},
|
||||
{file = "charset_normalizer-3.4.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:74d77e25adda8581ffc1c720f1c81ca082921329452eba58b16233ab1842141c"},
|
||||
{file = "charset_normalizer-3.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0e909868420b7049dafd3a31d45125b31143eec59235311fc4c57ea26a4acd2"},
|
||||
{file = "charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c6f162aabe9a91a309510d74eeb6507fab5fff92337a15acbe77753d88d9dcf0"},
|
||||
{file = "charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4ca4c094de7771a98d7fbd67d9e5dbf1eb73efa4f744a730437d8a3a5cf994f0"},
|
||||
{file = "charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:02425242e96bcf29a49711b0ca9f37e451da7c70562bc10e8ed992a5a7a25cc0"},
|
||||
{file = "charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:78deba4d8f9590fe4dae384aeff04082510a709957e968753ff3c48399f6f92a"},
|
||||
{file = "charset_normalizer-3.4.3-cp310-cp310-win32.whl", hash = "sha256:d79c198e27580c8e958906f803e63cddb77653731be08851c7df0b1a14a8fc0f"},
|
||||
{file = "charset_normalizer-3.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:c6e490913a46fa054e03699c70019ab869e990270597018cef1d8562132c2669"},
|
||||
{file = "charset_normalizer-3.4.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b256ee2e749283ef3ddcff51a675ff43798d92d746d1a6e4631bf8c707d22d0b"},
|
||||
{file = "charset_normalizer-3.4.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13faeacfe61784e2559e690fc53fa4c5ae97c6fcedb8eb6fb8d0a15b475d2c64"},
|
||||
{file = "charset_normalizer-3.4.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91"},
|
||||
{file = "charset_normalizer-3.4.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:585f3b2a80fbd26b048a0be90c5aae8f06605d3c92615911c3a2b03a8a3b796f"},
|
||||
{file = "charset_normalizer-3.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e78314bdc32fa80696f72fa16dc61168fda4d6a0c014e0380f9d02f0e5d8a07"},
|
||||
{file = "charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:96b2b3d1a83ad55310de8c7b4a2d04d9277d5591f40761274856635acc5fcb30"},
|
||||
{file = "charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:939578d9d8fd4299220161fdd76e86c6a251987476f5243e8864a7844476ba14"},
|
||||
{file = "charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fd10de089bcdcd1be95a2f73dbe6254798ec1bda9f450d5828c96f93e2536b9c"},
|
||||
{file = "charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e8ac75d72fa3775e0b7cb7e4629cec13b7514d928d15ef8ea06bca03ef01cae"},
|
||||
{file = "charset_normalizer-3.4.3-cp311-cp311-win32.whl", hash = "sha256:6cf8fd4c04756b6b60146d98cd8a77d0cdae0e1ca20329da2ac85eed779b6849"},
|
||||
{file = "charset_normalizer-3.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:31a9a6f775f9bcd865d88ee350f0ffb0e25936a7f930ca98995c05abf1faf21c"},
|
||||
{file = "charset_normalizer-3.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1"},
|
||||
{file = "charset_normalizer-3.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884"},
|
||||
{file = "charset_normalizer-3.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018"},
|
||||
{file = "charset_normalizer-3.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392"},
|
||||
{file = "charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f"},
|
||||
{file = "charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154"},
|
||||
{file = "charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491"},
|
||||
{file = "charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93"},
|
||||
{file = "charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f"},
|
||||
{file = "charset_normalizer-3.4.3-cp312-cp312-win32.whl", hash = "sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37"},
|
||||
{file = "charset_normalizer-3.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc"},
|
||||
{file = "charset_normalizer-3.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe"},
|
||||
{file = "charset_normalizer-3.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8"},
|
||||
{file = "charset_normalizer-3.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9"},
|
||||
{file = "charset_normalizer-3.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31"},
|
||||
{file = "charset_normalizer-3.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f"},
|
||||
{file = "charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927"},
|
||||
{file = "charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9"},
|
||||
{file = "charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5"},
|
||||
{file = "charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc"},
|
||||
{file = "charset_normalizer-3.4.3-cp313-cp313-win32.whl", hash = "sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce"},
|
||||
{file = "charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef"},
|
||||
{file = "charset_normalizer-3.4.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15"},
|
||||
{file = "charset_normalizer-3.4.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db"},
|
||||
{file = "charset_normalizer-3.4.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d"},
|
||||
{file = "charset_normalizer-3.4.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096"},
|
||||
{file = "charset_normalizer-3.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa"},
|
||||
{file = "charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049"},
|
||||
{file = "charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0"},
|
||||
{file = "charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92"},
|
||||
{file = "charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16"},
|
||||
{file = "charset_normalizer-3.4.3-cp314-cp314-win32.whl", hash = "sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce"},
|
||||
{file = "charset_normalizer-3.4.3-cp314-cp314-win_amd64.whl", hash = "sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c"},
|
||||
{file = "charset_normalizer-3.4.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0f2be7e0cf7754b9a30eb01f4295cc3d4358a479843b31f328afd210e2c7598c"},
|
||||
{file = "charset_normalizer-3.4.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c60e092517a73c632ec38e290eba714e9627abe9d301c8c8a12ec32c314a2a4b"},
|
||||
{file = "charset_normalizer-3.4.3-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:252098c8c7a873e17dd696ed98bbe91dbacd571da4b87df3736768efa7a792e4"},
|
||||
{file = "charset_normalizer-3.4.3-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3653fad4fe3ed447a596ae8638b437f827234f01a8cd801842e43f3d0a6b281b"},
|
||||
{file = "charset_normalizer-3.4.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8999f965f922ae054125286faf9f11bc6932184b93011d138925a1773830bbe9"},
|
||||
{file = "charset_normalizer-3.4.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d95bfb53c211b57198bb91c46dd5a2d8018b3af446583aab40074bf7988401cb"},
|
||||
{file = "charset_normalizer-3.4.3-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:5b413b0b1bfd94dbf4023ad6945889f374cd24e3f62de58d6bb102c4d9ae534a"},
|
||||
{file = "charset_normalizer-3.4.3-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:b5e3b2d152e74e100a9e9573837aba24aab611d39428ded46f4e4022ea7d1942"},
|
||||
{file = "charset_normalizer-3.4.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a2d08ac246bb48479170408d6c19f6385fa743e7157d716e144cad849b2dd94b"},
|
||||
{file = "charset_normalizer-3.4.3-cp38-cp38-win32.whl", hash = "sha256:ec557499516fc90fd374bf2e32349a2887a876fbf162c160e3c01b6849eaf557"},
|
||||
{file = "charset_normalizer-3.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:5d8d01eac18c423815ed4f4a2ec3b439d654e55ee4ad610e153cf02faf67ea40"},
|
||||
{file = "charset_normalizer-3.4.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:70bfc5f2c318afece2f5838ea5e4c3febada0be750fcf4775641052bbba14d05"},
|
||||
{file = "charset_normalizer-3.4.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:23b6b24d74478dc833444cbd927c338349d6ae852ba53a0d02a2de1fce45b96e"},
|
||||
{file = "charset_normalizer-3.4.3-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:34a7f768e3f985abdb42841e20e17b330ad3aaf4bb7e7aeeb73db2e70f077b99"},
|
||||
{file = "charset_normalizer-3.4.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fb731e5deb0c7ef82d698b0f4c5bb724633ee2a489401594c5c88b02e6cb15f7"},
|
||||
{file = "charset_normalizer-3.4.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:257f26fed7d7ff59921b78244f3cd93ed2af1800ff048c33f624c87475819dd7"},
|
||||
{file = "charset_normalizer-3.4.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1ef99f0456d3d46a50945c98de1774da86f8e992ab5c77865ea8b8195341fc19"},
|
||||
{file = "charset_normalizer-3.4.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:2c322db9c8c89009a990ef07c3bcc9f011a3269bc06782f916cd3d9eed7c9312"},
|
||||
{file = "charset_normalizer-3.4.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:511729f456829ef86ac41ca78c63a5cb55240ed23b4b737faca0eb1abb1c41bc"},
|
||||
{file = "charset_normalizer-3.4.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:88ab34806dea0671532d3f82d82b85e8fc23d7b2dd12fa837978dad9bb392a34"},
|
||||
{file = "charset_normalizer-3.4.3-cp39-cp39-win32.whl", hash = "sha256:16a8770207946ac75703458e2c743631c79c59c5890c80011d536248f8eaa432"},
|
||||
{file = "charset_normalizer-3.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:d22dbedd33326a4a5190dd4fe9e9e693ef12160c77382d9e87919bce54f3d4ca"},
|
||||
{file = "charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a"},
|
||||
{file = "charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -594,122 +579,122 @@ type = ["pytest-mypy"]
|
||||
|
||||
[[package]]
|
||||
name = "multidict"
|
||||
version = "6.6.3"
|
||||
version = "6.6.4"
|
||||
description = "multidict implementation"
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "multidict-6.6.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a2be5b7b35271f7fff1397204ba6708365e3d773579fe2a30625e16c4b4ce817"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:12f4581d2930840295c461764b9a65732ec01250b46c6b2c510d7ee68872b140"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dd7793bab517e706c9ed9d7310b06c8672fd0aeee5781bfad612f56b8e0f7d14"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:72d8815f2cd3cf3df0f83cac3f3ef801d908b2d90409ae28102e0553af85545a"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:531e331a2ee53543ab32b16334e2deb26f4e6b9b28e41f8e0c87e99a6c8e2d69"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:42ca5aa9329a63be8dc49040f63817d1ac980e02eeddba763a9ae5b4027b9c9c"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:208b9b9757060b9faa6f11ab4bc52846e4f3c2fb8b14d5680c8aac80af3dc751"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:acf6b97bd0884891af6a8b43d0f586ab2fcf8e717cbd47ab4bdddc09e20652d8"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:68e9e12ed00e2089725669bdc88602b0b6f8d23c0c95e52b95f0bc69f7fe9b55"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:05db2f66c9addb10cfa226e1acb363450fab2ff8a6df73c622fefe2f5af6d4e7"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:0db58da8eafb514db832a1b44f8fa7906fdd102f7d982025f816a93ba45e3dcb"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:14117a41c8fdb3ee19c743b1c027da0736fdb79584d61a766da53d399b71176c"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:877443eaaabcd0b74ff32ebeed6f6176c71850feb7d6a1d2db65945256ea535c"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:70b72e749a4f6e7ed8fb334fa8d8496384840319512746a5f42fa0aec79f4d61"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:43571f785b86afd02b3855c5ac8e86ec921b760298d6f82ff2a61daf5a35330b"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-win32.whl", hash = "sha256:20c5a0c3c13a15fd5ea86c42311859f970070e4e24de5a550e99d7c271d76318"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-win_amd64.whl", hash = "sha256:ab0a34a007704c625e25a9116c6770b4d3617a071c8a7c30cd338dfbadfe6485"},
|
||||
{file = "multidict-6.6.3-cp310-cp310-win_arm64.whl", hash = "sha256:769841d70ca8bdd140a715746199fc6473414bd02efd678d75681d2d6a8986c5"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:18f4eba0cbac3546b8ae31e0bbc55b02c801ae3cbaf80c247fcdd89b456ff58c"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef43b5dd842382329e4797c46f10748d8c2b6e0614f46b4afe4aee9ac33159df"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bf9bd1fd5eec01494e0f2e8e446a74a85d5e49afb63d75a9934e4a5423dba21d"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:5bd8d6f793a787153956cd35e24f60485bf0651c238e207b9a54f7458b16d539"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1bf99b4daf908c73856bd87ee0a2499c3c9a3d19bb04b9c6025e66af3fd07462"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b9e59946b49dafaf990fd9c17ceafa62976e8471a14952163d10a7a630413a9"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e2db616467070d0533832d204c54eea6836a5e628f2cb1e6dfd8cd6ba7277cb7"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7394888236621f61dcdd25189b2768ae5cc280f041029a5bcf1122ac63df79f9"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f114d8478733ca7388e7c7e0ab34b72547476b97009d643644ac33d4d3fe1821"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cdf22e4db76d323bcdc733514bf732e9fb349707c98d341d40ebcc6e9318ef3d"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:e995a34c3d44ab511bfc11aa26869b9d66c2d8c799fa0e74b28a473a692532d6"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:766a4a5996f54361d8d5a9050140aa5362fe48ce51c755a50c0bc3706460c430"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3893a0d7d28a7fe6ca7a1f760593bc13038d1d35daf52199d431b61d2660602b"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:934796c81ea996e61914ba58064920d6cad5d99140ac3167901eb932150e2e56"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9ed948328aec2072bc00f05d961ceadfd3e9bfc2966c1319aeaf7b7c21219183"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-win32.whl", hash = "sha256:9f5b28c074c76afc3e4c610c488e3493976fe0e596dd3db6c8ddfbb0134dcac5"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-win_amd64.whl", hash = "sha256:bc7f6fbc61b1c16050a389c630da0b32fc6d4a3d191394ab78972bf5edc568c2"},
|
||||
{file = "multidict-6.6.3-cp311-cp311-win_arm64.whl", hash = "sha256:d4e47d8faffaae822fb5cba20937c048d4f734f43572e7079298a6c39fb172cb"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:056bebbeda16b2e38642d75e9e5310c484b7c24e3841dc0fb943206a72ec89d6"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e5f481cccb3c5c5e5de5d00b5141dc589c1047e60d07e85bbd7dea3d4580d63f"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:10bea2ee839a759ee368b5a6e47787f399b41e70cf0c20d90dfaf4158dfb4e55"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:2334cfb0fa9549d6ce2c21af2bfbcd3ac4ec3646b1b1581c88e3e2b1779ec92b"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b8fee016722550a2276ca2cb5bb624480e0ed2bd49125b2b73b7010b9090e888"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5511cb35f5c50a2db21047c875eb42f308c5583edf96bd8ebf7d770a9d68f6d"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:712b348f7f449948e0a6c4564a21c7db965af900973a67db432d724619b3c680"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e4e15d2138ee2694e038e33b7c3da70e6b0ad8868b9f8094a72e1414aeda9c1a"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8df25594989aebff8a130f7899fa03cbfcc5d2b5f4a461cf2518236fe6f15961"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:159ca68bfd284a8860f8d8112cf0521113bffd9c17568579e4d13d1f1dc76b65"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e098c17856a8c9ade81b4810888c5ad1914099657226283cab3062c0540b0643"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:67c92ed673049dec52d7ed39f8cf9ebbadf5032c774058b4406d18c8f8fe7063"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:bd0578596e3a835ef451784053cfd327d607fc39ea1a14812139339a18a0dbc3"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:346055630a2df2115cd23ae271910b4cae40f4e336773550dca4889b12916e75"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:555ff55a359302b79de97e0468e9ee80637b0de1fce77721639f7cd9440b3a10"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-win32.whl", hash = "sha256:73ab034fb8d58ff85c2bcbadc470efc3fafeea8affcf8722855fb94557f14cc5"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-win_amd64.whl", hash = "sha256:04cbcce84f63b9af41bad04a54d4cc4e60e90c35b9e6ccb130be2d75b71f8c17"},
|
||||
{file = "multidict-6.6.3-cp312-cp312-win_arm64.whl", hash = "sha256:0f1130b896ecb52d2a1e615260f3ea2af55fa7dc3d7c3003ba0c3121a759b18b"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:540d3c06d48507357a7d57721e5094b4f7093399a0106c211f33540fdc374d55"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9c19cea2a690f04247d43f366d03e4eb110a0dc4cd1bbeee4d445435428ed35b"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7af039820cfd00effec86bda5d8debef711a3e86a1d3772e85bea0f243a4bd65"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:500b84f51654fdc3944e936f2922114349bf8fdcac77c3092b03449f0e5bc2b3"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3fc723ab8a5c5ed6c50418e9bfcd8e6dceba6c271cee6728a10a4ed8561520c"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:94c47ea3ade005b5976789baaed66d4de4480d0a0bf31cef6edaa41c1e7b56a6"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dbc7cf464cc6d67e83e136c9f55726da3a30176f020a36ead246eceed87f1cd8"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:900eb9f9da25ada070f8ee4a23f884e0ee66fe4e1a38c3af644256a508ad81ca"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7c6df517cf177da5d47ab15407143a89cd1a23f8b335f3a28d57e8b0a3dbb884"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4ef421045f13879e21c994b36e728d8e7d126c91a64b9185810ab51d474f27e7"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:6c1e61bb4f80895c081790b6b09fa49e13566df8fbff817da3f85b3a8192e36b"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e5e8523bb12d7623cd8300dbd91b9e439a46a028cd078ca695eb66ba31adee3c"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:ef58340cc896219e4e653dade08fea5c55c6df41bcc68122e3be3e9d873d9a7b"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fc9dc435ec8699e7b602b94fe0cd4703e69273a01cbc34409af29e7820f777f1"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9e864486ef4ab07db5e9cb997bad2b681514158d6954dd1958dfb163b83d53e6"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-win32.whl", hash = "sha256:5633a82fba8e841bc5c5c06b16e21529573cd654f67fd833650a215520a6210e"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-win_amd64.whl", hash = "sha256:e93089c1570a4ad54c3714a12c2cef549dc9d58e97bcded193d928649cab78e9"},
|
||||
{file = "multidict-6.6.3-cp313-cp313-win_arm64.whl", hash = "sha256:c60b401f192e79caec61f166da9c924e9f8bc65548d4246842df91651e83d600"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:02fd8f32d403a6ff13864b0851f1f523d4c988051eea0471d4f1fd8010f11134"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f3aa090106b1543f3f87b2041eef3c156c8da2aed90c63a2fbed62d875c49c37"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e924fb978615a5e33ff644cc42e6aa241effcf4f3322c09d4f8cebde95aff5f8"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:b9fe5a0e57c6dbd0e2ce81ca66272282c32cd11d31658ee9553849d91289e1c1"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b24576f208793ebae00280c59927c3b7c2a3b1655e443a25f753c4611bc1c373"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:135631cb6c58eac37d7ac0df380294fecdc026b28837fa07c02e459c7fb9c54e"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:274d416b0df887aef98f19f21578653982cfb8a05b4e187d4a17103322eeaf8f"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e252017a817fad7ce05cafbe5711ed40faeb580e63b16755a3a24e66fa1d87c0"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e4cc8d848cd4fe1cdee28c13ea79ab0ed37fc2e89dd77bac86a2e7959a8c3bc"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9e236a7094b9c4c1b7585f6b9cca34b9d833cf079f7e4c49e6a4a6ec9bfdc68f"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:e0cb0ab69915c55627c933f0b555a943d98ba71b4d1c57bc0d0a66e2567c7471"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:81ef2f64593aba09c5212a3d0f8c906a0d38d710a011f2f42759704d4557d3f2"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:b9cbc60010de3562545fa198bfc6d3825df430ea96d2cc509c39bd71e2e7d648"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:70d974eaaa37211390cd02ef93b7e938de564bbffa866f0b08d07e5e65da783d"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3713303e4a6663c6d01d648a68f2848701001f3390a030edaaf3fc949c90bf7c"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-win32.whl", hash = "sha256:639ecc9fe7cd73f2495f62c213e964843826f44505a3e5d82805aa85cac6f89e"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-win_amd64.whl", hash = "sha256:9f97e181f344a0ef3881b573d31de8542cc0dbc559ec68c8f8b5ce2c2e91646d"},
|
||||
{file = "multidict-6.6.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ce8b7693da41a3c4fde5871c738a81490cea5496c671d74374c8ab889e1834fb"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c8161b5a7778d3137ea2ee7ae8a08cce0010de3b00ac671c5ebddeaa17cefd22"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1328201ee930f069961ae707d59c6627ac92e351ed5b92397cf534d1336ce557"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b1db4d2093d6b235de76932febf9d50766cf49a5692277b2c28a501c9637f616"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:53becb01dd8ebd19d1724bebe369cfa87e4e7f29abbbe5c14c98ce4c383e16cd"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41bb9d1d4c303886e2d85bade86e59885112a7f4277af5ad47ab919a2251f306"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:775b464d31dac90f23192af9c291dc9f423101857e33e9ebf0020a10bfcf4144"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d04d01f0a913202205a598246cf77826fe3baa5a63e9f6ccf1ab0601cf56eca0"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d25594d3b38a2e6cabfdcafef339f754ca6e81fbbdb6650ad773ea9775af35ab"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:35712f1748d409e0707b165bf49f9f17f9e28ae85470c41615778f8d4f7d9609"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1c8082e5814b662de8589d6a06c17e77940d5539080cbab9fe6794b5241b76d9"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:61af8a4b771f1d4d000b3168c12c3120ccf7284502a94aa58c68a81f5afac090"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:448e4a9afccbf297577f2eaa586f07067441e7b63c8362a3540ba5a38dc0f14a"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:233ad16999afc2bbd3e534ad8dbe685ef8ee49a37dbc2cdc9514e57b6d589ced"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:bb933c891cd4da6bdcc9733d048e994e22e1883287ff7540c2a0f3b117605092"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:37b09ca60998e87734699e88c2363abfd457ed18cfbf88e4009a4e83788e63ed"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-win32.whl", hash = "sha256:f54cb79d26d0cd420637d184af38f0668558f3c4bbe22ab7ad830e67249f2e0b"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-win_amd64.whl", hash = "sha256:295adc9c0551e5d5214b45cf29ca23dbc28c2d197a9c30d51aed9e037cb7c578"},
|
||||
{file = "multidict-6.6.3-cp39-cp39-win_arm64.whl", hash = "sha256:15332783596f227db50fb261c2c251a58ac3873c457f3a550a95d5c0aa3c770d"},
|
||||
{file = "multidict-6.6.3-py3-none-any.whl", hash = "sha256:8db10f29c7541fc5da4defd8cd697e1ca429db743fa716325f236079b96f775a"},
|
||||
{file = "multidict-6.6.3.tar.gz", hash = "sha256:798a9eb12dab0a6c2e29c1de6f3468af5cb2da6053a20dfa3344907eed0937cc"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b8aa6f0bd8125ddd04a6593437bad6a7e70f300ff4180a531654aa2ab3f6d58f"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b9e5853bbd7264baca42ffc53391b490d65fe62849bf2c690fa3f6273dbcd0cb"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0af5f9dee472371e36d6ae38bde009bd8ce65ac7335f55dcc240379d7bed1495"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:d24f351e4d759f5054b641c81e8291e5d122af0fca5c72454ff77f7cbe492de8"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:db6a3810eec08280a172a6cd541ff4a5f6a97b161d93ec94e6c4018917deb6b7"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a1b20a9d56b2d81e2ff52ecc0670d583eaabaa55f402e8d16dd062373dbbe796"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8c9854df0eaa610a23494c32a6f44a3a550fb398b6b51a56e8c6b9b3689578db"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4bb7627fd7a968f41905a4d6343b0d63244a0623f006e9ed989fa2b78f4438a0"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:caebafea30ed049c57c673d0b36238b1748683be2593965614d7b0e99125c877"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ad887a8250eb47d3ab083d2f98db7f48098d13d42eb7a3b67d8a5c795f224ace"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:ed8358ae7d94ffb7c397cecb62cbac9578a83ecefc1eba27b9090ee910e2efb6"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:ecab51ad2462197a4c000b6d5701fc8585b80eecb90583635d7e327b7b6923eb"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c5c97aa666cf70e667dfa5af945424ba1329af5dd988a437efeb3a09430389fb"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:9a950b7cf54099c1209f455ac5970b1ea81410f2af60ed9eb3c3f14f0bfcf987"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:163c7ea522ea9365a8a57832dea7618e6cbdc3cd75f8c627663587459a4e328f"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-win32.whl", hash = "sha256:17d2cbbfa6ff20821396b25890f155f40c986f9cfbce5667759696d83504954f"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:ce9a40fbe52e57e7edf20113a4eaddfacac0561a0879734e636aa6d4bb5e3fb0"},
|
||||
{file = "multidict-6.6.4-cp310-cp310-win_arm64.whl", hash = "sha256:01d0959807a451fe9fdd4da3e139cb5b77f7328baf2140feeaf233e1d777b729"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c7a0e9b561e6460484318a7612e725df1145d46b0ef57c6b9866441bf6e27e0c"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6bf2f10f70acc7a2446965ffbc726e5fc0b272c97a90b485857e5c70022213eb"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:66247d72ed62d5dd29752ffc1d3b88f135c6a8de8b5f63b7c14e973ef5bda19e"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:105245cc6b76f51e408451a844a54e6823bbd5a490ebfe5bdfc79798511ceded"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cbbc54e58b34c3bae389ef00046be0961f30fef7cb0dd9c7756aee376a4f7683"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:56c6b3652f945c9bc3ac6c8178cd93132b8d82dd581fcbc3a00676c51302bc1a"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b95494daf857602eccf4c18ca33337dd2be705bccdb6dddbfc9d513e6addb9d9"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e5b1413361cef15340ab9dc61523e653d25723e82d488ef7d60a12878227ed50"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e167bf899c3d724f9662ef00b4f7fef87a19c22b2fead198a6f68b263618df52"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:aaea28ba20a9026dfa77f4b80369e51cb767c61e33a2d4043399c67bd95fb7c6"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:8c91cdb30809a96d9ecf442ec9bc45e8cfaa0f7f8bdf534e082c2443a196727e"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1a0ccbfe93ca114c5d65a2471d52d8829e56d467c97b0e341cf5ee45410033b3"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:55624b3f321d84c403cb7d8e6e982f41ae233d85f85db54ba6286f7295dc8a9c"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:4a1fb393a2c9d202cb766c76208bd7945bc194eba8ac920ce98c6e458f0b524b"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:43868297a5759a845fa3a483fb4392973a95fb1de891605a3728130c52b8f40f"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-win32.whl", hash = "sha256:ed3b94c5e362a8a84d69642dbeac615452e8af9b8eb825b7bc9f31a53a1051e2"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:d8c112f7a90d8ca5d20213aa41eac690bb50a76da153e3afb3886418e61cb22e"},
|
||||
{file = "multidict-6.6.4-cp311-cp311-win_arm64.whl", hash = "sha256:3bb0eae408fa1996d87247ca0d6a57b7fc1dcf83e8a5c47ab82c558c250d4adf"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0ffb87be160942d56d7b87b0fdf098e81ed565add09eaa1294268c7f3caac4c8"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d191de6cbab2aff5de6c5723101705fd044b3e4c7cfd587a1929b5028b9714b3"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38a0956dd92d918ad5feff3db8fcb4a5eb7dba114da917e1a88475619781b57b"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:6865f6d3b7900ae020b495d599fcf3765653bc927951c1abb959017f81ae8287"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a2088c126b6f72db6c9212ad827d0ba088c01d951cee25e758c450da732c138"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0f37bed7319b848097085d7d48116f545985db988e2256b2e6f00563a3416ee6"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:01368e3c94032ba6ca0b78e7ccb099643466cf24f8dc8eefcfdc0571d56e58f9"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fe323540c255db0bffee79ad7f048c909f2ab0edb87a597e1c17da6a54e493c"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8eb3025f17b0a4c3cd08cda49acf312a19ad6e8a4edd9dbd591e6506d999402"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bbc14f0365534d35a06970d6a83478b249752e922d662dc24d489af1aa0d1be7"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:75aa52fba2d96bf972e85451b99d8e19cc37ce26fd016f6d4aa60da9ab2b005f"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4fefd4a815e362d4f011919d97d7b4a1e566f1dde83dc4ad8cfb5b41de1df68d"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:db9801fe021f59a5b375ab778973127ca0ac52429a26e2fd86aa9508f4d26eb7"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a650629970fa21ac1fb06ba25dabfc5b8a2054fcbf6ae97c758aa956b8dba802"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:452ff5da78d4720d7516a3a2abd804957532dd69296cb77319c193e3ffb87e24"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-win32.whl", hash = "sha256:8c2fcb12136530ed19572bbba61b407f655e3953ba669b96a35036a11a485793"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:047d9425860a8c9544fed1b9584f0c8bcd31bcde9568b047c5e567a1025ecd6e"},
|
||||
{file = "multidict-6.6.4-cp312-cp312-win_arm64.whl", hash = "sha256:14754eb72feaa1e8ae528468f24250dd997b8e2188c3d2f593f9eba259e4b364"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f46a6e8597f9bd71b31cc708195d42b634c8527fecbcf93febf1052cacc1f16e"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:22e38b2bc176c5eb9c0a0e379f9d188ae4cd8b28c0f53b52bce7ab0a9e534657"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5df8afd26f162da59e218ac0eefaa01b01b2e6cd606cffa46608f699539246da"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:49517449b58d043023720aa58e62b2f74ce9b28f740a0b5d33971149553d72aa"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ae9408439537c5afdca05edd128a63f56a62680f4b3c234301055d7a2000220f"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:87a32d20759dc52a9e850fe1061b6e41ab28e2998d44168a8a341b99ded1dba0"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:52e3c8d43cdfff587ceedce9deb25e6ae77daba560b626e97a56ddcad3756879"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ad8850921d3a8d8ff6fbef790e773cecfc260bbfa0566998980d3fa8f520bc4a"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:497a2954adc25c08daff36f795077f63ad33e13f19bfff7736e72c785391534f"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:024ce601f92d780ca1617ad4be5ac15b501cc2414970ffa2bb2bbc2bd5a68fa5"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:a693fc5ed9bdd1c9e898013e0da4dcc640de7963a371c0bd458e50e046bf6438"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:190766dac95aab54cae5b152a56520fd99298f32a1266d66d27fdd1b5ac00f4e"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:34d8f2a5ffdceab9dcd97c7a016deb2308531d5f0fced2bb0c9e1df45b3363d7"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:59e8d40ab1f5a8597abcef00d04845155a5693b5da00d2c93dbe88f2050f2812"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:467fe64138cfac771f0e949b938c2e1ada2b5af22f39692aa9258715e9ea613a"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-win32.whl", hash = "sha256:14616a30fe6d0a48d0a48d1a633ab3b8bec4cf293aac65f32ed116f620adfd69"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:40cd05eaeb39e2bc8939451f033e57feaa2ac99e07dbca8afe2be450a4a3b6cf"},
|
||||
{file = "multidict-6.6.4-cp313-cp313-win_arm64.whl", hash = "sha256:f6eb37d511bfae9e13e82cb4d1af36b91150466f24d9b2b8a9785816deb16605"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:6c84378acd4f37d1b507dfa0d459b449e2321b3ba5f2338f9b085cf7a7ba95eb"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0e0558693063c75f3d952abf645c78f3c5dfdd825a41d8c4d8156fc0b0da6e7e"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3f8e2384cb83ebd23fd07e9eada8ba64afc4c759cd94817433ab8c81ee4b403f"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:f996b87b420995a9174b2a7c1a8daf7db4750be6848b03eb5e639674f7963773"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc356250cffd6e78416cf5b40dc6a74f1edf3be8e834cf8862d9ed5265cf9b0e"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:dadf95aa862714ea468a49ad1e09fe00fcc9ec67d122f6596a8d40caf6cec7d0"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7dd57515bebffd8ebd714d101d4c434063322e4fe24042e90ced41f18b6d3395"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:967af5f238ebc2eb1da4e77af5492219fbd9b4b812347da39a7b5f5c72c0fa45"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a4c6875c37aae9794308ec43e3530e4aa0d36579ce38d89979bbf89582002bb"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:7f683a551e92bdb7fac545b9c6f9fa2aebdeefa61d607510b3533286fcab67f5"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:3ba5aaf600edaf2a868a391779f7a85d93bed147854925f34edd24cc70a3e141"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:580b643b7fd2c295d83cad90d78419081f53fd532d1f1eb67ceb7060f61cff0d"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:37b7187197da6af3ee0b044dbc9625afd0c885f2800815b228a0e70f9a7f473d"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e1b93790ed0bc26feb72e2f08299691ceb6da5e9e14a0d13cc74f1869af327a0"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a506a77ddee1efcca81ecbeae27ade3e09cdf21a8ae854d766c2bb4f14053f92"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-win32.whl", hash = "sha256:f93b2b2279883d1d0a9e1bd01f312d6fc315c5e4c1f09e112e4736e2f650bc4e"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-win_amd64.whl", hash = "sha256:6d46a180acdf6e87cc41dc15d8f5c2986e1e8739dc25dbb7dac826731ef381a4"},
|
||||
{file = "multidict-6.6.4-cp313-cp313t-win_arm64.whl", hash = "sha256:756989334015e3335d087a27331659820d53ba432befdef6a718398b0a8493ad"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:af7618b591bae552b40dbb6f93f5518328a949dac626ee75927bba1ecdeea9f4"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b6819f83aef06f560cb15482d619d0e623ce9bf155115150a85ab11b8342a665"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4d09384e75788861e046330308e7af54dd306aaf20eb760eb1d0de26b2bea2cb"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:a59c63061f1a07b861c004e53869eb1211ffd1a4acbca330e3322efa6dd02978"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:350f6b0fe1ced61e778037fdc7613f4051c8baf64b1ee19371b42a3acdb016a0"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0c5cbac6b55ad69cb6aa17ee9343dfbba903118fd530348c330211dc7aa756d1"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:630f70c32b8066ddfd920350bc236225814ad94dfa493fe1910ee17fe4365cbb"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f8d4916a81697faec6cb724a273bd5457e4c6c43d82b29f9dc02c5542fd21fc9"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e42332cf8276bb7645d310cdecca93a16920256a5b01bebf747365f86a1675b"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f3be27440f7644ab9a13a6fc86f09cdd90b347c3c5e30c6d6d860de822d7cb53"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:21f216669109e02ef3e2415ede07f4f8987f00de8cdfa0cc0b3440d42534f9f0"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d9890d68c45d1aeac5178ded1d1cccf3bc8d7accf1f976f79bf63099fb16e4bd"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:edfdcae97cdc5d1a89477c436b61f472c4d40971774ac4729c613b4b133163cb"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:0b2e886624be5773e69cf32bcb8534aecdeb38943520b240fed3d5596a430f2f"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:be5bf4b3224948032a845d12ab0f69f208293742df96dc14c4ff9b09e508fc17"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-win32.whl", hash = "sha256:10a68a9191f284fe9d501fef4efe93226e74df92ce7a24e301371293bd4918ae"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-win_amd64.whl", hash = "sha256:ee25f82f53262f9ac93bd7e58e47ea1bdcc3393cef815847e397cba17e284210"},
|
||||
{file = "multidict-6.6.4-cp39-cp39-win_arm64.whl", hash = "sha256:f9867e55590e0855bcec60d4f9a092b69476db64573c9fe17e92b0c50614c16a"},
|
||||
{file = "multidict-6.6.4-py3-none-any.whl", hash = "sha256:27d8f8e125c07cb954e54d75d04905a9bba8a439c1d84aca94949d4d03d8601c"},
|
||||
{file = "multidict-6.6.4.tar.gz", hash = "sha256:d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -858,54 +843,54 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "pandas"
|
||||
version = "2.3.1"
|
||||
version = "2.3.2"
|
||||
description = "Powerful data structures for data analysis, time series, and statistics"
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "pandas-2.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:22c2e866f7209ebc3a8f08d75766566aae02bcc91d196935a1d9e59c7b990ac9"},
|
||||
{file = "pandas-2.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3583d348546201aff730c8c47e49bc159833f971c2899d6097bce68b9112a4f1"},
|
||||
{file = "pandas-2.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f951fbb702dacd390561e0ea45cdd8ecfa7fb56935eb3dd78e306c19104b9b0"},
|
||||
{file = "pandas-2.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd05b72ec02ebfb993569b4931b2e16fbb4d6ad6ce80224a3ee838387d83a191"},
|
||||
{file = "pandas-2.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1b916a627919a247d865aed068eb65eb91a344b13f5b57ab9f610b7716c92de1"},
|
||||
{file = "pandas-2.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fe67dc676818c186d5a3d5425250e40f179c2a89145df477dd82945eaea89e97"},
|
||||
{file = "pandas-2.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:2eb789ae0274672acbd3c575b0598d213345660120a257b47b5dafdc618aec83"},
|
||||
{file = "pandas-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2b0540963d83431f5ce8870ea02a7430adca100cec8a050f0811f8e31035541b"},
|
||||
{file = "pandas-2.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fe7317f578c6a153912bd2292f02e40c1d8f253e93c599e82620c7f69755c74f"},
|
||||
{file = "pandas-2.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6723a27ad7b244c0c79d8e7007092d7c8f0f11305770e2f4cd778b3ad5f9f85"},
|
||||
{file = "pandas-2.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3462c3735fe19f2638f2c3a40bd94ec2dc5ba13abbb032dd2fa1f540a075509d"},
|
||||
{file = "pandas-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:98bcc8b5bf7afed22cc753a28bc4d9e26e078e777066bc53fac7904ddef9a678"},
|
||||
{file = "pandas-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4d544806b485ddf29e52d75b1f559142514e60ef58a832f74fb38e48d757b299"},
|
||||
{file = "pandas-2.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:b3cd4273d3cb3707b6fffd217204c52ed92859533e31dc03b7c5008aa933aaab"},
|
||||
{file = "pandas-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:689968e841136f9e542020698ee1c4fbe9caa2ed2213ae2388dc7b81721510d3"},
|
||||
{file = "pandas-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:025e92411c16cbe5bb2a4abc99732a6b132f439b8aab23a59fa593eb00704232"},
|
||||
{file = "pandas-2.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b7ff55f31c4fcb3e316e8f7fa194566b286d6ac430afec0d461163312c5841e"},
|
||||
{file = "pandas-2.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7dcb79bf373a47d2a40cf7232928eb7540155abbc460925c2c96d2d30b006eb4"},
|
||||
{file = "pandas-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:56a342b231e8862c96bdb6ab97170e203ce511f4d0429589c8ede1ee8ece48b8"},
|
||||
{file = "pandas-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ca7ed14832bce68baef331f4d7f294411bed8efd032f8109d690df45e00c4679"},
|
||||
{file = "pandas-2.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:ac942bfd0aca577bef61f2bc8da8147c4ef6879965ef883d8e8d5d2dc3e744b8"},
|
||||
{file = "pandas-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9026bd4a80108fac2239294a15ef9003c4ee191a0f64b90f170b40cfb7cf2d22"},
|
||||
{file = "pandas-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6de8547d4fdb12421e2d047a2c446c623ff4c11f47fddb6b9169eb98ffba485a"},
|
||||
{file = "pandas-2.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:782647ddc63c83133b2506912cc6b108140a38a37292102aaa19c81c83db2928"},
|
||||
{file = "pandas-2.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ba6aff74075311fc88504b1db890187a3cd0f887a5b10f5525f8e2ef55bfdb9"},
|
||||
{file = "pandas-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e5635178b387bd2ba4ac040f82bc2ef6e6b500483975c4ebacd34bec945fda12"},
|
||||
{file = "pandas-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6f3bf5ec947526106399a9e1d26d40ee2b259c66422efdf4de63c848492d91bb"},
|
||||
{file = "pandas-2.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:1c78cf43c8fde236342a1cb2c34bcff89564a7bfed7e474ed2fffa6aed03a956"},
|
||||
{file = "pandas-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8dfc17328e8da77be3cf9f47509e5637ba8f137148ed0e9b5241e1baf526e20a"},
|
||||
{file = "pandas-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:ec6c851509364c59a5344458ab935e6451b31b818be467eb24b0fe89bd05b6b9"},
|
||||
{file = "pandas-2.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:911580460fc4884d9b05254b38a6bfadddfcc6aaef856fb5859e7ca202e45275"},
|
||||
{file = "pandas-2.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f4d6feeba91744872a600e6edbbd5b033005b431d5ae8379abee5bcfa479fab"},
|
||||
{file = "pandas-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:fe37e757f462d31a9cd7580236a82f353f5713a80e059a29753cf938c6775d96"},
|
||||
{file = "pandas-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5db9637dbc24b631ff3707269ae4559bce4b7fd75c1c4d7e13f40edc42df4444"},
|
||||
{file = "pandas-2.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4645f770f98d656f11c69e81aeb21c6fca076a44bed3dcbb9396a4311bc7f6d8"},
|
||||
{file = "pandas-2.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:342e59589cc454aaff7484d75b816a433350b3d7964d7847327edda4d532a2e3"},
|
||||
{file = "pandas-2.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d12f618d80379fde6af007f65f0c25bd3e40251dbd1636480dfffce2cf1e6da"},
|
||||
{file = "pandas-2.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd71c47a911da120d72ef173aeac0bf5241423f9bfea57320110a978457e069e"},
|
||||
{file = "pandas-2.3.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:09e3b1587f0f3b0913e21e8b32c3119174551deb4a4eba4a89bc7377947977e7"},
|
||||
{file = "pandas-2.3.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2323294c73ed50f612f67e2bf3ae45aea04dce5690778e08a09391897f35ff88"},
|
||||
{file = "pandas-2.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:b4b0de34dc8499c2db34000ef8baad684cfa4cbd836ecee05f323ebfba348c7d"},
|
||||
{file = "pandas-2.3.1.tar.gz", hash = "sha256:0a95b9ac964fe83ce317827f80304d37388ea77616b1425f0ae41c9d2d0d7bb2"},
|
||||
{file = "pandas-2.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:52bc29a946304c360561974c6542d1dd628ddafa69134a7131fdfd6a5d7a1a35"},
|
||||
{file = "pandas-2.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:220cc5c35ffaa764dd5bb17cf42df283b5cb7fdf49e10a7b053a06c9cb48ee2b"},
|
||||
{file = "pandas-2.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42c05e15111221384019897df20c6fe893b2f697d03c811ee67ec9e0bb5a3424"},
|
||||
{file = "pandas-2.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc03acc273c5515ab69f898df99d9d4f12c4d70dbfc24c3acc6203751d0804cf"},
|
||||
{file = "pandas-2.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d25c20a03e8870f6339bcf67281b946bd20b86f1a544ebbebb87e66a8d642cba"},
|
||||
{file = "pandas-2.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21bb612d148bb5860b7eb2c10faacf1a810799245afd342cf297d7551513fbb6"},
|
||||
{file = "pandas-2.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:b62d586eb25cb8cb70a5746a378fc3194cb7f11ea77170d59f889f5dfe3cec7a"},
|
||||
{file = "pandas-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1333e9c299adcbb68ee89a9bb568fc3f20f9cbb419f1dd5225071e6cddb2a743"},
|
||||
{file = "pandas-2.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:76972bcbd7de8e91ad5f0ca884a9f2c477a2125354af624e022c49e5bd0dfff4"},
|
||||
{file = "pandas-2.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b98bdd7c456a05eef7cd21fd6b29e3ca243591fe531c62be94a2cc987efb5ac2"},
|
||||
{file = "pandas-2.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d81573b3f7db40d020983f78721e9bfc425f411e616ef019a10ebf597aedb2e"},
|
||||
{file = "pandas-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e190b738675a73b581736cc8ec71ae113d6c3768d0bd18bffa5b9a0927b0b6ea"},
|
||||
{file = "pandas-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c253828cb08f47488d60f43c5fc95114c771bbfff085da54bfc79cb4f9e3a372"},
|
||||
{file = "pandas-2.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:9467697b8083f9667b212633ad6aa4ab32436dcbaf4cd57325debb0ddef2012f"},
|
||||
{file = "pandas-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fbb977f802156e7a3f829e9d1d5398f6192375a3e2d1a9ee0803e35fe70a2b9"},
|
||||
{file = "pandas-2.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1b9b52693123dd234b7c985c68b709b0b009f4521000d0525f2b95c22f15944b"},
|
||||
{file = "pandas-2.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bd281310d4f412733f319a5bc552f86d62cddc5f51d2e392c8787335c994175"},
|
||||
{file = "pandas-2.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96d31a6b4354e3b9b8a2c848af75d31da390657e3ac6f30c05c82068b9ed79b9"},
|
||||
{file = "pandas-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:df4df0b9d02bb873a106971bb85d448378ef14b86ba96f035f50bbd3688456b4"},
|
||||
{file = "pandas-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:213a5adf93d020b74327cb2c1b842884dbdd37f895f42dcc2f09d451d949f811"},
|
||||
{file = "pandas-2.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c13b81a9347eb8c7548f53fd9a4f08d4dfe996836543f805c987bafa03317ae"},
|
||||
{file = "pandas-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0c6ecbac99a354a051ef21c5307601093cb9e0f4b1855984a084bfec9302699e"},
|
||||
{file = "pandas-2.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c6f048aa0fd080d6a06cc7e7537c09b53be6642d330ac6f54a600c3ace857ee9"},
|
||||
{file = "pandas-2.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0064187b80a5be6f2f9c9d6bdde29372468751dfa89f4211a3c5871854cfbf7a"},
|
||||
{file = "pandas-2.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ac8c320bded4718b298281339c1a50fb00a6ba78cb2a63521c39bec95b0209b"},
|
||||
{file = "pandas-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:114c2fe4f4328cf98ce5716d1532f3ab79c5919f95a9cfee81d9140064a2e4d6"},
|
||||
{file = "pandas-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:48fa91c4dfb3b2b9bfdb5c24cd3567575f4e13f9636810462ffed8925352be5a"},
|
||||
{file = "pandas-2.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:12d039facec710f7ba305786837d0225a3444af7bbd9c15c32ca2d40d157ed8b"},
|
||||
{file = "pandas-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c624b615ce97864eb588779ed4046186f967374185c047070545253a52ab2d57"},
|
||||
{file = "pandas-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0cee69d583b9b128823d9514171cabb6861e09409af805b54459bd0c821a35c2"},
|
||||
{file = "pandas-2.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2319656ed81124982900b4c37f0e0c58c015af9a7bbc62342ba5ad07ace82ba9"},
|
||||
{file = "pandas-2.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b37205ad6f00d52f16b6d09f406434ba928c1a1966e2771006a9033c736d30d2"},
|
||||
{file = "pandas-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:837248b4fc3a9b83b9c6214699a13f069dc13510a6a6d7f9ba33145d2841a012"},
|
||||
{file = "pandas-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d2c3554bd31b731cd6490d94a28f3abb8dd770634a9e06eb6d2911b9827db370"},
|
||||
{file = "pandas-2.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:88080a0ff8a55eac9c84e3ff3c7665b3b5476c6fbc484775ca1910ce1c3e0b87"},
|
||||
{file = "pandas-2.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d4a558c7620340a0931828d8065688b3cc5b4c8eb674bcaf33d18ff4a6870b4a"},
|
||||
{file = "pandas-2.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45178cf09d1858a1509dc73ec261bf5b25a625a389b65be2e47b559905f0ab6a"},
|
||||
{file = "pandas-2.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77cefe00e1b210f9c76c697fedd8fdb8d3dd86563e9c8adc9fa72b90f5e9e4c2"},
|
||||
{file = "pandas-2.3.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:13bd629c653856f00c53dc495191baa59bcafbbf54860a46ecc50d3a88421a96"},
|
||||
{file = "pandas-2.3.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:36d627906fd44b5fd63c943264e11e96e923f8de77d6016dc2f667b9ad193438"},
|
||||
{file = "pandas-2.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:a9d7ec92d71a420185dec44909c32e9a362248c4ae2238234b76d5be37f208cc"},
|
||||
{file = "pandas-2.3.2.tar.gz", hash = "sha256:ab7b58f8f82706890924ccdfb5f48002b83d2b5a3845976a9fb705d36c34dcdb"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -1259,14 +1244,14 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "requests"
|
||||
version = "2.32.4"
|
||||
version = "2.32.5"
|
||||
description = "Python HTTP for Humans."
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
python-versions = ">=3.9"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c"},
|
||||
{file = "requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422"},
|
||||
{file = "requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6"},
|
||||
{file = "requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -1281,30 +1266,31 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
||||
|
||||
[[package]]
|
||||
name = "ruff"
|
||||
version = "0.12.5"
|
||||
version = "0.12.12"
|
||||
description = "An extremely fast Python linter and code formatter, written in Rust."
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "ruff-0.12.5-py3-none-linux_armv6l.whl", hash = "sha256:1de2c887e9dec6cb31fcb9948299de5b2db38144e66403b9660c9548a67abd92"},
|
||||
{file = "ruff-0.12.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:d1ab65e7d8152f519e7dea4de892317c9da7a108da1c56b6a3c1d5e7cf4c5e9a"},
|
||||
{file = "ruff-0.12.5-py3-none-macosx_11_0_arm64.whl", hash = "sha256:962775ed5b27c7aa3fdc0d8f4d4433deae7659ef99ea20f783d666e77338b8cf"},
|
||||
{file = "ruff-0.12.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73b4cae449597e7195a49eb1cdca89fd9fbb16140c7579899e87f4c85bf82f73"},
|
||||
{file = "ruff-0.12.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b13489c3dc50de5e2d40110c0cce371e00186b880842e245186ca862bf9a1ac"},
|
||||
{file = "ruff-0.12.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1504fea81461cf4841778b3ef0a078757602a3b3ea4b008feb1308cb3f23e08"},
|
||||
{file = "ruff-0.12.5-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:c7da4129016ae26c32dfcbd5b671fe652b5ab7fc40095d80dcff78175e7eddd4"},
|
||||
{file = "ruff-0.12.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ca972c80f7ebcfd8af75a0f18b17c42d9f1ef203d163669150453f50ca98ab7b"},
|
||||
{file = "ruff-0.12.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8dbbf9f25dfb501f4237ae7501d6364b76a01341c6f1b2cd6764fe449124bb2a"},
|
||||
{file = "ruff-0.12.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c47dea6ae39421851685141ba9734767f960113d51e83fd7bb9958d5be8763a"},
|
||||
{file = "ruff-0.12.5-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:c5076aa0e61e30f848846f0265c873c249d4b558105b221be1828f9f79903dc5"},
|
||||
{file = "ruff-0.12.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a5a4c7830dadd3d8c39b1cc85386e2c1e62344f20766be6f173c22fb5f72f293"},
|
||||
{file = "ruff-0.12.5-py3-none-musllinux_1_2_i686.whl", hash = "sha256:46699f73c2b5b137b9dc0fc1a190b43e35b008b398c6066ea1350cce6326adcb"},
|
||||
{file = "ruff-0.12.5-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5a655a0a0d396f0f072faafc18ebd59adde8ca85fb848dc1b0d9f024b9c4d3bb"},
|
||||
{file = "ruff-0.12.5-py3-none-win32.whl", hash = "sha256:dfeb2627c459b0b78ca2bbdc38dd11cc9a0a88bf91db982058b26ce41714ffa9"},
|
||||
{file = "ruff-0.12.5-py3-none-win_amd64.whl", hash = "sha256:ae0d90cf5f49466c954991b9d8b953bd093c32c27608e409ae3564c63c5306a5"},
|
||||
{file = "ruff-0.12.5-py3-none-win_arm64.whl", hash = "sha256:48cdbfc633de2c5c37d9f090ba3b352d1576b0015bfc3bc98eaf230275b7e805"},
|
||||
{file = "ruff-0.12.5.tar.gz", hash = "sha256:b209db6102b66f13625940b7f8c7d0f18e20039bb7f6101fbdac935c9612057e"},
|
||||
{file = "ruff-0.12.12-py3-none-linux_armv6l.whl", hash = "sha256:de1c4b916d98ab289818e55ce481e2cacfaad7710b01d1f990c497edf217dafc"},
|
||||
{file = "ruff-0.12.12-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:7acd6045e87fac75a0b0cdedacf9ab3e1ad9d929d149785903cff9bb69ad9727"},
|
||||
{file = "ruff-0.12.12-py3-none-macosx_11_0_arm64.whl", hash = "sha256:abf4073688d7d6da16611f2f126be86523a8ec4343d15d276c614bda8ec44edb"},
|
||||
{file = "ruff-0.12.12-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:968e77094b1d7a576992ac078557d1439df678a34c6fe02fd979f973af167577"},
|
||||
{file = "ruff-0.12.12-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42a67d16e5b1ffc6d21c5f67851e0e769517fb57a8ebad1d0781b30888aa704e"},
|
||||
{file = "ruff-0.12.12-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b216ec0a0674e4b1214dcc998a5088e54eaf39417327b19ffefba1c4a1e4971e"},
|
||||
{file = "ruff-0.12.12-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:59f909c0fdd8f1dcdbfed0b9569b8bf428cf144bec87d9de298dcd4723f5bee8"},
|
||||
{file = "ruff-0.12.12-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9ac93d87047e765336f0c18eacad51dad0c1c33c9df7484c40f98e1d773876f5"},
|
||||
{file = "ruff-0.12.12-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:01543c137fd3650d322922e8b14cc133b8ea734617c4891c5a9fccf4bfc9aa92"},
|
||||
{file = "ruff-0.12.12-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2afc2fa864197634e549d87fb1e7b6feb01df0a80fd510d6489e1ce8c0b1cc45"},
|
||||
{file = "ruff-0.12.12-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:0c0945246f5ad776cb8925e36af2438e66188d2b57d9cf2eed2c382c58b371e5"},
|
||||
{file = "ruff-0.12.12-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:a0fbafe8c58e37aae28b84a80ba1817f2ea552e9450156018a478bf1fa80f4e4"},
|
||||
{file = "ruff-0.12.12-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:b9c456fb2fc8e1282affa932c9e40f5ec31ec9cbb66751a316bd131273b57c23"},
|
||||
{file = "ruff-0.12.12-py3-none-musllinux_1_2_i686.whl", hash = "sha256:5f12856123b0ad0147d90b3961f5c90e7427f9acd4b40050705499c98983f489"},
|
||||
{file = "ruff-0.12.12-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:26a1b5a2bf7dd2c47e3b46d077cd9c0fc3b93e6c6cc9ed750bd312ae9dc302ee"},
|
||||
{file = "ruff-0.12.12-py3-none-win32.whl", hash = "sha256:173be2bfc142af07a01e3a759aba6f7791aa47acf3604f610b1c36db888df7b1"},
|
||||
{file = "ruff-0.12.12-py3-none-win_amd64.whl", hash = "sha256:e99620bf01884e5f38611934c09dd194eb665b0109104acae3ba6102b600fd0d"},
|
||||
{file = "ruff-0.12.12-py3-none-win_arm64.whl", hash = "sha256:2a8199cab4ce4d72d158319b63370abf60991495fb733db96cd923a34c52d093"},
|
||||
{file = "ruff-0.12.12.tar.gz", hash = "sha256:b86cd3415dbe31b3b46a71c598f4c4b2f550346d1ccf6326b347cc0c8fd063d6"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1333,14 +1319,14 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "starlette"
|
||||
version = "0.47.2"
|
||||
version = "0.47.3"
|
||||
description = "The little ASGI library that shines."
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "starlette-0.47.2-py3-none-any.whl", hash = "sha256:c5847e96134e5c5371ee9fac6fdf1a67336d5815e09eb2a01fdb57a351ef915b"},
|
||||
{file = "starlette-0.47.2.tar.gz", hash = "sha256:6ae9aa5db235e4846decc1e7b79c4f346adf41e9777aebeb49dfd09bbd7023d8"},
|
||||
{file = "starlette-0.47.3-py3-none-any.whl", hash = "sha256:89c0778ca62a76b826101e7c709e70680a1699ca7da6b44d38eb0a7e61fe4b51"},
|
||||
{file = "starlette-0.47.3.tar.gz", hash = "sha256:6bc94f839cc176c4858894f1f8908f0ab79dfec1a6b8402f6da9be26ebea52e9"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -1352,14 +1338,14 @@ full = ["httpx (>=0.27.0,<0.29.0)", "itsdangerous", "jinja2", "python-multipart
|
||||
|
||||
[[package]]
|
||||
name = "typing-extensions"
|
||||
version = "4.14.1"
|
||||
version = "4.15.0"
|
||||
description = "Backported and Experimental Type Hints for Python 3.9+"
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76"},
|
||||
{file = "typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36"},
|
||||
{file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"},
|
||||
{file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
2077
openbb_platform/extensions/devtools/poetry.lock
generated
vendored
2077
openbb_platform/extensions/devtools/poetry.lock
generated
vendored
File diff suppressed because it is too large
Load Diff
@@ -22,8 +22,9 @@ pytest = ">=8.4.1"
|
||||
pytest-subtests = "^0.11.0"
|
||||
pytest-recorder = ">=0.5.0"
|
||||
pytest-asyncio = "^0.23.2"
|
||||
pytest-order = "^1.3.0"
|
||||
pytest-cov = "^4.1.0"
|
||||
ipykernel = "^6.30.0"
|
||||
ipykernel = "^6.30.1"
|
||||
types-python-dateutil = "^2.8.19.14"
|
||||
types-toml = "^0.10.8.7"
|
||||
poetry = ">=2.1.3"
|
||||
|
||||
1558
openbb_platform/extensions/platform_api/poetry.lock
generated
vendored
1558
openbb_platform/extensions/platform_api/poetry.lock
generated
vendored
File diff suppressed because it is too large
Load Diff
@@ -16,7 +16,7 @@ openbb-api = "openbb_platform_api.main:main"
|
||||
[tool.poetry.dependencies]
|
||||
python = ">=3.9.21,<3.14"
|
||||
openbb-core = "^1.4.8"
|
||||
deepdiff = "*"
|
||||
deepdiff = ">=8.6.1"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core>=1.0.0"]
|
||||
|
||||
2417
openbb_platform/poetry.lock
generated
vendored
2417
openbb_platform/poetry.lock
generated
vendored
File diff suppressed because it is too large
Load Diff
1
openbb_platform/providers/famafrench/__init__.py
Normal file
1
openbb_platform/providers/famafrench/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
"""Fama French module."""
|
||||
1572
openbb_platform/providers/nasdaq/poetry.lock
generated
vendored
1572
openbb_platform/providers/nasdaq/poetry.lock
generated
vendored
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,7 @@ packages = [{ include = "openbb_nasdaq" }]
|
||||
[tool.poetry.dependencies]
|
||||
python = ">=3.9.21,<3.14"
|
||||
openbb-core = "^1.4.8"
|
||||
openbb-platform-api = "^1.1.10"
|
||||
openbb-platform-api = "^1.1.13"
|
||||
async-lru = "^2.0.5"
|
||||
random-user-agent = "^1.0.1"
|
||||
nasdaq-data-link = "^1.0.4"
|
||||
|
||||
@@ -7,6 +7,7 @@ from typing import Dict
|
||||
|
||||
from openbb_core.provider.abstract.provider import Provider
|
||||
from openbb_core.provider.registry import RegistryLoader
|
||||
|
||||
from providers.tests.utils.unit_tests_generator import (
|
||||
check_pattern_in_file,
|
||||
get_provider_fetchers,
|
||||
@@ -18,7 +19,7 @@ def get_provider_test_files(provider: Provider):
|
||||
fetchers_dict = provider.fetcher_dict
|
||||
fetcher_module_name = fetchers_dict[list(fetchers_dict.keys())[0]].__module__
|
||||
parent_module = import_module(fetcher_module_name.split(".")[0])
|
||||
parent_module_path = os.path.dirname(parent_module.__file__)
|
||||
parent_module_path = os.path.dirname(parent_module.__file__) # type: ignore
|
||||
root_provider_path = os.path.dirname(parent_module_path)
|
||||
provider_name = provider.name.lower()
|
||||
|
||||
@@ -53,5 +54,5 @@ class ProviderFetcherTest(unittest.TestCase):
|
||||
# check that fetcher_cls is being instantiated in path
|
||||
with self.subTest(i=fetcher_cls):
|
||||
self.assertTrue(
|
||||
check_pattern_in_file(path, f"{fetcher_cls.__name__}()")
|
||||
check_pattern_in_file(path, f"{fetcher_cls.__name__}()") # type: ignore
|
||||
)
|
||||
|
||||
2
openbb_platform/pyproject.toml
vendored
2
openbb_platform/pyproject.toml
vendored
@@ -11,7 +11,7 @@ packages = [{ include = "openbb", from = "core" }]
|
||||
[tool.poetry.dependencies]
|
||||
python = ">=3.9.21,<3.14"
|
||||
openbb-core = "^1.4.8"
|
||||
openbb-platform-api = "^1.1.11"
|
||||
openbb-platform-api = "^1.1.13"
|
||||
|
||||
openbb-benzinga = "^1.4.2"
|
||||
openbb-bls = "^1.1.3"
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
"""Configuration for pytest."""
|
||||
|
||||
# TODO: See if we can dynamically import the test modules under the openbb_platform
|
||||
|
||||
# TODO: Add global fixture for headers here
|
||||
|
||||
import os
|
||||
|
||||
|
||||
def pytest_configure():
|
||||
"""Set environment variables for testing."""
|
||||
os.environ["OPENBB_AUTO_BUILD"] = "false"
|
||||
@@ -4,6 +4,7 @@ import json
|
||||
from pathlib import Path
|
||||
from typing import Dict
|
||||
|
||||
import pytest
|
||||
from poetry.core.constraints.version import Version, VersionConstraint, parse_constraint
|
||||
from poetry.core.pyproject.toml import PyProjectTOML
|
||||
|
||||
@@ -33,31 +34,41 @@ def load_req_ext(file: Path) -> Dict[str, VersionConstraint]:
|
||||
return req_ext
|
||||
|
||||
|
||||
@pytest.mark.order(1)
|
||||
def test_extension_map():
|
||||
"""Ensure only required extensions are built and versions respect pyproject.toml"""
|
||||
"""Ensure package folder exists, __init__.py is present, no static assets, and reference.json core version matches."""
|
||||
this_dir = Path(__file__).parent
|
||||
with open(
|
||||
Path(this_dir, "..", "core", "openbb", "assets", "reference.json"),
|
||||
encoding="utf-8",
|
||||
) as f:
|
||||
package_dir = Path(this_dir, "..", "core", "openbb", "package").resolve()
|
||||
assert (
|
||||
package_dir.exists() and package_dir.is_dir()
|
||||
), f"Package directory '{package_dir}' does not exist."
|
||||
init_file = package_dir / "__init__.py"
|
||||
assert (
|
||||
init_file.exists() and init_file.is_file()
|
||||
), f"'__init__.py' not found in package directory '{package_dir}'."
|
||||
contents = [
|
||||
p.name
|
||||
for p in package_dir.iterdir()
|
||||
if p.name not in ("__init__.py", "__pycache__")
|
||||
]
|
||||
assert (
|
||||
not contents
|
||||
), f"Unexpected files or folders found in package directory: {contents}"
|
||||
|
||||
# Check reference.json core version matches pyproject.toml openbb-core version
|
||||
ref_path = Path(this_dir, "..", "core", "openbb", "assets", "reference.json")
|
||||
with open(ref_path, encoding="utf-8") as f:
|
||||
reference = json.load(f)
|
||||
ext_map = create_ext_map(reference.get("info", {}).get("extensions", {}))
|
||||
req_ext = load_req_ext(Path(this_dir, "..", "pyproject.toml"))
|
||||
core_version = reference.get("info", {}).get("core")
|
||||
|
||||
for ext in req_ext:
|
||||
if ext != "platform_api":
|
||||
assert ext in ext_map, (
|
||||
f"Extension '{ext}' is required in pyproject.toml but is not built, install"
|
||||
" it and rebuild or remove it from mandatory requirements in pyproject.toml"
|
||||
)
|
||||
|
||||
for name, version in ext_map.items():
|
||||
_name = "congress_gov" if name == "uscongress" else name
|
||||
assert _name in req_ext, (
|
||||
f"'{_name}' is not a required extension in pyproject.toml, uninstall it and"
|
||||
" rebuild, or add it to pyproject.toml"
|
||||
)
|
||||
assert req_ext[_name].allows(version), (
|
||||
f"Version '{version}' of extension '{_name}' is not compatible with the"
|
||||
f" version '{req_ext[_name]}' constraint in pyproject.toml"
|
||||
)
|
||||
pyproject_path = Path(this_dir, "..", "pyproject.toml")
|
||||
pyproject = PyProjectTOML(pyproject_path)
|
||||
openbb_core_version = pyproject.data["tool"]["poetry"]["dependencies"][
|
||||
"openbb-core"
|
||||
]
|
||||
if isinstance(openbb_core_version, dict):
|
||||
openbb_core_version = openbb_core_version["version"]
|
||||
assert core_version == openbb_core_version.lstrip("^"), (
|
||||
f"reference.json core version '{core_version}'"
|
||||
f" does not match pyproject.toml openbb-core version '{openbb_core_version}'"
|
||||
)
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
"""Test the pyproject.toml file for consistency and its dependencies."""
|
||||
|
||||
import glob
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
from tomlkit import load
|
||||
@@ -13,56 +11,67 @@ def test_optional_packages():
|
||||
"""Ensure only required extensions are built and versions respect pyproject.toml"""
|
||||
with open(ROOT_DIR / "pyproject.toml") as f:
|
||||
data = load(f)
|
||||
dependencies = data["tool"]["poetry"]["dependencies"]
|
||||
extras = data["tool"]["poetry"]["extras"]
|
||||
all_packages = extras["all"]
|
||||
dependencies = data["tool"]["poetry"]["dependencies"] # type: ignore
|
||||
extras = data["tool"]["poetry"]["extras"] # type: ignore
|
||||
all_packages = extras["all"] # type: ignore
|
||||
|
||||
default_packages = []
|
||||
optional_packages = []
|
||||
|
||||
for package, details in dependencies.items():
|
||||
for package, details in dependencies.items(): # type: ignore
|
||||
if isinstance(details, dict) and details.get("optional") is True:
|
||||
optional_packages.append(package)
|
||||
else:
|
||||
default_packages.append(package)
|
||||
|
||||
# check that optional packages have the same content as all_packages and extras
|
||||
assert sorted(optional_packages) == sorted(all_packages)
|
||||
assert sorted(optional_packages) == sorted(extras["all"])
|
||||
assert sorted(optional_packages) == sorted(all_packages) # type: ignore
|
||||
assert sorted(optional_packages) == sorted(extras["all"]) # type: ignore
|
||||
|
||||
# assert that there is no overlap between default and optional packages
|
||||
assert set(default_packages).isdisjoint(set(optional_packages))
|
||||
|
||||
|
||||
def test_default_package_files():
|
||||
"""Ensure only required extensions are built and versions respect pyproject.toml"""
|
||||
with open(ROOT_DIR / "pyproject.toml") as f:
|
||||
data = load(f)
|
||||
dependencies = data["tool"]["poetry"]["dependencies"]
|
||||
package_files = glob.glob("openbb_platform/core/openbb/package/*.py")
|
||||
def test_extension_versions_match_main_pyproject():
|
||||
"""Ensure every openbb- extension version in the main pyproject.toml matches its own pyproject.toml."""
|
||||
|
||||
invalid_packages = []
|
||||
default_packages = []
|
||||
main_pyproject = ROOT_DIR / "pyproject.toml"
|
||||
with open(main_pyproject, encoding="utf-8") as f:
|
||||
main_data = load(f)
|
||||
main_deps = main_data["tool"]["poetry"]["dependencies"] # type: ignore
|
||||
|
||||
for package, details in dependencies.items():
|
||||
if isinstance(details, dict) is False:
|
||||
default_packages.append(package)
|
||||
# Find all pyproject.toml files and build a map of package name -> file path
|
||||
pyproject_files = list(ROOT_DIR.rglob("pyproject.toml"))
|
||||
package_map = {}
|
||||
|
||||
for file_path in package_files:
|
||||
package_name = os.path.basename(file_path).replace(".py", "")
|
||||
if package_name.startswith("_"):
|
||||
continue
|
||||
if "_" in package_name:
|
||||
base_package = package_name.split("_")[0]
|
||||
if "openbb-" + base_package not in default_packages:
|
||||
invalid_packages.append(package_name)
|
||||
elif "openbb-" + package_name not in default_packages:
|
||||
invalid_packages.append(package_name)
|
||||
for file_path in pyproject_files:
|
||||
with open(file_path, encoding="utf-8") as f:
|
||||
data = load(f)
|
||||
pkg_name = data.get("tool", {}).get("poetry", {}).get("name", "")
|
||||
if pkg_name:
|
||||
package_map[pkg_name] = str(file_path)
|
||||
|
||||
assert not invalid_packages, (
|
||||
f"If not making a PR, ignore this error -> "
|
||||
f"Found non-required extension static assets: {invalid_packages}. "
|
||||
f"Only required packages should be committed."
|
||||
f"Please create a new environment with only required extensions, "
|
||||
f"rebuild the static assets, and commit the changes."
|
||||
)
|
||||
# Now check each openbb- dependency in main pyproject.toml
|
||||
for pkg, main_version in main_deps.items(): # type: ignore
|
||||
if pkg.startswith("openbb-"):
|
||||
assert (
|
||||
pkg in package_map
|
||||
), f"{pkg} listed in main pyproject.toml but no pyproject.toml found with that name"
|
||||
|
||||
# Load the extension's pyproject.toml
|
||||
with open(package_map[pkg], encoding="utf-8") as f:
|
||||
ext_data = load(f)
|
||||
ext_version = ext_data["tool"]["poetry"]["version"] # type: ignore
|
||||
|
||||
# Normalize main_version if it's a dict
|
||||
m_version = (
|
||||
main_version.get("version", "")
|
||||
if isinstance(main_version, dict)
|
||||
else main_version
|
||||
)
|
||||
m_version = str(m_version).lstrip("^")
|
||||
|
||||
assert ext_version == m_version, (
|
||||
f"Version mismatch for {pkg}: main pyproject.toml has"
|
||||
f"{m_version}, extension pyproject.toml has {ext_version}"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user