[project] name = "openbb-government-us" version = "2.0.0" description = "US Government data extensions for OpenBB Platform, one provider per agency." authors = [{ name = "OpenBB Team", email = "hello@openbb.co" }] license = { text = "Apache-2.0" } readme = "README.md" requires-python = ">=3.11,<4" dependencies = [ "openbb-core[pandas]>=2.0.0", "curl-cffi>=0.7", "defusedxml>=0.7", "diskcache>=5", "httpx>=0.27", "random-user-agent>=1.0", "openpyxl>=3.1.5,<4.0.0", "xlrd>=2.0.2", ] [project.entry-points."openbb_provider_extension"] congress_gov = "openbb_government_us.congress:congress_gov_provider" us_treasury = "openbb_government_us.treasury:us_treasury_provider" usda = "openbb_government_us.usda:usda_provider" [project.entry-points."openbb_core_extension"] uscongress = "openbb_government_us.congress.congress_router:router" usda = "openbb_government_us.usda.usda_router:router" ustreasury = "openbb_government_us.treasury.treasury_router:router" [project.scripts] generate-usda-ers-catalog = "openbb_government_us.usda.utils.ers_catalog:main" [project.urls] Homepage = "https://openbb.co" Repository = "https://github.com/OpenBB-finance/OpenBB" [dependency-groups] dev = ["openbb-devtools>=2.0.1", "openbb-platform-api>=2.0.0"] [build-system] requires = ["hatchling>=1.25"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["openbb_government_us"] include = [ "openbb_government_us/congress/assets/apps.json", "openbb_government_us/treasury/assets/apps.json", "openbb_government_us/treasury/assets/award_info.html", "openbb_government_us/treasury/assets/recipient_info.html", "openbb_government_us/usda/assets/apps.json", "openbb_government_us/usda/assets/ers_chart.html", "openbb_government_us/usda/assets/ers_viz_catalog.json", ] [tool.hatch.build.targets.sdist] include = [ "openbb_government_us", "openbb_government_us/congress/assets/apps.json", "openbb_government_us/treasury/assets/apps.json", "openbb_government_us/usda/assets/apps.json", "openbb_government_us/usda/assets/ers_chart.html", "openbb_government_us/usda/assets/ers_viz_catalog.json", "README.md", "pyproject.toml", ] [tool.ruff] line-length = 88 target-version = "py310" fix = true [tool.ruff.lint] select = ["D", "E", "W", "F", "S", "UP", "I", "PLC", "PLE", "PLR", "PLW", "SIM", "T20"] ignore = [ "PLR2004", "PLR0913", "PLR0915", "PLR0917", "PLC0415", "E402", "E501", "D202", "D203", "D205", "D206", "D210", "D212", "D213", "D214", "D215", "D300", "D400", "D404", "D405", "D406", "D407", "D408", "D409", "D410", "D411", "D413", "D415", "D416", "D417", ] [tool.ruff.lint.per-file-ignores] "openbb_government_us/congress/congress_router.py" = ["ARG001", "PLC0415", "PLR0913", "PLR0912", "PLR0915", "SLF001"] "openbb_government_us/congress/utils/helpers.py" = ["PLR0911", "PLR0912", "PLR0915", "SIM102", "SIM114", "BLE001"] "openbb_government_us/congress/utils/committees.py" = ["PLR0912", "PLR0915"] "openbb_government_us/congress/utils/congress_search.py" = ["PLR0912", "BLE001"] "openbb_government_us/*/models/*.py" = ["ARG002", "PLC0415", "PLR0912"] "openbb_government_us/usda/utils/psd_data_downloader.py" = ["PLR0911", "PLR0912", "PLW2901"] "openbb_government_us/usda/utils/psd_template_parser.py" = ["PLR0911", "PLR0912", "PLW2901", "SIM102"] "tests/**" = ["S101", "S108", "D", "SIM105", "SIM117"] "integration/**" = ["S101", "S108", "D", "SIM105", "SIM117", "PLC0415", "ARG001"] "**/__init__.py" = ["F401"] [tool.ruff.lint.isort] combine-as-imports = true force-wrap-aliases = true [tool.ruff.lint.pydocstyle] convention = "numpy" [tool.ty] [tool.ty.environment] python-version = "3.10" [tool.ty.src] include = ["openbb_government_us"] exclude = ["tests", "integration"] [tool.ty.rules] unresolved-import = "warn" [tool.coverage.report] exclude_lines = ["pragma: no cover", "if TYPE_CHECKING:", "raise NotImplementedError", "@overload", "if __name__ == .__main__.:"] [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-q --strict-markers" markers = [ "record_http: VCR-backed HTTP cassette tests", "integration: end-to-end tests that hit live services (excluded from the coverage gate)", ]