-
Notifications
You must be signed in to change notification settings - Fork 59
/
pyproject.toml
112 lines (100 loc) · 3.15 KB
/
pyproject.toml
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
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "itables"
authors = [{name = "Marc Wouts", email = "[email protected]"}]
maintainers = [{name = "Marc Wouts", email = "[email protected]"}]
description = "Pandas and Polar DataFrames as interactive DataTables"
readme = "README.md"
license = { file = "LICENSE" }
keywords = ["Pandas", "Polars", "Interactive", "Javascript", "DataTables"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"License :: OSI Approved :: MIT License",
"Framework :: Jupyter",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
requires-python = ">= 3.7"
dependencies = ["IPython", "pandas", "numpy"]
dynamic = ["version"]
[project.optional-dependencies]
polars = ["polars", "pyarrow"]
style = ["matplotlib"]
samples = ["pytz", "world_bank_data"]
widget = ["anywidget", "traitlets"]
all = ["itables[polars,style,samples,widget]"]
test = [
"itables[all]",
# Pytest
"pytest",
"pytest-cov",
# Test the documentation
"ipykernel",
"nbconvert",
"jupytext",
"shiny",
# "shinywidgets",
# Test urls
"requests",
]
dev = ["itables[test]", "watchfiles", "jupyterlab"]
# automatically add the dev feature to the default env (e.g., hatch shell)
[tool.hatch.envs.default]
features = ["dev"]
[tool.hatch.version]
path = "src/itables/version.py"
[project.urls]
Homepage = "https://mwouts.github.io/itables/"
Documentation = "https://mwouts.github.io/itables"
Repository = "https://github.com/mwouts/itables.git"
Issues = "https://github.com/mwouts/itables/issues"
Changelog = "https://github.com/mwouts/itables/blob/main/docs/changelog.md"
[pycodestyle]
max-line-length = 88
[tool.coverage.report]
exclude_lines = [
# Have to re-enable the standard pragma
"pragma: no cover",
# Don't complain if tests don't hit defensive assertion code:
"raise NotImplementedError",
"except ImportError",
]
[tool.hatch.build.hooks.jupyter-builder]
enable-by-default = true
dependencies = ["hatch-jupyter-builder>=0.5.0"]
build-function = "hatch_jupyter_builder.npm_builder"
ensured-targets = [
"src/itables/html/dt_bundle.js",
"src/itables/html/dt_bundle.css",
"src/itables/itables_for_streamlit/asset-manifest.json",
"src/itables/widget/static/widget.js",
]
[tool.hatch.build.hooks.jupyter-builder.build-kwargs]
path = "packages"
build_cmd = "build"
npm = ["npm"]
[tool.hatch.build.targets.sdist]
artifacts = [
"src/itables/html/dt_bundle.js",
"src/itables/html/dt_bundle.css",
"src/itables/itables_for_streamlit/*",
"src/itables/widget/static/*"
]
[tool.hatch.build.targets.wheel]
artifacts = [
"src/itables/html/dt_bundle.js",
"src/itables/html/dt_bundle.css",
"src/itables/itables_for_streamlit/*",
"src/itables/widget/static/*"
]