Skip to content
Snippets Groups Projects
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}