-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move to a fully pyproject.toml based build #878
Changes from 10 commits
a0cbbee
570d0ec
81182d8
7b2ad86
289466b
ce2022b
fb25718
a3be249
6eb94df
28119dc
9e03309
9996503
40a8d21
bb9effa
478e96a
f7a3914
1b994f0
2af479c
3653123
de245b3
5933fdb
14fc9d8
d11b4f5
f9e2bbb
03d35d5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
[bumpversion] | ||
current_version = 1.8.0 | ||
commit = True | ||
tag = False | ||
message = Bump up to version {new_version}. | ||
|
||
[bumpversion:file:setup.py] | ||
|
||
[bumpversion:file:signac/version.py] | ||
|
||
[bumpversion:file:doc/conf.py] | ||
|
||
[bumpversion:file:CITATION.cff] | ||
|
||
[bumpversion:file:.zenodo.json] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
[flake8] | ||
max-line-length = 100 | ||
exclude = _vendor | ||
select = E,F,W | ||
ignore = E123,E126,E203,E226,E241,E704,W503,W504 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,60 @@ | ||
# Copyright (c) 2020 The Regents of the University of Michigan | ||
# All rights reserved. | ||
# This software is licensed under the BSD 3-Clause License. | ||
[build-system] | ||
build-backend = "setuptools.build_meta" | ||
requires = ["setuptools"] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. setuptools >= 64 is required for editable installs (pip install -e) with pyproject.toml-only builds. I don't think we need to encode that requirement here, just wanted to mention it. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK, this is quite odd. I tried changing our CI to do a non-editable pip install of the package, and I started seeing failures in |
||
|
||
[project] | ||
name = "signac" | ||
version = "1.8.0" | ||
description = "Manage large and heterogeneous data spaces on the file system." | ||
readme = "README.md" | ||
# Supported versions are determined according to NEP 29. | ||
# https://numpy.org/neps/nep-0029-deprecation_policy.html | ||
requires-python = ">=3.8" | ||
license = { file = "LICENSE.txt" } | ||
maintainers = [{ name = "signac Developers", email = "[email protected]" }] | ||
authors = [{ name = "Carl Simon Adorf et al.", email = "[email protected]" }] | ||
keywords = ["simulation database index collaboration workflow"] | ||
classifiers = [ | ||
"Development Status :: 5 - Production/Stable", | ||
"Intended Audience :: Science/Research", | ||
"License :: OSI Approved :: BSD License", | ||
"Topic :: Database", | ||
"Topic :: Scientific/Engineering :: Physics", | ||
"Programming Language :: Python :: 3.8", | ||
"Programming Language :: Python :: 3.9", | ||
"Programming Language :: Python :: 3.10", | ||
"Programming Language :: Python :: Implementation :: CPython", | ||
"Programming Language :: Python :: Implementation :: PyPy", | ||
] | ||
dependencies = [ | ||
# Platform-independent file locking | ||
"filelock>=3.0", | ||
# Used for version parsing and comparison | ||
"packaging>=15.0", | ||
# Progress bars | ||
"tqdm>=4.10.0", | ||
] | ||
|
||
[project.optional-dependencies] | ||
h5 = ["h5py"] | ||
|
||
[project.scripts] | ||
signac = "signac.__main__:main" | ||
|
||
[project.urls] | ||
Homepage = "https://signac.io" | ||
Documentation = "https://docs.signac.io" | ||
Download = "https://pypi.org/project/signac/" | ||
Source = "https://github.com/glotzerlab/signac" | ||
Issues = "https://github.com/glotzerlab/signac/issues" | ||
|
||
[tool.setuptools] | ||
vyasr marked this conversation as resolved.
Show resolved
Hide resolved
|
||
zip-safe = false | ||
packages = { find = {} } | ||
|
||
[tool.black] | ||
target-version = ['py38'] | ||
include = '\.pyi?$' | ||
|
@@ -19,3 +76,23 @@ force-exclude = ''' | |
[tool.isort] | ||
profile = 'black' | ||
skip_glob = 'signac/_vendor/*' | ||
|
||
[tool.pydocstyle] | ||
match = "^((?!\\.sync-zenodo-metadata|setup).)*\\.py$" | ||
match-dir = "^((?!\\.|tests|_vendor).)*$" | ||
ignore-decorators = "deprecated" | ||
add-ignore = "D105, D107, D203, D204, D213" | ||
|
||
[tool.mypy] | ||
ignore_missing_imports = true | ||
|
||
[tool.pytest.ini_options] | ||
xfail_strict = true | ||
filterwarnings = "error" | ||
|
||
[tool.coverage.run] | ||
branch = true | ||
concurrency = [ "thread" , "multiprocessing" ] | ||
vyasr marked this conversation as resolved.
Show resolved
Hide resolved
|
||
parallel = true | ||
source = [ "signac" ] | ||
omit = [ "*/signac/_vendor/*" ] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
coverage==6.5.0 | ||
coverage[toml]==6.5.0 | ||
pytest==7.2.0 | ||
pytest-cov==4.0.0 | ||
pytest-xdist==3.0.2 |
This file was deleted.
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a newer pydocstyle that doesn’t require this additional dependency to be specified?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is not. I opened an issue about this a while ago but never received a response from the devs. Maybe worth another ping.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would add a comment linking to this issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.