1[build-system]
2requires = ["setuptools"]
3build-backend = "setuptools.build_meta"
4
5[project]
6name = "eumetsat.chartepssg"
7authors = [
8 {name = "EUMETSAT", email = "sgs_sae@eumetsat.int"},
9]
10description = "European Polar System Second Generation timeseries analysis tool"
11readme = "README.rst"
12requires-python = ">=3.6"
13keywords = ["chart", "satellite", "telemetry", "meteosat", "epssg"]
14# license = {file = "LICENSE.rst"}
15classifiers = [
16 "Programming Language :: Python :: 3",
17]
18dependencies = [
19 "eumetsat.chart",
20]
21dynamic = ["version"]
22
23[project.urls]
24homepage = "https://confluence.eumetsat.int/display/SAE/CHART+EPS-SG"
25repository = "https://gitlab.eumetsat.int/chart/chartepssg"
26
27[tool.setuptools]
28# this package will read some included files in runtime, avoid installing it as .zip
29# zip-safe = false
30packages = ["chartepssg"]
31
32[tool.pydocstyle]
33# D105: Missing docstring in magic method
34# D107: Missing docstring in __init__
35# D202 : No blank lines allowed after function docstring
36# D213: Multi-line docstring summary should start at the second line
37# D203: 1 blank line required before class docstring (found 0)
38# D206: Spaces to indent docstrings
39# D407: Mising dashed underline after section ('Yields') <- pydocstyle doesn't
40# yet fully support Google style docstrings
41# D406: Section name should end with a newline <- again, incomplete Google style
42ignore = ["D105","D107","D213","D203","D206","D407","D406"]
43
44[tool.pytest]
45filterwarnings = ["ignore::DeprecationWarning"]
46testpaths = ["tests"]
47norecursedirs = ["legacy"]
48doctest_optionflags = ["NORMALIZE_WHITESPACE", "IGNORE_EXCEPTION_DETAIL", "NUMBER"]
49junit_family = ["xunit2"]
50# These markers are only needed for quickly running server, web or database tests
51# They will automatically disable themselves if the server or database information
52# is not given on the command line
53# markers =\
54 # webserver: Mark a test as testing a webserver by sending requests to it
55 # webbrowser: Tests that simulate a browser
56 # web: Combine webserver and webbrowser
57# database: Tests against the content of a database
58addopts = "--project=chartmtg"
59
60
61# [tool:mypy]
62# mypy_suppress_stub_warnings = true
63
64# [tool:coverage]
65# omit=/usr
66# source = chart
67# data_file = "/.coverage"
68# parallel = true
69
70[tool.pylint.MASTER]
71# see old setup.cfg and .pylintrc files from repo for older and more detailed versions
72# Propogate changes back to chart/pyproject.toml to apply to all CHART projects
73
74# Hide VCS files
75ignore = '.git'
76# Maximum lines in a module
77max-module-lines = 2000
78# Always allow these variable names
79good-names=["i","j","k","ex","x","y","e"]
80
81[tool.pylint."MESSAGES CONTROL"]
82disable = ["consider-using-f-string"]
83
84[tool.pylint.REPORTS]
85reports = 'no'
86score = 'no'
87
88[tool.pylint.LOGGING]
89logging-modules = 'logging'
90
91[tool.pylint.SPELLING]
92spelling-ignore-words = ''
93max-spelling-suggestions = 4
94spelling-private-dict-file = ''
95
96[tool.pylint.format]
97max-line-length = 100
98indent-string = '\t'
99
100[tool.pylint.similarities]
101ignore-comments = 'yes'
102ignore-docstrings = 'yes'
103ignore-imports = 'no'
104min-similarity-lines = 4
105
106[tool.pylint.BASIC]
107argument-naming-style = 'snake_case'
108attr-naming-style = 'snake_case'
109class-attribute-naming-style = 'any'
110class-naming-style = 'PascalCase'
111const-naming-style = 'UPPER_CASE'
112function-naming-style = 'snake_case'
113method-naming-style = 'snake_case'
114module-naming-style = 'snake_case'
115variable-naming-style = 'snake_case'
116
117[tool.pycodestyle]
118exclude = ["rdr.py", "dynatree_server.py"]
119max-line-length = 100
120# W191: indentation contains tabs
121# E101: indentation contains mixed spaces and tabs
122# E501: line too long (fixed at 80 chars)
123# E225: missing whitespace around operator (too strict)
124# E203: whitespace before ':' (problem: raw_ints[cur.rowcount, :])
125# E116: unexpected indentation (comment)
126# E121: indentation is not a multiple of four
127# E122: missing indentation or outdented
128# E123: closing bracket does not match indentation of opening bracket's line
129# E124: closing bracket does not match visual indentation
130# E125: continuation line does not distinguish itself from next logical line
131# E126: continuation line over-indented for hanging indent
132# E127: over-indented for visual indent
133# E128: continuation line under-indented for visual indent
134# E117: over-indented (this looks like a bug in tab detection in pycodestyle 2.5)
135# W504: line break after binary operator
136ignore = "W191,E101,E121,E122,E123,E124,E125,E126,E127,E128,E116,E117,W504"
137# repeat=True