Skip to content

Commit e8bb51f

Browse files
authored
Merge pull request #8 from GeoStat-Framework/develop
Release v1
2 parents f0cb259 + 62c3dd1 commit e8bb51f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+4094
-3518
lines changed

.coveragerc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[run]
2+
source = welltestpy
3+
omit = *docs*, *examples*, *tests*
4+
5+
[report]
6+
exclude_lines =
7+
pragma: no cover
8+
if __name__ == '__main__':
9+
def __repr__
10+
def __str__

.gitignore

Lines changed: 123 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,125 @@
1-
*.pyc
2-
*.orig
3-
*~
4-
.spyproject/
1+
# Byte-compiled / optimized / DLL files
52
__pycache__/
6-
docs/build/
7-
#_build
8-
#_static
9-
#_templates
10-
#docs/
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+
docs/output.txt
67+
68+
# PyBuilder
69+
target/
70+
71+
# Jupyter Notebook
72+
.ipynb_checkpoints
73+
74+
# pyenv
75+
.python-version
76+
77+
# celery beat schedule file
78+
celerybeat-schedule
79+
80+
# SageMath parsed files
81+
*.sage.py
82+
83+
# dotenv
84+
.env
85+
86+
# virtualenv
87+
.venv
88+
venv/
89+
ENV/
90+
91+
# Spyder project settings
92+
.spyderproject
93+
.spyproject
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
11108
info/
109+
110+
# Cython generated C code
111+
*.c
112+
*.cpp
113+
114+
115+
# generated docs
116+
docs/source/examples/
117+
docs/source/generated/
118+
examples/Cmp_UFZ-campaign.cmp
119+
120+
*.DS_Store
121+
122+
*.zip
123+
124+
*.vtu
125+
*.vtr

.travis.yml

Lines changed: 71 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,82 @@
11
language: python
2+
python: 3.8
23

3-
matrix:
4-
include:
5-
# use macOS for py2 since building pandas wheels takes ages on linux
6-
# and matplotlib is not installing on linux
7-
- name: "MacOS py27"
8-
os: osx
9-
language: generic
10-
env:
11-
- PIP=pip2
12-
- CIBW_BUILD="cp27-*"
13-
- COVER="off"
14-
15-
# use macOS for py3 since building matplotlib is not working on linux
16-
- name: "MacOS py36"
17-
os: osx
18-
language: generic
19-
env:
20-
- PIP=pip2
21-
- CIBW_BUILD="cp36-*"
22-
- COVER="on"
4+
# setuptools-scm needs all tags in order to obtain a proper version
5+
git:
6+
depth: false
237

