setup.cfg 3.68 KiB
[bumpversion]
current_version = 0.4.0
tag = True
commit = True
message = release-v{new_version}
[bumpversion:file:tfields/__init__.py]
search = __version__ = '{current_version}'
replace = {new_version}
[bumpversion:file:setup.py]
search = version='{current_version}'
replace = {new_version}
[bumpversion:file:docs/cookiecutter_input.json]
search = 'package_version': '{current_version}'
replace = {new_version}
[metadata]
name = tfields
url = https://gitlab.mpcdf.mpg.de/dboe/tfields
author = Daniel Böckenhoff
author_email = dboe@ipp.mpg.de
classifiers =
Development Status :: 3 - Alpha
License :: OSI Approved :: MIT License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
license = MIT License
license_files = LICENSE.rst
description = Tensors, tensor fields, graphs, mesh manipulation, CAD and more on the basis of numpy.ndarrays. All objects keep track of their coordinate system. Symbolic math operations work for object manipulation.
long_description = file: README.rst, LICENSE.rst
long_description_content_type = text/x-rst
keywords = tensors, tensor-fields, graphs, mesh, numpy, math
project_urls =
Documentation = https://tfields.readthedocs.io
Source = https://gitlab.mpcdf.mpg.de/dboe/tfields
[options]
python_requires = >=3.0
packages = find:
install_requires =
pathlib;python_version<'3.10'
six
numpy
sympy<=1.6.2 # diffgeom changes in 1.7 see unit branch for first implementation of compatibility
scipy
rna>=0.6.3
sortedcontainers
tests_require =
doctest
unittest
pytest
[options.packages.find]
exclude =
tests*
performance*
[options.extras_require]
all =
%(dev)s
dev =
%(docs)s
%(test)s
%(io)s
bump2version==1.0.0 # for incrementing the version
twine # for publishing
sphinx # for documentation
pre-commit # https://pre-commit.com/ for hook managment
pre-commit-hooks
cookiecutter_project_upgrader
docs =
sphinx>=2.2.0 # requires templatedir option in sphinx-apidoc
sphinx_rtd_theme>=0.4.3
test =
flake8
pylint
pytest
pytest-cov
coverage
pytest-shutil
pytest-virtualenv
pytest-fixture-config
pytest-xdist
matplotlib
io =
numpy-stl
[bdist_wheel]
universal = 1
[coverage:report]
show_missing = true
exclude_lines =
pragma: no cover
if False
[coverage:run]
omit =
tfields/plotting/*.py
[flake8]
max-line-length = 99
doctests = True
exclude = .git, .eggs, __pycache__, docs, dist, venv, .tox
ignore = E203 W503 W504 # wrong flake defaults: see https://github.com/psf/black/issues/315, https://github.com/psf/black/issues/43
per-file-ignores =
__init__.py: F401
[pylint.]
ignore = setup.py
[build_sphinx]
builder = html,man
all-files = 1
build-dir = docs/_build
source-dir = docs
[tool:pytest]
addopts =
--doctest-modules
junit_family = xunit2
[tox:tox]
minversion = 3.7
skip_missing_interpreters = true
envlist =
py{35,36,37,38,39,310}
recreate = true
[gh-actions]
python =
3.5: py35
3.6: py36
3.7: py37
3.8: py38
3.9: py39
3.10: py310
[testenv]
description = run test suite under {basepython}
deps =
{[options]install_requires}
{[options.extras_require]test}
extras = test
whitelist_externals = rm
commands_pre =
rm -rf **/__pycache__
rm -rf **/*.pyc
commands =
pytest {envsitepackagesdir}/{[metadata]name} --basetemp="{envtmpdir}" {posargs} --cov={envsitepackagesdir}/{[metadata]name} --junitxml=report/junit.xml --ignore={envsitepackagesdir}/{[metadata]name}/plotting
[testenv:flake8]
commands = flake8 {[metadata]name}/ tests/
extras = testing
description = run flake8 under {basepython}