ecco_v4_py is a Python package that includes tools for loading and manipulating the ECCO v4 ocean and sea-ice state estimate (http://ecco-group.org)
Extensive documentation is provided on our readthedocs page: http://ecco-v4-python-tutorial.readthedocs.io/index.html#
Installation instructions can be found here!
https://ecco-v4-python-tutorial.readthedocs.io/Installing_Python_and_Python_Packages.html
If you would like to contribute, consider forking this repository and making pull requests via git!
contact [email protected] or Ian.Fenty at jpl.nasa.gov
MIT License
ecco_v4_py uses the 'semantic versioning' scheme described here:
The essence of semantic versioning is a 3-part MAJOR.MINOR.MAINTENANCE numbering scheme:
MAJOR version when they make incompatible API changes,
MINOR version when they add functionality in a backwards-compatible manner, and
MAINTENANCE version when they make backwards-compatible bug fixes.
Note: Publishing a new 'release' will trigger an 'action' and publish the new release to pypi. The version number has to be different otherwise pypi will reject it and say 'version already exists'.
The instructions below outline how to manually push code changes to pypi.
- Make sure your
~/.pypirc
file has entries for [pypi] and [testpypi] with properly-scoped api tokens
[distutils]
index-servers =
pypi
ecco_v4_py
[pypi]
username = __token__
password = YOUR-PYPI-TOKEN-HERE
[ecco_v4_py]
repository = https://upload.pypi.org/legacy/
username = __token__
password = YOUR-PYPI-TOKEN-HERE (can be scoped for just the ecco_v4_py package)
[testpypi]
username = __token__
password = YOUR-TESTPYPI-TOKEN-HERE
- Verify all code changes are up to date on github, including version number
- Navigate to ECCOv4_py directory
- Remove old "distribution" files by deleting the contents of the
dist/
directory - Rebuild the
dist/
files
python3 setup.py sdist bdist_wheel
- Push changes to pypi test platform: test.pypi.org
twine upload --repository testpypi dist/*
- Verify code updates are on test.pypi.org: https://test.pypi.org/project/ecco-v4-py/
- Push changes to to pypi
twine upload dist/* --repository-url https://upload.pypi.org/legacy/
- Verify code updates are on pypi.org: https://pypi.org/project/ecco-v4-py/
(credit to Tim Smith)
You can run the tests locally with the pytest package, which is available through conda-forge. With that installed, you can navigate to ECCOv4-py/ecco_v4_py/test and either:
Run all the tests exactly as they are on travis (this takes a while, like 12 minutes!):
py.test . -v --cov=ecco_v4_py --cov-config .coveragerc --ignore=ecco_v4_py/test/test_generate_ecco_netcdf_product.py
Or you can run any individual module e.g. to run the few tests in ecco_utils:
py.test test_ecco_utils.py
(and you can add any of the -v or whatever flags you want).