-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
125 lines (110 loc) · 2.63 KB
/
pyproject.toml
File metadata and controls
125 lines (110 loc) · 2.63 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
121
122
123
124
125
[project]
name = "e3sm_comms"
dynamic = ["version"]
authors = [
{ name="Ryan Forsyth", email="forsyth2@llnl.gov" }
]
description = "A package for E3SM Communications supporting software"
license = {file = "LICENSE"}
readme = "README.md"
requires-python = ">=3.11,<3.14"
classifiers = [
# these are only for searching/browsing projects on PyPI
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
]
dependencies = [
"beautifulsoup4",
]
[project.optional-dependencies]
testing = [
"pytest",
"pytest-cov",
]
docs = [
"sphinx",
"sphinx_rtd_theme",
"sphinx-multiversion",
]
# make sure these always match dev.yml and .pre-commit-config.yaml
qa = [
"black==25.1.0",
"flake8==7.3.0",
"flake8-isort==6.1.1",
"isort==6.0.1",
"mypy==1.18.2",
"pre-commit==4.3.0",
"types-PyYAML >=6.0.0",
]
dev = [
"tbump==6.9.0",
"ipykernel",
]
[tool.black]
line-length = 88
target-version = ['py39']
include = '\.pyi?$'
exclude = '''
/(
\.eggs
| \.git
| \.mypy_cache
| _build
| conda
| docs
)/
'''
[tool.isort]
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
line_length = 88
[tool.pycodestyle]
max-line-length = 119
exclude = '''
/(
\.tox
| \.git
| */migrations/*
| */static/CACHE/*
| docs
| node_modules
| \.idea
| \.mypy_cache
| \.pytest_cache
| *__init__.py
| venv
)/
'''
[tool.mypy]
python_version = 3.13
check_untyped_defs = true
ignore_missing_imports = true
warn_unused_ignores = true
warn_redundant_casts = true
warn_unused_configs = true
[build-system]
requires = ["setuptools>=60"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
exclude = ["build*", "conda*", "docs*", "tests*"]
[tool.setuptools.dynamic]
version = { attr = "e3sm_comms.version.__version__" }
# evolution of options.entry-points
[project.scripts]
# These require Confluence API access:
e3sm-comms-newsletter-reviewer = "e3sm_comms.newsletter_reviewer.main:main"
e3sm-comms-resource-reviewer = "e3sm_comms.resource_reviewer.main:main"
e3sm-comms-website-reviewer = "e3sm_comms.website_reviewer.main:main"
# These do not:
e3sm-comms-e3sm-org-reviewer = "e3sm_comms.e3sm_org_reviewer.main:main"
e3sm-comms-html-reviewer = "e3sm_comms.html_reviewer.main:main"
e3sm-comms-tree-reviewer = "e3sm_comms.tree_reviewer.main:main"
e3sm-comms-video-reviewer = "e3sm_comms.video_reviewer.main:main"
#[project.urls]
# Documentation =
# "Bug Tracker" =