Skip to content

Commit 6c94d18

Browse files
committed
move to src based structure; add archive support
1 parent d33890d commit 6c94d18

17 files changed

Lines changed: 202 additions & 93 deletions

.git_archival.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
node: $Format:%H$
2+
node-date: $Format:%cI$
3+
describe-name: $Format:%(describe:tags=true,match=*[0-9]*)$
4+
ref-names: $Format:%D$

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.git_archival.txt export-subst

.gitignore

Lines changed: 119 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,121 @@
1-
*.pyc
2-
*.orig
3-
*~
4-
.spyproject/
1+
# Byte-compiled / optimized / DLL files
52
__pycache__/
6-
docs/build/
7-
docs/source/generated/
8-
docs/source/examples/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
env/
12+
build/
13+
develop-eggs/
14+
dist/
15+
downloads/
16+
eggs/
17+
.eggs/
18+
lib/
19+
lib64/
20+
parts/
21+
sdist/
22+
var/
23+
wheels/
24+
*.egg-info/
25+
.installed.cfg
26+
*.egg
27+
28+
# PyInstaller
29+
# Usually these files are written by a python script from a template
30+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
31+
*.manifest
32+
*.spec
33+
34+
# Installer logs
35+
pip-log.txt
36+
pip-delete-this-directory.txt
37+
38+
# Unit test / coverage reports
39+
htmlcov/
40+
.tox/
41+
.coverage
42+
.coverage.*
43+
.cache
44+
nosetests.xml
45+
coverage.xml
46+
*.cover
47+
.hypothesis/
48+
49+
# Translations
50+
*.mo
51+
*.pot
52+
53+
# Django stuff:
54+
*.log
55+
local_settings.py
56+
57+
# Flask stuff:
58+
instance/
59+
.webassets-cache
60+
61+
# Scrapy stuff:
62+
.scrapy
63+
64+
# Sphinx documentation
65+
docs/_build/
66+
67+
# PyBuilder
68+
target/
69+
70+
# Jupyter Notebook
71+
.ipynb_checkpoints
72+
73+
# pyenv
74+
.python-version
75+
76+
# celery beat schedule file
77+
celerybeat-schedule
78+
79+
# SageMath parsed files
80+
*.sage.py
81+
82+
# dotenv
83+
.env
84+
85+
# virtualenv
86+
.venv
87+
venv/
88+
ENV/
89+
90+
# IDE project settings
91+
.spyderproject
92+
.spyproject
93+
.vscode
94+
95+
# Rope project settings
96+
.ropeproject
97+
98+
# mkdocs documentation
99+
/site
100+
101+
# mypy
102+
.mypy_cache/
103+
104+
tags
105+
/test_*
106+
107+
# own stuff
9108
info/
10-
#_build
11-
#_static
12-
#_templates
13-
#docs/
109+
110+
# Cython generated C code
111+
*.c
112+
113+
# JOSS stuff
114+
paper/compile
115+
116+
# setuptools_scm generated version files
117+
src/anaflow/_version.py
118+
119+
# generated docs
120+
docs/source/examples/
121+
docs/source/api/

MANIFEST.in

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
prune *
2-
graft anaflow
3-
graft tests
4-
5-
include LICENSE README.md pyproject.toml setup.cfg
6-
global-exclude __pycache__ *.py[cod] .*
1+
prune **
2+
recursive-include tests *.py
3+
recursive-include src/anaflow *.py
4+
include LICENSE README.md pyproject.toml

pyproject.toml

Lines changed: 74 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,90 @@
11
[build-system]
22
requires = [
3-
"setuptools>=42",
4-
"wheel",
5-
"setuptools_scm[toml]>=3.5",
3+
"setuptools>=64",
4+
"setuptools_scm>=7",
65
]
76
build-backend = "setuptools.build_meta"
87

8+
[project]
9+
requires-python = ">=3.7"
10+
name = "anaflow"
11+
authors = [{name = "Sebastian Mueller", email = "sebastian.mueller@ufz.de"}]
12+
readme = "README.md"
13+
license = {text = "MIT"}
14+
dynamic = ["version"]
15+
description = "AnaFlow - analytical solutions for the groundwater-flow equation."
16+
classifiers = [
17+
"Development Status :: 5 - Production/Stable",
18+
"Intended Audience :: Developers",
19+
"Intended Audience :: End Users/Desktop",
20+
"Intended Audience :: Science/Research",
21+
"License :: OSI Approved :: MIT License",
22+
"Natural Language :: English",
23+
"Operating System :: MacOS",
24+
"Operating System :: MacOS :: MacOS X",
25+
"Operating System :: Microsoft",
26+
"Operating System :: Microsoft :: Windows",
27+
"Operating System :: POSIX",
28+
"Operating System :: Unix",
29+
"Programming Language :: Python",
30+
"Programming Language :: Python :: 3",
31+
"Programming Language :: Python :: 3 :: Only",
32+
"Programming Language :: Python :: 3.6",
33+
"Programming Language :: Python :: 3.7",
34+
"Programming Language :: Python :: 3.8",
35+
"Programming Language :: Python :: 3.9",
36+
"Topic :: Scientific/Engineering",
37+
"Topic :: Software Development",
38+
"Topic :: Utilities",
39+
]
40+
dependencies = [
41+
"numpy>=1.14.5",
42+
"pentapy>=1.1.0",
43+
"scipy>=1.1.0",
44+
]
45+
46+
[project.optional-dependencies]
47+
doc = [
48+
"m2r2>=0.2.8",
49+
"matplotlib>=3",
50+
"numpydoc>=1.1",
51+
"sphinx>=4",
52+
"sphinx-gallery>=0.8",
53+
"sphinx-rtd-theme>=1,<1.1",
54+
]
55+
test = ["pytest-cov>=3"]
56+
check = [
57+
"black>=23,<24",
58+
"isort[colors]<6",
59+
"pylint<3",
60+
]
61+
62+
[project.urls]
63+
Homepage = "https://github.com/GeoStat-Framework/AnaFlow"
64+
Documentation = "https://anaflow.readthedocs.io"
65+
Source = "https://github.com/GeoStat-Framework/anaflow"
66+
Tracker = "https://github.com/GeoStat-Framework/anaflow/issues"
67+
Changelog = "https://github.com/GeoStat-Framework/anaflow/blob/main/CHANGELOG.md"
68+
Conda-Forge = "https://anaconda.org/conda-forge/anaflow"
69+
70+
[tool.setuptools]
71+
license-files = ["LICENSE"]
72+
973
[tool.setuptools_scm]
10-
write_to = "anaflow/_version.py"
74+
write_to = "src/anaflow/_version.py"
1175
write_to_template = "__version__ = '{version}'"
1276
local_scheme = "no-local-version"
1377
fallback_version = "0.0.0.dev0"
1478

79+
[tool.isort]
80+
profile = "black"
81+
multi_line_output = 3
82+
line_length = 79
83+
1584
[tool.black]
1685
exclude = "_version.py"
1786
line-length = 79
18-
target-version = [
19-
"py36",
20-
"py37",
21-
"py38",
22-
]
87+
target-version = ["py37"]
2388

2489
[tool.coverage]
2590
[tool.coverage.run]

setup.cfg

Lines changed: 0 additions & 67 deletions
This file was deleted.

0 commit comments

Comments
 (0)