|
1 | | -[tool.poetry] |
| 1 | +[build-system] |
| 2 | +requires = [ |
| 3 | + "hatchling", |
| 4 | + "hatch-vcs", |
| 5 | +] |
| 6 | +build-backend = "hatchling.build" |
| 7 | + |
| 8 | +[project] |
2 | 9 | name = "pyfeyn2" |
3 | | -version = "0.0.0" |
4 | | -description = "PyFeyn is a package which makes drawing Feynman diagrams simple and programmatic. Feynman diagrams are important constructs in perturbative field theory, so being able to draw them in a programmatic fashion is important if attempting to enumerate a large number of diagram configurations is important. The output quality of PyFeyn diagrams (into PDF or EPS formats) is very high, and special effects can be obtained by using constructs from PyX, which PyFeyn is based around" |
5 | | -authors = ["Alexander Puck Neuwirth <alexander@neuwirth-informatik.de>"] |
| 10 | +dynamic = ["version"] |
| 11 | +description = 'PyFeyn is a package which makes drawing Feynman diagrams simple and programmatic. Feynman diagrams are important constructs in perturbative field theory, so being able to draw them in a programmatic fashion is important if attempting to enumerate a large number of diagram configurations is important. The output quality of PyFeyn diagrams (into PDF or EPS formats) is very high, and special effects can be obtained by using constructs from PyX, which PyFeyn is based around' |
6 | 12 | readme = "README.md" |
7 | | -repository = "https://github.com/APN-Pucky/pyfeyn2" |
8 | | - |
9 | | -[tool.poetry.dependencies] |
10 | | -python = "^3.8" |
11 | | -particle = "*" |
12 | | -xsdata = {version = "*", extras = ["cli","lxml","soap"]} |
13 | | -pylatex = "*" |
14 | | -dot2tex = "*" |
15 | | -matplotlib = ">=1.4.0,<4.0.0" |
16 | | -Wand = "*" |
17 | | -numpy = "*" # Upper limit due to feynman using np.complex |
18 | | -pyx = ">=0.12,<1.0.0" # Original pyfeyn |
19 | | -pydot = "*" |
20 | | -feynman=">=2.1" |
21 | | -cssutils= "*" |
22 | | -pylatexenc = "*" |
23 | | -pygments = "*" |
24 | | -graphviz = "*" |
25 | | -ipyparallel = "*" |
26 | | -deprecated = "*" |
27 | | -deprecation = "*" |
28 | | -cssselect ="*" |
29 | | -smpl_io = "*" |
30 | | -smpl_doc = "*" |
31 | | -smpl_util= "*" |
32 | | -iminuit = "*" |
33 | | -colorama = "*" |
34 | | -termcolor = "*" |
35 | | -feynml = {version = ">=0.2.24", extras = ["interfaces"]} |
36 | | -#feynml= {path = "../feynml", develop = true, extras = ["interfaces"]} |
37 | | -#asciidraw = {path = "../asciidraw", develop = true} |
38 | | -asciidraw = ">=0.1.2" |
39 | | - |
40 | | -[tool.poetry.scripts] |
41 | | -mkfeyndiag = "pyfeyn2.mkfeyndiag:main" |
42 | | - |
43 | | -[tool.poetry.group.docs] |
44 | | -optional = true |
45 | | - |
46 | | -[tool.poetry.group.docs.dependencies] |
47 | | -sphinx = "<8.0.0" |
48 | | -sphinx-rtd-theme = "*" |
49 | | -sphinxcontrib-napoleon = "*" |
50 | | -nbsphinx = "*" |
51 | | -jupyter-sphinx = "*" |
52 | | -sphinx_autobuild = "*" |
53 | | -sphinx_math_dollar = "*" |
54 | | -myst-parser = "*" |
55 | | -toml = "*" |
56 | | - |
57 | | -[tool.poetry.group.test] |
58 | | -optional = true |
| 13 | +requires-python = ">=3.8" |
| 14 | +keywords = [] |
| 15 | +authors = [ |
| 16 | + { name = "Alexander Puck Neuwirth", email = "alexander@neuwirth-informatik.de" }, |
| 17 | +] |
| 18 | +classifiers = [ |
| 19 | + "Development Status :: 4 - Beta", |
| 20 | + "Intended Audience :: Developers", |
| 21 | + "Intended Audience :: Science/Research", |
| 22 | + "License :: OSI Approved :: BSD License", |
| 23 | + "Programming Language :: Python", |
| 24 | + "Programming Language :: Python :: 3.8", |
| 25 | + "Programming Language :: Python :: 3.9", |
| 26 | + "Programming Language :: Python :: 3.10", |
| 27 | + "Programming Language :: Python :: 3.11", |
| 28 | + "Programming Language :: Python :: 3.12", |
| 29 | + "Programming Language :: Python :: 3.13", |
| 30 | + "Programming Language :: Python :: Implementation :: CPython", |
| 31 | + "Programming Language :: Python :: Implementation :: PyPy", |
| 32 | + "Topic :: Scientific/Engineering", |
| 33 | +] |
| 34 | +dependencies = [ |
| 35 | + "feynml", |
| 36 | + "pylatex", |
| 37 | + "dot2tex", |
| 38 | + "matplotlib", |
| 39 | + "Wand", |
| 40 | + "numpy", |
| 41 | + "pyx", # Original pyfeyn |
| 42 | + "pydot", |
| 43 | + "feynman>=2.1", |
| 44 | + "pylatexenc", |
| 45 | + "pygments", |
| 46 | + "graphviz", |
| 47 | + "ipyparallel", |
| 48 | + "iminuit", |
| 49 | + "feynml[interfaces]>=0.2.24", |
| 50 | + "asciidraw>=0.1.2", |
| 51 | +] |
59 | 52 |
|
60 | | -[tool.poetry.group.test.dependencies] |
61 | | -pytest = "*" |
62 | | -pytest-cov = "*" |
63 | | -pytest-profiling = "*" |
64 | | -pytest-line-profiler-apn = ">=0.1.3" |
| 53 | +[project.urls] |
| 54 | +Documentation = "https://github.com/APN-Pucky/pyfeyn2#readme" |
| 55 | +Issues = "https://github.com/APN-Pucky/pyfeyn2/issues" |
| 56 | +Source = "https://github.com/APN-Pucky/pyfeyn2/" |
65 | 57 |
|
66 | | -[tool.poetry.group.dev] |
67 | | -optional = true |
| 58 | +[project.optional-dependencies] |
| 59 | +lint = [ |
| 60 | + "ruff", |
| 61 | +] |
| 62 | +docs = [ |
| 63 | + "sphinx<8.0.0", |
| 64 | + "sphinx-rtd-theme", |
| 65 | + "sphinxcontrib-napoleon", |
| 66 | + "nbsphinx", |
| 67 | + "jupyter-sphinx", |
| 68 | + "sphinx_autobuild", |
| 69 | + "sphinx_math_dollar", |
| 70 | + "myst-parser", |
| 71 | + "toml", |
| 72 | +] |
| 73 | +test = [ |
| 74 | + "pytest", |
| 75 | + "pytest-cov", |
| 76 | +] |
| 77 | +dev = [ |
| 78 | + "pre-commit", |
| 79 | + "ipython", |
| 80 | + "jupyter", |
| 81 | + "jupyterlab", |
| 82 | +] |
68 | 83 |
|
69 | | -[tool.poetry.group.dev.dependencies] |
70 | | -pre-commit = ">=2.20,<4.0" |
71 | | -ipython = "*" |
72 | | -jupyterlab = "*" |
73 | | -jupyter = "*" |
74 | | -poetry-dynamic-versioning = {extras = ["plugin"], version = ">=0.21.1,<1.7.0"} |
| 84 | +[tool.hatch.envs.all] |
| 85 | +features = [ |
| 86 | + "dev", |
| 87 | + "docs", |
| 88 | + "test", |
| 89 | +] |
75 | 90 |
|
76 | | -[build-system] |
77 | | -requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"] |
78 | | -build-backend = "poetry_dynamic_versioning.backend" |
| 91 | +[tool.hatch] |
| 92 | +version.source = "vcs" |
79 | 93 |
|
80 | | -[tool.poetry-dynamic-versioning] |
81 | | -enable = true |
82 | | -vcs = "git" |
83 | | -style = "pep440" |
84 | | -dirty = true |
85 | | -# modified dunami default pattern without v |
86 | | -pattern = '(?x)(?# ignore whitespace)^((?P<epoch>\d+)!)?(?P<base>\d+(\.\d+)*)(?# v1.2.3 or v1!2000.1.2)([-._]?((?P<stage>[a-zA-Z]+)[-._]?(?P<revision>\d+)?))?(?# b0)(\+(?P<tagged_metadata>.+))?$(?# +linux)' |
87 | | -strict = true |
88 | | -format-jinja = "{% if distance == 0 %}{{ base }}{% else %}{{ base }}.{{ distance }}{% endif %}" |
| 94 | +[tool.hatch.scripts] |
| 95 | +mkfeyndiag = "pyfeyn2.mkfeyndiag:main" |
89 | 96 |
|
90 | 97 | [tool.pytest.ini_options] |
91 | 98 | minversion = "6.0" |
92 | 99 | testpaths = ["tests"] |
93 | 100 | addopts = [ "-Werror","-v","--cov=pyfeyn2","--cov-config=.coveragerc","--cov-append","--cov-report=term","--cov-report=xml","--doctest-modules","--ignore=docs/source/conf.py" ] |
94 | 101 | filterwarnings = [ |
95 | 102 | 'error', |
96 | | - 'ignore: pkg_resources is deprecated as an API:DeprecationWarning' |
| 103 | + 'ignore: pkg_resources is deprecated as an API:DeprecationWarning', |
| 104 | + "ignore:The 'wheel' package is no longer the canonical location of the 'bdist_wheel' command:DeprecationWarning", |
97 | 105 | ] |
0 commit comments