Skip to content

Commit

Permalink
Merge pull request #8 from GeoStat-Framework/develop
Browse files Browse the repository at this point in the history
Release v1
  • Loading branch information
MuellerSeb authored Apr 9, 2020
2 parents f0cb259 + 62c3dd1 commit e8bb51f
Show file tree
Hide file tree
Showing 56 changed files with 4,094 additions and 3,518 deletions.
10 changes: 10 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[run]
source = welltestpy
omit = *docs*, *examples*, *tests*

[report]
exclude_lines =
pragma: no cover
if __name__ == '__main__':
def __repr__
def __str__
132 changes: 123 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,125 @@
*.pyc
*.orig
*~
.spyproject/
# Byte-compiled / optimized / DLL files
__pycache__/
docs/build/
#_build
#_static
#_templates
#docs/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/
docs/output.txt

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# dotenv
.env

# virtualenv
.venv
venv/
ENV/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/

tags
/test_*

# own stuff
info/

# Cython generated C code
*.c
*.cpp


# generated docs
docs/source/examples/
docs/source/generated/
examples/Cmp_UFZ-campaign.cmp

*.DS_Store

*.zip

*.vtu
*.vtr
113 changes: 71 additions & 42 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,82 @@
language: python
python: 3.8

matrix:
include:
# use macOS for py2 since building pandas wheels takes ages on linux
# and matplotlib is not installing on linux
- name: "MacOS py27"
os: osx
language: generic
env:
- PIP=pip2
- CIBW_BUILD="cp27-*"
- COVER="off"

# use macOS for py3 since building matplotlib is not working on linux
- name: "MacOS py36"
os: osx
language: generic
env:
- PIP=pip2
- CIBW_BUILD="cp36-*"
- COVER="on"
# setuptools-scm needs all tags in order to obtain a proper version
git:
depth: false

env:
global:
# Note: TWINE_PASSWORD is set in Travis settings
- TWINE_USERNAME=geostatframework

