forked from bp/resqpy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
116 lines (105 loc) · 3.16 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
113
114
115
116
# PEP 517-compliant build configuration
# To build resqpy package, run:
# >>> poetry build
[build-system]
requires = ["poetry>=1.0.2", "poetry-dynamic-versioning"]
build-backend = "poetry.masonry.api"
[tool.poetry]
name = "resqpy"
version = "0.0.0" # Set at build time
description = "Python API for working with RESQML models"
authors = ["BP"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/bp/resqpy"
documentation = "https://resqpy.readthedocs.io/en/latest/"
keywords = ["RESQML"]
classifiers = [
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Development Status :: 4 - Beta",
# "Development Status :: 5 - Production/Stable"
"Topic :: Scientific/Engineering",
"Topic :: System :: Filesystems",
"Topic :: Scientific/Engineering :: Information Analysis"
]
include = ["data/*.json"]
[tool.poetry.dependencies]
# Aim to follow NEP29 deprecation policy:
# - Support all minor versions of Python released in the prior 42 months
# - Support all minor versions of NumPy/Pandas released in the prior 24 months
# - https://numpy.org/neps/nep-0029-deprecation_policy.html
# See here for meaning of Semantic Version numbers:
# - https://semver.org/
# See here for "caret" style dependency specifications:
# - https://python-poetry.org/docs/dependency-specification/
python = ">= 3.7.1, < 3.11"
numpy = "^1.19"
pandas = "^1.1"
h5py = "^3.2"
lxml = "^4.6"
lasio = "^0.29"
[tool.poetry.dev-dependencies]
pytest = "^6.2"
pytest-cov = "^2.12"
pytest-mock = "^3.6"
flake8 = "^3.9"
flake8-docstrings = "^1.6"
yapf = "^0.32"
packaging = "20.9"
Sphinx = "^3.5"
sphinx-rtd-theme = "^0.5"
mypy = "0.910"
autoclasstoc = "^1.2"
[tool.poetry-dynamic-versioning]
enable = true
vcs = "git"
style = "pep440"
format-jinja = """
{%- if distance == 0 -%}
{{ serialize_pep440(base, stage, revision) }}
{%- elif revision is not none -%}
{{ serialize_pep440(base, stage, revision + 1, dev=distance) }}
{%- else -%}
{{ serialize_pep440(bump_version(base), stage, revision, dev=distance) }}
{%- endif -%}
"""
[tool.poetry-dynamic-versioning.substitution]
files = ["resqpy/__init__.py"]
[tool.yapf]
based_on_style = "google"
indent_width = 4
continuation_indent_width = 4
spaces_around_default_or_named_assign = true
column_limit = 120
[tool.yapfignore]
ignore_patterns = [
"venv/**/*",
"dist/**/*",
".venv/**/*",
".dist/**/*"
]
[[tool.mypy.overrides]]
module = [
"pandas",
"numpy",
"lasio",
"h5py",
"lxml"
]
ignore_missing_imports = true
[tool.pytest.ini_options]
addopts = "-ra"
junit_family = "xunit2"
testpaths = "tests/"
filterwarnings = [
# Error on internal deprecation warnings
"error::DeprecationWarning:.*resqpy.*",
# Ignore warnings that are entirely from 3rd party libs outside our control
"ignore:.*importing the ABCs from 'collections'.*:DeprecationWarning:.*pyreadline.*",
"ignore:.*the imp module is deprecated in favour of importlib.*:DeprecationWarning:.*pywintypes.*"
]