Add pyproject.toml packaging and pytest suite
- pyproject.toml: setuptools build, deps (requests), dev extra (pytest), pytest config with opt-in `live` marker - tests/: 95 offline tests locking every series-ID encoding against known-good IDs (regression guard for the JOLTS/OES/ECI/productivity/QCEW fixes), plus a live API smoke test behind `-m live` - README: install-as-package + test instructions; drop the now-resolved "no packaging"/"no tests" limitations - gitignore build/test artifacts Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
31
pyproject.toml
Normal file
31
pyproject.toml
Normal file
@ -0,0 +1,31 @@
|
||||
[build-system]
|
||||
requires = ["setuptools>=61"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "bls-data"
|
||||
version = "0.1.0"
|
||||
description = "Dependency-light Python client for the U.S. Bureau of Labor Statistics (BLS) API, with pre-built series-ID builders."
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.9"
|
||||
license = { text = "MIT" }
|
||||
authors = [{ name = "Dave Boyd", email = "dave@tiggr.org" }]
|
||||
keywords = ["bls", "economics", "labor-statistics", "cpi", "jolts", "unemployment", "wages"]
|
||||
dependencies = ["requests>=2.28"]
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = ["pytest>=7"]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://gitea.doesworks.net/giteaadmin/bls-data"
|
||||
|
||||
[tool.setuptools]
|
||||
packages = ["bls_client", "bls_client.queries"]
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
testpaths = ["tests"]
|
||||
markers = [
|
||||
"live: hits the live BLS API (needs network + BLS_API_KEY; deselected by default)",
|
||||
]
|
||||
# Live tests are opt-in: run `pytest -m live` to include them.
|
||||
addopts = "-m 'not live'"
|
||||
Reference in New Issue
Block a user