script:
# create wheels
- sudo $PIP install cibuildwheel==0.10.1
- cibuildwheel --output-dir wheelhouse
# create source dist for pypi and create coverage (only once for linux py3.6)
- |
if [[ $COVER == "on" ]]; then
rm -rf dist
python setup.py sdist
fi
after_success:
# pypi upload (test allways and official on TAG)
- python -m pip install twine
- python -m twine upload --skip-existing --repository-url https://test.pypi.org/legacy/ wheelhouse/*.whl
- python -m twine upload --skip-existing --repository-url https://test.pypi.org/legacy/ dist/*.tar.gz
- |
if [[ $TRAVIS_TAG ]]; then
python -m twine upload --skip-existing wheelhouse/*.whl
python -m twine upload --skip-existing dist/*.tar.gz
fi
- CIBW_BUILD="cp35-* cp36-* cp37-* cp38-*"
- CIBW_SKIP="*_i686" # skip linux 32bit for matplotlib
# update setuptools to latest version
- CIBW_BEFORE_BUILD="pip install -U setuptools"
# testing with cibuildwheel
- CIBW_TEST_REQUIRES=pytest
- CIBW_TEST_COMMAND="pytest -v {project}/tests"

notifications:
email:
recipients:
- [email protected]

before_install:
- |
if [[ "$TRAVIS_OS_NAME" = windows ]]; then
choco install python --version 3.8.0
export PATH="/c/Python38:/c/Python38/Scripts:$PATH"
# make sure it's on PATH as 'python3'
ln -s /c/Python38/python.exe /c/Python38/python3.exe
fi
install:
- python3 -m pip install cibuildwheel==1.3.0

script:
- python3 -m cibuildwheel --output-dir tmp_dist

stages:
- test
- coverage
- name: deploy
if: (NOT type IN (pull_request)) AND (repo = GeoStat-Framework/welltestpy)

jobs:
include:
- stage: test
name: Test on Linux
services: docker
- stage: test
name: Test on MacOS
os: osx
language: generic
- stage: test
name: Test on Windows
os: windows
language: shell

- stage: coverage
name: Coverage on Linux
services: docker
install: python3 -m pip install .[test] coveralls
script:
- python3 -m pytest --cov welltestpy --cov-report term-missing -v tests/
- python3 -m coveralls

# Test Deploy source distribution
- stage: deploy
name: Test Deploy
install: python3 -m pip install -U setuptools wheel twine
script: python3 setup.py sdist --formats=gztar bdist_wheel
after_success:
- python3 -m twine upload --verbose --skip-existing --repository-url https://test.pypi.org/legacy/ dist/*

# Deploy source distribution
- stage: deploy
name: Deploy to PyPI
if: tag IS present
install: python3 -m pip install -U setuptools wheel twine
script: python3 setup.py sdist --formats=gztar bdist_wheel
after_success: python3 -m twine upload --verbose --skip-existing dist/*
20 changes: 20 additions & 0 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"license": "MIT",
"language": "eng",
"keywords": [
"Groundwater flow equation",
"Groundwater",
"Pumping test",
"Pump test",
"Aquifer analysis",
"Python",
"GeoStat-Framework"
],
"creators": [
{
"orcid": "0000-0001-9060-4008",
"affiliation": "Helmholtz Centre for Environmental Research - UFZ",
"name": "Sebastian M\u00fcller"
}
]
}
75 changes: 75 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Changelog

All notable changes to **welltestpy** will be documented in this file.


## [1.0.0] - 2020-04-09

### Enhancements
- new estimators
- ExtTheis3D
- ExtTheis2D
- Neuman2004
- Theis
- ExtThiem3D
- ExtThiem2D
- Neuman2004Steady
- Thiem
- better plotting
- unit-tests run with py35-py38 on Linux/Win/Mac
- coverage calculation
- sphinx gallery for examples
- allow style setting in plotting routines

### Bugfixes
- estimation results stored as dict (order could alter before)

### Changes
- py2 support dropped
- `Fieldsite.coordinates` now returns a `Variable`; `Fieldsite.pos` as shortcut
- `Fieldsite.pumpingrate` now returns a `Variable`; `Fieldsite.rate` as shortcut
- `Fieldsite.auqiferradius` now returns a `Variable`; `Fieldsite.radius` as shortcut
- `Fieldsite.auqiferdepth` now returns a `Variable`; `Fieldsite.depth` as shortcut
- `Well.coordinates` now returns a `Variable`; `Well.pos` as shortcut
- `Well.welldepth` now returns a `Variable`; `Well.depth` as shortcut
- `Well.wellradius` added and returns the radius `Variable`
- `Well.aquiferdepth` now returns a `Variable`
- `Fieldsite.addobservations` renamed to `Fieldsite.add_observations`
- `Fieldsite.delobservations` renamed to `Fieldsite.del_observations`
- `Observation` has changed order of inputs/outputs. Now: `observation`, `time`


## [0.3.2] - 2019-03-08

### Bugfixes
- adopt AnaFlow API


## [0.3.1] - 2019-03-08

### Bugfixes
- update travis workflow


## [0.3.0] - 2019-02-28

### Enhancements
- added documentation


## [0.2.0] - 2018-04-25

### Enhancements
- added license


## [0.1.0] - 2018-04-25

First alpha release of welltespy.

[1.0.0]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.3.2...v1.0.0
[0.3.2]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.3.1...v0.3.2
[0.3.1]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.3.0...v0.3.1
[0.3.0]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.2...v0.3.0
[0.2.0]: https://github.com/GeoStat-Framework/welltestpy/compare/v0.1...v0.2
[0.1.0]: https://github.com/GeoStat-Framework/welltestpy/releases/tag/v0.1
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2019 Sebastian Mueller
Copyright (c) 2020 Sebastian Mueller

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
8 changes: 7 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
include README.md
include MANIFEST.in
include setup.py
include setup.cfg
recursive-include welltestpy *.py
recursive-include tests *.py
recursive-include docs/source *
include docs/Makefile docs/requirements.txt
include docs/Makefile docs/requirements.txt docs/requirements_doc.txt
include LICENSE
include requirements.txt
include requirements_setup.txt
include requirements_test.txt
Loading

0 comments on commit e8bb51f

Please sign in to comment.