Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
99 lines (90 loc) · 2.92 KB
/
Copy pathpyproject.toml
File metadata and controls
99 lines (90 loc) · 2.92 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
[project]
name = "Brian2"
authors = [
{name = 'Marcel Stimberg'},
{name = 'Dan Goodman'},
{name = 'Benjamin Evans'},
{name = 'Romain Brette'}
]
requires-python = ">=3.13"
dependencies = [
"numpy>=2.3.0",
'cython>=0.29.21',
'sympy>=1.2',
'pyparsing>=3,!=3.2.4',
'jinja2>=2.7',
'py-cpuinfo;platform_system=="Windows"',
'setuptools>=61',
'packaging',
]
dynamic = ["version", "readme"]
description = 'A clock-driven simulator for spiking neural networks'
keywords = ['computational neuroscience', 'simulation', 'neural networks', 'spiking neurons', 'biological neural networks', 'research']
classifiers = [
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Science/Research',
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Topic :: Scientific/Engineering :: Bio-Informatics'
]
license = 'CECILL-2.1'
license-files = ["LICENSE", "AUTHORS", "CONTRIBUTORS"]
[project.optional-dependencies]
test = ['pytest>=8', 'pytest-xdist>=1.22.3', 'pytest-cov>=2.0', 'pytest-timeout']
docs = ['sphinx>=7,<9', "ipython>=8.32.0", 'sphinx-tabs']
[project.urls]
Homepage = 'https://briansimulator.org'
Documentation ='https://brian2.readthedocs.io/'
Source = 'https://github.com/brian-team/brian2'
Tracker = 'https://github.com/brian-team/brian2/issues'
Coverage = 'https://coveralls.io/github/brian-team/brian2'
Changelog = 'https://brian2.readthedocs.io/en/stable/introduction/release_notes.html'
Mastodon = 'https://neuromatch.social/@briansimulator'
Bluesky = 'https://bsky.app/profile/briansimulator.org'
[tool.setuptools]
zip-safe = false
include-package-data = true
[tool.setuptools.packages.find]
include = ["brian2*"]
[tool.setuptools.dynamic]
readme = {file = 'README.md', content-type = "text/markdown"}
[tool.setuptools_scm]
version_scheme = 'post-release'
local_scheme = 'no-local-version'
write_to = 'brian2/_version.py'
tag_regex = '^(?P<version>\d+(?:\.\d+){0,2}[^\+]*(?:\+.*)?)$'
fallback_version = 'unknown'
[build-system]
requires = [
"setuptools>=61",
# By building against numpy 2.0, we make sure that the wheel is compatible with
# both numpy 2.0 and numpy>=1.23
"numpy>=2.0.0rc1",
"wheel",
"Cython",
"setuptools_scm[toml]>=6.2"
]
build-backend = "setuptools.build_meta"
[tool.ruff.lint]
select = [
# pycodestyle
"E",
# Pyflakes
"F",
# pyupgrade
"UP",
# flake8-bugbear
"B",
# isort
"I",
]
# Lambda functions are ok (E731),
# long lines are already handled by the formatter (E501)
# For LaTeX code, percent format or `.format` is often the most readable (UP031, UP032)
# TODO: Would be good practice to set stacklevel for warnings (B028)
# False positives when using a name to test for its existence (B018)
extend-ignore = ["E731", "E501", "UP031", "UP032", "B028", "B018"]
[tool.ruff.lint.pydocstyle]
convention = "numpy"