-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
120 lines (110 loc) · 3.29 KB
/
pyproject.toml
File metadata and controls
120 lines (110 loc) · 3.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
[project]
name = "fp-wraptr"
version = "0.2.0"
description = "Python utilities to modernize the Fair-Parke (FP) macroeconomic model workflow"
readme = "README.md"
license = "MIT"
requires-python = ">=3.11"
authors = [{ name = "Shane Wray" }]
keywords = ["economics", "macroeconomics", "fair-model", "econometrics"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
dependencies = [
"pydantic>=2.0",
"pandas>=2.2",
"numpy>=2.1",
"typer>=0.12",
"rich>=13.0",
"pyyaml>=6.0",
]
[project.optional-dependencies]
graph = ["networkx>=3.0"]
viz = ["matplotlib>=3.7"]
dashboard = ["streamlit>=1.30", "plotly>=5.18", "matplotlib>=3.7"]
excel = ["openpyxl>=3.0"]
mcp = ["fastmcp>=2.0"]
fred = ["fredapi>=0.5"]
forecast = ["statsmodels>=0.14"]
docs = [
"mkdocs-material>=9.5",
"mkdocstrings[python]>=0.24",
]
dev = [
"pytest>=8.0",
"pytest-cov>=5.0",
"ruff>=0.8",
"pre-commit>=3.6",
]
all = ["fp-wraptr[graph,viz,dashboard,excel,mcp,fred,forecast,docs,dev]"]
[project.scripts]
fp = "fp_wraptr.cli:app"
fp-mcp = "fp_wraptr.mcp_server:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/fp_wraptr", "src/fppy"]
include = ["src/fp_wraptr/py.typed"]
[tool.hatch.build.targets.wheel.force-include]
"fp-r/DESCRIPTION" = "fp-r/DESCRIPTION"
"fp-r/NAMESPACE" = "fp-r/NAMESPACE"
"fp-r/R/000_utils.R" = "fp-r/R/000_utils.R"
"fp-r/R/bundle.R" = "fp-r/R/bundle.R"
"fp-r/R/dependency.R" = "fp-r/R/dependency.R"
"fp-r/R/equations.R" = "fp-r/R/equations.R"
"fp-r/R/expressions.R" = "fp-r/R/expressions.R"
"fp-r/R/legacy_data.R" = "fp-r/R/legacy_data.R"
"fp-r/R/mini_run.R" = "fp-r/R/mini_run.R"
"fp-r/R/parser.R" = "fp-r/R/parser.R"
"fp-r/R/periods.R" = "fp-r/R/periods.R"
"fp-r/R/solver.R" = "fp-r/R/solver.R"
"fp-r/R/standard_input.R" = "fp-r/R/standard_input.R"
"fp-r/scripts/run_backend_bundle.R" = "fp-r/scripts/run_backend_bundle.R"
[tool.hatch.build.targets.sdist]
include = [
"/src/fp_wraptr",
"/src/fppy",
"/fp-r/DESCRIPTION",
"/fp-r/NAMESPACE",
"/fp-r/R/000_utils.R",
"/fp-r/R/bundle.R",
"/fp-r/R/dependency.R",
"/fp-r/R/equations.R",
"/fp-r/R/expressions.R",
"/fp-r/R/legacy_data.R",
"/fp-r/R/mini_run.R",
"/fp-r/R/parser.R",
"/fp-r/R/periods.R",
"/fp-r/R/solver.R",
"/fp-r/R/standard_input.R",
"/fp-r/scripts/run_backend_bundle.R",
"/scripts/assets/install_fp_exe.py",
"/README.md",
"/LICENSE",
"/pyproject.toml",
]
[tool.ruff]
src = ["src"]
target-version = "py311"
preview = true
extend-exclude = ["mkdocs.yml"]
line-length = 99
cache-dir = "/tmp/ruff-cache-fp-wraptr"
[tool.ruff.lint]
select = ["E", "F", "I", "N", "W", "UP", "B", "SIM", "RUF"]
ignore = ["E501", "B008", "SIM102", "RUF069"]
[tool.ruff.lint.isort]
known-first-party = ["fp_wraptr"]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "--assert=plain -p no:cacheprovider -v --tb=short --cov=fp_wraptr --cov=fppy --cov-report=term-missing:skip-covered"
markers = [
"requires_fp: tests that require fp.exe to be available",
]