-
Notifications
You must be signed in to change notification settings - Fork 5.9k
Description
Describe the bug
I was using openbb 4.3.5 version and everything ran smoothly and when I tried to update version to current 4.5.0, a weird error trying to import OBBject_EquityInfo from openbb_core.app.provider_interface when calling fundamental endpoints from openbb. Is anyone familiar with this object? it doesn't seem to appear at all in the code
To Reproduce
I use the following pyproject.toml, then poetry lock and then i deploy a container with docker that runs the poetry install. I have checked inside the container and the libraries versions are created succesfully: openbb 4.5.0 and openbb-core 1.5.6
I share the two pyprojects, since the one in the service references to another internally created library with openbb as dependency:
[tool.poetry]
name = "prefect-jobs"
version = "0.1.0"
description = ""
authors = [
]
readme = "README.md"
package-mode = false
packages = [{ include = "src" }]
[tool.poetry.dependencies]
python = ">=3.11,<3.13"
brownberg = { path = "libs/brownberg", develop = true }
prefect = "^3.1.15"
[tool.poetry.group.dev.dependencies]
black = "^24.10.0"
mypy = "^1.13.0"
pyright = "^1.1.390"
ruff = "^0.13.0"
ipykernel = "^6.29.5"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.mypy]
# select folders
packages = ["src"]
python_version = "3.11"
strict = true
warn_unused_ignores = false
explicit_package_bases = true
plugins = ["pydantic.mypy"]
[tool.pydantic-mypy]
init_forbid_extra = true
init_typed = false
warn_required_dynamic_aliases = true
warn_untyped_fields = true
[[tool.mypy.overrides]]
module = ["openbb", "openbb.*"]
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = ["pandas", "pandas.*"]
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = ["brownberg", "brownberg.*"]
ignore_missing_imports = true
[tool.ruff]
line-length = 120
src = ["src/"]
extend-exclude = ["tests/**/*.py", "notbooks/**/*.ipynb"]
force-exclude = true
target-version = "py311"
lint.select = [
"F", # pyflakes
"RUF", # ruff specific rules
"NPY", # numpy specific rules
"PD", # pandas vet
"D", # pydocstyle
"E", # pycodestyle (errors)
"W", # pycodestyle (warnings)
"N", # pep8-naming
"UP", # pyupgrade
"B", # flake8-bugbear
"ANN", # flake8-annotations
"S", # flake8-bandit
"FBT", # flake8-boolean-trap
"A", # flake8-builtin shadowing
"C4", # flake8-comprehensions
"DTZ", # flake8-datetimez (enforce timezone aware datetimes)
"EM", # flake8-errmsg
"PTH", # flake8-pathlib
"I", # auto sort imports
"UP", # pyupgrade
]
lint.fixable = [
"I", # auto sort imports
"F401", # pyflakes - remove unused imports
"UP", # pyupgrade
"F", # pyflakes
"C", # pycodestyle
"D", # pydocstyle
"W", # pycodestyle (warnings)
]
lint.ignore = [
"D100", # Missing docstring in public module
"D101", # Missing docstring in public class
"D103", # Missing docstring in public function
"D104", # Missing docstring in public package
]
[tool.ruff.lint.per-file-ignores]
# Don't be so strict with tests
"tests/**/*" = [
"S101", # Allow asserts
"D", # Don't complain about docstrings in tests
"A003", # Allow shadowing of builtins
]
[tool.ruff.lint.pydocstyle]
# Use Google-style docstrings.
convention = "google"
[tool.ruff.lint.pep8-naming]
# Allow Pydantic's `@validator` decorator to trigger class method treatment.
classmethod-decorators = ["pydantic.validator", "classmethod"]
[tool.black]
line-length = 120
target-version = ["py311"]
force-exclude = "lib"
And.... our internal library pyproject:
[tool.poetry]
name = "brownberg"
version = "0.1.0"
description = ""
authors = [
]
readme = "README.md"
package-mode = true
packages = [{ include = "brownberg", from = "src" }]
[tool.poetry.dependencies]
python = ">=3.11,<3.13"
numpy = "1.26.4"
loguru = "^0.7.3"
python-dotenv = "^1.0.1"
sqlalchemy = "^2.0.37"
psycopg2 = "^2.9.10"
openbb = "^4.5.0"
[tool.poetry.group.dev.dependencies]
black = "^24.10.0"
mypy = "^1.13.0"
pyright = "^1.1.390"
ruff = "0.7.4"
ipykernel = "^6.29.5"
isort = "^6.0.1"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.mypy]
# select folders
packages = ["src"]
python_version = "3.11"
strict = true
warn_unused_ignores = false
explicit_package_bases = true
plugins = ["pydantic.mypy"]
[tool.pydantic-mypy]
init_forbid_extra = true
init_typed = false
warn_required_dynamic_aliases = true
warn_untyped_fields = true
[[tool.mypy.overrides]]
module = ["openbb", "openbb.*"]
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = ["pandas", "pandas.*"]
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = ["brownberg", "brownberg.*"]
ignore_missing_imports = true
[tool.ruff]
line-length = 120
src = ["src/"]
extend-exclude = ["tests/**/*.py", "notbooks/**/*.ipynb"]
force-exclude = true
target-version = "py311"
lint.select = [
"F", # pyflakes
"RUF", # ruff specific rules
"NPY", # numpy specific rules
"PD", # pandas vet
"D", # pydocstyle
"E", # pycodestyle (errors)
"W", # pycodestyle (warnings)
"N", # pep8-naming
"UP", # pyupgrade
"B", # flake8-bugbear
"ANN", # flake8-annotations
"S", # flake8-bandit
"FBT", # flake8-boolean-trap
"A", # flake8-builtin shadowing
"C4", # flake8-comprehensions
"DTZ", # flake8-datetimez (enforce timezone aware datetimes)
"EM", # flake8-errmsg
"PTH", # flake8-pathlib
"I", # auto sort imports
"UP", # pyupgrade
]
lint.fixable = [
"I", # auto sort imports
"F401", # pyflakes - remove unused imports
"UP", # pyupgrade
"F", # pyflakes
"C", # pycodestyle
"D", # pydocstyle
"W", # pycodestyle (warnings)
]
lint.ignore = [
"D100", # Missing docstring in public module
"D101", # Missing docstring in public class
"D103", # Missing docstring in public function
"D104", # Missing docstring in public package
]
[tool.ruff.lint.per-file-ignores]
# Don't be so strict with tests
"tests/**/*" = [
"S101", # Allow asserts
"D", # Don't complain about docstrings in tests
"A003", # Allow shadowing of builtins
]
[tool.ruff.lint.pydocstyle]
# Use Google-style docstrings.
convention = "google"
[tool.ruff.lint.pep8-naming]
# Allow Pydantic's `@validator` decorator to trigger class method treatment.
classmethod-decorators = ["pydantic.validator", "classmethod"]
[tool.black]
line-length = 120
target-version = ["py311"]
force-exclude = "lib"
```
**Desktop (please complete the following information):**
- OS: Ubuntu
- Python version 3.12
**Additional context**
Add any other information that you think could be useful for us.