-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
112 lines (98 loc) · 3.34 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
# Copyright 2023 Flicker Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "flicker"
dynamic = ["version"]
authors = [
{ name = "Flicker Contributors", email = "7110058+ankur-gupta@users.noreply.github.com" },
]
description = "Provides FlickerDataFrame, a wrapper over Pyspark DataFrame to provide a pandas-like API"
readme = "README.md"
requires-python = ">=3.9"
license = { file = "LICENSE" }
keywords = ["spark", "pyspark", "pandas", "dataframe", "wrapper", "API"]
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Development Status :: 4 - Beta"
]
dependencies = [
"pyspark>=3.4.1",
"setuptools", # needed for python 3.12+; installed by default on python 3.11-
"pandas",
"numpy",
"pyarrow>=4.0.0"
]
[project.urls]
Homepage = "https://github.com/ankur-gupta/flicker"
Repository = "https://github.com/ankur-gupta/flicker.git"
[tool.hatch.version]
path = "src/flicker/version.py"
[tool.hatch.envs.test]
dependencies = [
"coverage",
"codecov",
"pytest",
"pytest-cov",
"pytest-mock",
]
# Run using `hatch run test:with-coverage`, `hatch run test:no-coverage`, `hatch run test:not-slow`, ...
[tool.hatch.envs.test.scripts]
with-coverage = "pytest --cov-config=pyproject.toml --cov=flicker --cov=tests"
no-coverage = "with-coverage --no-cov"
not-slow = "with-coverage -m \"not slow\""
not-random = "with-coverage -m \"not random\""
coverage-json = "coverage json"
coverage-xml = "coverage xml"
coverage-html = "coverage html"
[[tool.hatch.envs.test.matrix]]
python = ["3.9", "3.11", "3.12"]
[tool.coverage.run]
omit = [
"src/flicker/resources/",
"tests/*/*/*.py",
"tests/*/*.py",
"tests/*.py"
]
# From https://docs.pytest.org/en/latest/how-to/mark.html and PEP 621
[tool.pytest.ini_options]
markers = [
"slow: marks tests as slow", # deselect with `pytest -m "not sleepy" ...`
"random: tests using randomness; may not always pass"
]
[tool.hatch.build.targets.sdist]
include = [
"/src",
"/tests",
]
exclude = [
"/.github",
]
[tool.hatch.envs.docs]
dependencies = [
"mkdocs-material", # https://squidfunk.github.io/mkdocs-material/getting-started/
"mkdocs-git-revision-date-localized-plugin", # https://squidfunk.github.io/mkdocs-material/setup/adding-a-git-repository/#revisioning
"mkdocstrings-python", # https://mkdocstrings.github.io/python/
"mike" # https://squidfunk.github.io/mkdocs-material/setup/setting-up-versioning/#versioning
]
# Run as `hatch run docs:build`, `hatch run docs:serve`
# https://hatch.pypa.io/1.1/environment/#selection
[tool.hatch.envs.docs.scripts]
build = "mkdocs build --clean --strict"
serve = "mkdocs serve --dev-addr localhost:8000"