-
Notifications
You must be signed in to change notification settings - Fork 34
Expand file tree
/
Copy pathpyproject.toml
More file actions
127 lines (119 loc) · 4.12 KB
/
Copy pathpyproject.toml
File metadata and controls
127 lines (119 loc) · 4.12 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
126
127
# -----------------------------------------------------------------------------
# BSD 3-Clause License
#
# Copyright (c) 2026, Science and Technology Facilities Council.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# * Neither the name of the copyright holder nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# -----------------------------------------------------------------------------
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "PSyclone"
dynamic = ["version"]
description = "PSyclone - a source-to-source and DSL Fortran compiler for HPC applications"
readme = "README.md"
authors = [
{ name = "Rupert Ford" },
{ name = "Andrew Porter", email = "andrew.porter@stfc.ac.uk" },
{ name = "Sergi Siso", email = "sergi.siso@stfc.ac.uk" },
{ name = "Aidan Chalk", email = "aidan.chalk@stfc.ac.uk" },
{ name = "Joerg Henrichs", email = "joerg.henrichs@bom.gov.au" }
]
license = "BSD-3-Clause"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Natural Language :: English",
"Programming Language :: Fortran",
"Programming Language :: Python",
"Topic :: Scientific/Engineering",
"Topic :: Software Development",
"Topic :: Utilities",
"Operating System :: POSIX",
"Operating System :: Unix",
"Operating System :: MacOS"
]
dependencies = [
"pyparsing",
"fparser==0.2.4",
"configparser",
"sympy<=1.13.3", # TODO #3474: Adjoint fails with sympy >= 1.14
"Jinja2",
"termcolor",
"graphviz"
]
[project.optional-dependencies]
doc = [
# Have to pin Sphinx to a pre-9.0 version because of
# https://github.com/sphinx-doc/sphinx/issues/14223
"sphinx<=8.3",
"sphinxcontrib.bibtex",
"sphinx_design",
"pydata-sphinx-theme",
"sphinx-autodoc-typehints",
"autoapi"
]
test = [
"flake8",
"pylint",
"pytest-cov",
"pytest-xdist",
"tree-sitter",
"tree-sitter-fortran"
]
treesitter = [
"tree-sitter",
"tree-sitter-fortran"
]
[project.urls]
Homepage = "https://github.com/stfc/psyclone"
Download = "https://github.com/stfc/psyclone"
[tool.setuptools]
package-dir = { "" = "src" }
include-package-data = true
script-files = [
"bin/psyclone",
"bin/psyclone-kern",
"bin/psyad",
"bin/psyclonefc"
]
[tool.setuptools.packages.find]
where = ["src"]
exclude = ["psyclone.tests", "psyclone.tests.*"]
[tool.setuptools.dynamic]
version = { attr = "psyclone.version.__VERSION__" }
[tool.pytest.ini_options]
# Ensure that any XPASS ("unexpectedly passing") results are reported
# as failures in the test suite.
xfail_strict = true
addopts = "--ignore=external -p no:pep8"
filterwarnings = ["ignore::DeprecationWarning"]