248
env:
259
global:
10+
# Note: TWINE_PASSWORD is set in Travis settings
2611
- TWINE_USERNAME=geostatframework
27-
28-
script:
29-
# create wheels
30-
- sudo $PIP install cibuildwheel==0.10.1
31-
- cibuildwheel --output-dir wheelhouse
32-
# create source dist for pypi and create coverage (only once for linux py3.6)
33-
- |
34-
if [[ $COVER == "on" ]]; then
35-
rm -rf dist
36-
python setup.py sdist
37-
fi
38-
39-
after_success:
40-
# pypi upload (test allways and official on TAG)
41-
- python -m pip install twine
42-
- python -m twine upload --skip-existing --repository-url https://test.pypi.org/legacy/ wheelhouse/*.whl
43-
- python -m twine upload --skip-existing --repository-url https://test.pypi.org/legacy/ dist/*.tar.gz
44-
- |
45-
if [[ $TRAVIS_TAG ]]; then
46-
python -m twine upload --skip-existing wheelhouse/*.whl
47-
python -m twine upload --skip-existing dist/*.tar.gz
48-
fi
12+
- CIBW_BUILD="cp35-* cp36-* cp37-* cp38-*"
13+
- CIBW_SKIP="*_i686" # skip linux 32bit for matplotlib
14+
# update setuptools to latest version
15+
- CIBW_BEFORE_BUILD="pip install -U setuptools"
16+
# testing with cibuildwheel
17+
- CIBW_TEST_REQUIRES=pytest
18+
- CIBW_TEST_COMMAND="pytest -v {project}/tests"
4919

5020
notifications:
5121
email:
5222
recipients:
5323
24+
25+
before_install:
26+
- |
27+
if [[ "$TRAVIS_OS_NAME" = windows ]]; then
28+
choco install python --version 3.8.0
29+
export PATH="/c/Python38:/c/Python38/Scripts:$PATH"
30+
# make sure it's on PATH as 'python3'
31+
ln -s /c/Python38/python.exe /c/Python38/python3.exe
32+
fi
33+
34+
install:
35+
- python3 -m pip install cibuildwheel==1.3.0
36+
37+
script:
38+
- python3 -m cibuildwheel --output-dir tmp_dist
39+
40+
stages:
41+
- test
42+
- coverage
43+
- name: deploy
44+
if: (NOT type IN (pull_request)) AND (repo = GeoStat-Framework/welltestpy)
45+
46+
jobs:
47+
include:
48+
- stage: test
49+
name: Test on Linux
50+
services: docker
51+
- stage: test
52+
name: Test on MacOS
53+
os: osx
54+
language: generic
55+
- stage: test
56+
name: Test on Windows
57+
os: windows
58+
language: shell
59+
60+
- stage: coverage
61+
name: Coverage on Linux
62+
services: docker
63+
install: python3 -m pip install .[test] coveralls
64+
script:
65+
- python3 -m pytest --cov welltestpy --cov-report term-missing -v tests/
66+
- python3 -m coveralls
67+
68+
# Test Deploy source distribution
69+
- stage: deploy
70+
name: Test Deploy
71+
install: python3 -m pip install -U setuptools wheel twine
72+
script: python3 setup.py sdist --formats=gztar bdist_wheel
73+
after_success:
74+
- python3 -m twine upload --verbose --skip-existing --repository-url https://test.pypi.org/legacy/ dist/*
75+
76+
# Deploy source distribution
77+
- stage: deploy
78+
name: Deploy to PyPI
79+
if: tag IS present
80+
install: python3 -m pip install -U setuptools wheel twine
81+
script: python3 setup.py sdist --formats=gztar bdist_wheel
82+
after_success: python3 -m twine upload --verbose --skip-existing dist/*

.zenodo.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"license": "MIT",
3+
"language": "eng",
4+
"keywords": [
5+
"Groundwater flow equation",
6+
"Groundwater",
7+
"Pumping test",
8+
"Pump test",
9+
"Aquifer analysis",
10+
"Python",
11+
"GeoStat-Framework"
12+
],
13+
"creators": [
14+
{
15+
"orcid": "0000-0001-9060-4008",
16+
"affiliation": "Helmholtz Centre for Environmental Research - UFZ",
17+
"name": "Sebastian M\u00fcller"
18+
}
19+
]
20+
}

CHANGELOG.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Changelog
2+
3+
All notable changes to **welltestpy** will be documented in this file.
4+
5+
6+
## [1.0.0] - 2020-04-09
7+
8+
### Enhancements
9+
- new estimators
10+
- ExtTheis3D
11+
- ExtTheis2D
12+
- Neuman2004
13+
- Theis
14+
- ExtThiem3D
15+
- ExtThiem2D
16+
- Neuman2004Steady
17+
- Thiem
18+
- better plotting
19+
- unit-tests run with py35-py38 on Linux/Win/Mac
20+
- coverage calculation
21+
- sphinx gallery for examples
22+
- allow style setting in plotting routines
23+
24+
### Bugfixes
25+
- estimation results stored as dict (order could alter before)
26+
27+
### Changes
28+
- py2 support dropped
29+
- `Fieldsite.coordinates` now returns a `Variable`; `Fieldsite.pos` as shortcut
30+
- `Fieldsite.pumpingrate` now returns a `Variable`; `Fieldsite.rate` as shortcut
31+
- `Fieldsite.auqiferradius` now returns a `Variable`; `Fieldsite.radius` as shortcut
32+
- `Fieldsite.auqiferdepth` now returns a `Variable`; `Fieldsite.depth` as shortcut
33+
- `Well.coordinates` now returns a `Variable`; `Well.pos` as shortcut
34+
- `Well.welldepth` now returns a `Variable`; `Well.depth` as shortcut
35+
- `Well.wellradius` added and returns the radius `Variable`
36+
- `Well.aquiferdepth` now returns a `Variable`
37+
- `Fieldsite.addobservations` renamed to `Fieldsite.add_observations`
38+
- `Fieldsite.delobservations` renamed to `Fieldsite.del_observations`
39+
- `Observation` has changed order of inputs/outputs. Now: `observation`, `time`
40+
41+
42+
## [0.3.2] - 2019-03-08
43+
44+
### Bugfixes
45+
- adopt AnaFlow API
46+
47+
48+
## [0.3.1] - 2019-03-08
49+
50+
### Bugfixes
51+
- update travis workflow
52+
53+
54+
## [0.3.0] - 2019-02-28
55+
56+
### Enhancements
57+
- added documentation
58+
59+
60+
## [0.2.0] - 2018-04-25
61+
62+
### Enhancements
63+
- added license
64+
65+
66+
## [0.1.0] - 2018-04-25
67+
68+
First alpha release of welltespy.
69+
70+
[1.0.0]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.3.2...v1.0.0
71+
[0.3.2]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.3.1...v0.3.2
72+
[0.3.1]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.3.0...v0.3.1
73+
[0.3.0]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.2...v0.3.0
74+
[0.2.0]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.1...v0.2
75+
[0.1.0]: https://github.com/GeoStat-Framework/welltestpy/releases/tag/v0.1

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2019 Sebastian Mueller
3+
Copyright (c) 2020 Sebastian Mueller
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

MANIFEST.in

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1+
include README.md
12
include MANIFEST.in
23
include setup.py
4+
include setup.cfg
35
recursive-include welltestpy *.py
6+
recursive-include tests *.py
47
recursive-include docs/source *
5-
include docs/Makefile docs/requirements.txt
8+
include docs/Makefile docs/requirements.txt docs/requirements_doc.txt
69
include LICENSE
10+
include requirements.txt
11+
include requirements_setup.txt
12+
include requirements_test.txt

0 commit comments

Comments
 (0)