-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
112 lines (102 loc) · 3.55 KB
/
Copy pathpyproject.toml
File metadata and controls
112 lines (102 loc) · 3.55 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
[project]
name = "moderndive"
version = "0.1.0"
description = "Python companion for ModernDive: a tidy simulation-inference grammar, regression helpers, datasets, and dual-engine plotly/plotnine plots"
readme = "README.md"
requires-python = ">=3.11"
license = { text = "MIT" }
authors = [
{ name = "Chester Ismay", email = "chester.ismay@gmail.com" },
{ name = "Albert Y. Kim" },
{ name = "Arturo Valdivia" },
]
maintainers = [{ name = "Chester Ismay", email = "chester.ismay@gmail.com" }]
keywords = [
"statistics",
"data-science",
"statistical-inference",
"bootstrap",
"permutation-test",
"regression",
"education",
"polars",
"plotly",
"plotnine",
]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Information Analysis",
"Topic :: Education",
]
# NOTE: kept pure-Python and free of compiled extensions so it installs under
# Pyodide via micropip for in-browser execution.
dependencies = [
"polars>=1.0",
"numpy>=1.26",
"plotly>=5.20",
"plotnine>=0.13",
"seaborn>=0.13",
"statsmodels>=0.14",
"scipy>=1.11",
"pandas>=2.0",
"pyarrow>=15.0",
]
[project.optional-dependencies]
test = ["pytest>=8.0", "pytest-cov>=5.0"]
# Static raster export of plotly figures (fig.write_image / .save to .png).
# NOT a core dependency: kaleido ships a compiled Chromium and is unavailable
# under Pyodide, so the package stays installable in-browser without it.
image = ["kaleido>=0.2"]
# Interactive DataTables for View(); the Python counterpart of R's DT::datatable.
# Optional so the core stays light and Pyodide-friendly.
view = ["itables>=2.0"]
doc = [
"sphinx>=7.0",
"furo>=2024.1",
"myst-nb>=1.1", # MyST markdown + executes {code-cell} blocks
"ipykernel>=6.29", # kernel myst-nb runs the cells in
"kaleido>=0.2", # static PNG export of plotly figures for the docs
"itables>=2.0", # interactive tables for View() examples
"sphinx-autodoc-typehints>=2.0",
"sphinx-copybutton>=0.5",
]
dev = ["moderndive[test,doc,view]", "ruff>=0.6", "pre-commit>=3.0"]
[project.urls]
Homepage = "https://github.com/moderndive/moderndive-python"
Documentation = "https://moderndive.readthedocs.io"
Repository = "https://github.com/moderndive/moderndive-python"
Changelog = "https://github.com/moderndive/moderndive-python/blob/main/CHANGELOG.md"
"Bug Tracker" = "https://github.com/moderndive/moderndive-python/issues"
"ModernDive book" = "https://moderndive.com"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["moderndive"]
# Bundle the Parquet datasets (non-Python files) in the wheel.
artifacts = ["moderndive/data/*.parquet"]
[tool.hatch.build.targets.sdist]
include = ["moderndive", "tests", "tools", "README.md", "README.qmd", "README_files", "LICENSE", "CHANGELOG.md"]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "--cov=moderndive --cov-report=term-missing"
[tool.coverage.run]
source = ["moderndive"]
branch = false
[tool.coverage.report]
show_missing = true
fail_under = 100
exclude_also = ["if TYPE_CHECKING:"]
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B"]
ignore = ["E501"]