Files
OpenBB/openbb_platform/tests/test_pyproject_toml.py
Henrique Joaquim a9b4d2070f Release OpenBB Platform v4.1.3 (#5983)
* fixing pyproject.toml

* adding pandas-ta to technical package for publishing

* bumping technical

* test for pyproject toml
2024-01-22 15:02:32 +00:00

25 lines
873 B
Python

import toml
def test_optional_packages():
data = toml.load("openbb_platform/pyproject.toml")
dependencies = data["tool"]["poetry"]["dependencies"]
extras = data["tool"]["poetry"]["extras"]
all_packages = extras["all"]
default_packages = []
optional_packages = []
for package, details in dependencies.items():
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 that there is no overlap between default and optional packages
assert set(default_packages).isdisjoint(set(optional_packages))