geocif 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. geocif-0.0.1/.editorconfig +21 -0
  2. geocif-0.0.1/.github/ISSUE_TEMPLATE/bug_report.md +25 -0
  3. geocif-0.0.1/.github/ISSUE_TEMPLATE/config.yml +10 -0
  4. geocif-0.0.1/.github/ISSUE_TEMPLATE/feature_request.md +18 -0
  5. geocif-0.0.1/.github/workflows/build.yml +41 -0
  6. geocif-0.0.1/.github/workflows/docs.yml +24 -0
  7. geocif-0.0.1/.github/workflows/pypi.yml +31 -0
  8. geocif-0.0.1/.gitignore +106 -0
  9. geocif-0.0.1/LICENSE +22 -0
  10. geocif-0.0.1/MANIFEST.in +7 -0
  11. geocif-0.0.1/PKG-INFO +45 -0
  12. geocif-0.0.1/README.md +21 -0
  13. geocif-0.0.1/docs/changelog.md +11 -0
  14. geocif-0.0.1/docs/contributing.md +108 -0
  15. geocif-0.0.1/docs/faq.md +1 -0
  16. geocif-0.0.1/docs/geocif.md +4 -0
  17. geocif-0.0.1/docs/index.md +20 -0
  18. geocif-0.0.1/docs/installation.md +23 -0
  19. geocif-0.0.1/docs/overrides/main.html +11 -0
  20. geocif-0.0.1/docs/usage.md +7 -0
  21. geocif-0.0.1/geocif/__init__.py +9 -0
  22. geocif-0.0.1/geocif/base.py +4 -0
  23. geocif-0.0.1/geocif/config/geocif.txt +29 -0
  24. geocif-0.0.1/geocif/constants.py +1 -0
  25. geocif-0.0.1/geocif/features.py +6 -0
  26. geocif-0.0.1/geocif/geoagmet.py +168 -0
  27. geocif-0.0.1/geocif/geocif.py +205 -0
  28. geocif-0.0.1/geocif/models.py +6 -0
  29. geocif-0.0.1/geocif/plot.py +468 -0
  30. geocif-0.0.1/geocif/utils.py +73 -0
  31. geocif-0.0.1/geocif.egg-info/PKG-INFO +45 -0
  32. geocif-0.0.1/geocif.egg-info/SOURCES.txt +41 -0
  33. geocif-0.0.1/geocif.egg-info/dependency_links.txt +1 -0
  34. geocif-0.0.1/geocif.egg-info/not-zip-safe +1 -0
  35. geocif-0.0.1/geocif.egg-info/top_level.txt +1 -0
  36. geocif-0.0.1/mkdocs.yml +52 -0
  37. geocif-0.0.1/requirements.txt +0 -0
  38. geocif-0.0.1/requirements_dev.txt +11 -0
  39. geocif-0.0.1/setup.cfg +25 -0
  40. geocif-0.0.1/setup.py +57 -0
  41. geocif-0.0.1/tests/__init__.py +1 -0
  42. geocif-0.0.1/tests/test_geocif.py +21 -0
@@ -0,0 +1,21 @@
1
+ # http://editorconfig.org
2
+
3
+ root = true
4
+
5
+ [*]
6
+ indent_style = space
7
+ indent_size = 4
8
+ trim_trailing_whitespace = true
9
+ insert_final_newline = true
10
+ charset = utf-8
11
+ end_of_line = lf
12
+
13
+ [*.bat]
14
+ indent_style = tab
15
+ end_of_line = crlf
16
+
17
+ [LICENSE]
18
+ insert_final_newline = false
19
+
20
+ [Makefile]
21
+ indent_style = tab
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: Bug Report
3
+ about: Create a bug report to help us improve
4
+ labels: bug
5
+ ---
6
+
7
+ <!-- Please search existing issues to avoid creating duplicates. -->
8
+
9
+ ### Environment Information
10
+
11
+ - geocif version:
12
+ - Python version:
13
+ - Operating System:
14
+
15
+ ### Description
16
+
17
+ Describe what you were trying to get done.
18
+ Tell us what happened, what went wrong, and what you expected to happen.
19
+
20
+ ### What I Did
21
+
22
+ ```
23
+ Paste the command(s) you ran and the output.
24
+ If there was a crash, please include the traceback here.
25
+ ```
@@ -0,0 +1,10 @@
1
+ contact_links:
2
+ - name: Ask questions
3
+ url: https://github.com/ritviksahajpal/geocif/discussions/categories/q-a
4
+ about: Please ask and answer questions here.
5
+ - name: Ideas
6
+ url: https://github.com/ritviksahajpal/geocif/discussions/categories/ideas
7
+ about: Please share your ideas here.
8
+ - name: Ask questions from the GIS community
9
+ url: https://gis.stackexchange.com
10
+ about: To get answers from questions in the GIS community, please ask and answer questions here.
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: Feature Request
3
+ about: Submit a feature request to help us improve
4
+ labels: Feature Request
5
+ ---
6
+
7
+ <!-- Please search existing issues to avoid creating duplicates. -->
8
+
9
+ ### Description
10
+
11
+ Describe the feature (e.g., new functions/tutorials) you would like to propose.
12
+ Tell us what can be achieved with this new feature and what's the expected outcome.
13
+
14
+ ### Source code
15
+
16
+ ```
17
+ Paste your source code here if have sample code to share.
18
+ ```
@@ -0,0 +1,41 @@
1
+ on:
2
+ push:
3
+ branches:
4
+ - master
5
+ pull_request:
6
+ branches:
7
+ - master
8
+
9
+ name: build
10
+ jobs:
11
+ py-check:
12
+ runs-on: ${{ matrix.config.os }}
13
+ name: ${{ matrix.config.os }} (${{ matrix.config.py }})
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ config:
18
+ - { os: windows-latest, py: "3.9" }
19
+ - { os: macOS-latest, py: "3.9" }
20
+ - { os: ubuntu-latest, py: "3.7" }
21
+ - { os: ubuntu-latest, py: "3.8" }
22
+ - { os: ubuntu-latest, py: "3.9" }
23
+
24
+ env:
25
+ SDKROOT: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
26
+ steps:
27
+ - name: CHECKOUT CODE
28
+ uses: actions/checkout@v2
29
+ - name: SETUP PYTHON
30
+ uses: actions/setup-python@v1
31
+ with:
32
+ python-version: ${{ matrix.config.py }}
33
+ - name: Install dependencies
34
+ run: |
35
+ python -m pip install --upgrade pip
36
+ pip install --user --no-cache-dir Cython
37
+ pip install --user -r requirements.txt
38
+ pip install --user -r requirements_dev.txt
39
+ - name: PKG-TEST
40
+ run: |
41
+ python -m unittest discover tests/
@@ -0,0 +1,24 @@
1
+ name: docs
2
+ on:
3
+ push:
4
+ branches:
5
+ - master
6
+ jobs:
7
+ deploy:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/checkout@v2
11
+ - uses: actions/setup-python@v2
12
+ with:
13
+ python-version: 3.9
14
+ - name: Install dependencies
15
+ run: |
16
+ python -m pip install --upgrade pip
17
+ pip install --user --no-cache-dir Cython
18
+ pip install --user -r requirements.txt
19
+ - name: PKG-TEST
20
+ run: |
21
+ python -m unittest discover tests/
22
+ - run: python -m pip install --upgrade pip
23
+ - run: pip install mkdocs-material mkdocstrings mkdocs-git-revision-date-plugin mkdocs-jupyter ipykernel
24
+ - run: mkdocs gh-deploy --force
@@ -0,0 +1,31 @@
1
+ # This workflows will upload a Python Package using Twine when a release is created
2
+ # For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
3
+
4
+ name: pypi
5
+
6
+ on:
7
+ release:
8
+ types: [created]
9
+
10
+ jobs:
11
+ deploy:
12
+
13
+ runs-on: ubuntu-latest
14
+
15
+ steps:
16
+ - uses: actions/checkout@v2
17
+ - name: Set up Python
18
+ uses: actions/setup-python@v2
19
+ with:
20
+ python-version: '3.x'
21
+ - name: Install dependencies
22
+ run: |
23
+ python -m pip install --upgrade pip
24
+ pip install setuptools wheel twine
25
+ - name: Build and publish
26
+ env:
27
+ TWINE_USERNAME: ${{ secrets.PYPI_USERS }}
28
+ TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
29
+ run: |
30
+ python setup.py sdist bdist_wheel
31
+ twine upload dist/*
@@ -0,0 +1,106 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ private/
4
+ *.py[cod]
5
+ *$py.class
6
+
7
+ # C extensions
8
+ *.so
9
+
10
+ # Distribution / packaging
11
+ .Python
12
+ env/
13
+ build/
14
+ develop-eggs/
15
+ dist/
16
+ downloads/
17
+ eggs/
18
+ .eggs/
19
+ lib/
20
+ lib64/
21
+ parts/
22
+ sdist/
23
+ var/
24
+ wheels/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .coverage
43
+ .coverage.*
44
+ .cache
45
+ nosetests.xml
46
+ coverage.xml
47
+ *.cover
48
+ .hypothesis/
49
+ .pytest_cache/
50
+
51
+ # Translations
52
+ *.mo
53
+ *.pot
54
+
55
+ # Django stuff:
56
+ *.log
57
+ local_settings.py
58
+
59
+ # Flask stuff:
60
+ instance/
61
+ .webassets-cache
62
+
63
+ # Scrapy stuff:
64
+ .scrapy
65
+
66
+ # Sphinx documentation
67
+ docs/_build/
68
+
69
+ # PyBuilder
70
+ target/
71
+
72
+ # Jupyter Notebook
73
+ .ipynb_checkpoints
74
+
75
+ # pyenv
76
+ .python-version
77
+
78
+ # celery beat schedule file
79
+ celerybeat-schedule
80
+
81
+ # SageMath parsed files
82
+ *.sage.py
83
+
84
+ # dotenv
85
+ .env
86
+
87
+ # virtualenv
88
+ .venv
89
+ venv/
90
+ ENV/
91
+
92
+ # Spyder project settings
93
+ .spyderproject
94
+ .spyproject
95
+
96
+ # Rope project settings
97
+ .ropeproject
98
+
99
+ # mkdocs documentation
100
+ /site
101
+
102
+ # mypy
103
+ .mypy_cache/
104
+
105
+ # IDE settings
106
+ .vscode/
geocif-0.0.1/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022, Ritvik Sahajpal
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
@@ -0,0 +1,7 @@
1
+ include LICENSE
2
+ include README.md
3
+ include requirements.txt
4
+
5
+ recursive-exclude * __pycache__
6
+ recursive-exclude * *.py[co]
7
+
geocif-0.0.1/PKG-INFO ADDED
@@ -0,0 +1,45 @@
1
+ Metadata-Version: 2.1
2
+ Name: geocif
3
+ Version: 0.0.1
4
+ Summary: Models to visualize and forecast crop conditions and yields
5
+ Home-page: https://github.com/ritviksahajpal/geocif
6
+ Author: Ritvik Sahajpal
7
+ Author-email: ritvik@umd.edu
8
+ License: MIT license
9
+ Keywords: geocif
10
+ Platform: UNKNOWN
11
+ Classifier: Development Status :: 2 - Pre-Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Natural Language :: English
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.7
17
+ Classifier: Programming Language :: Python :: 3.8
18
+ Classifier: Programming Language :: Python :: 3.9
19
+ Requires-Python: >=3.7
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+
23
+ # geocif
24
+
25
+
26
+ [![image](https://img.shields.io/pypi/v/geocif.svg)](https://pypi.python.org/pypi/geocif)
27
+ [![image](https://img.shields.io/conda/vn/conda-forge/geocif.svg)](https://anaconda.org/conda-forge/geocif)
28
+
29
+
30
+ **Models to visualize and forecast crop conditions and yields**
31
+
32
+
33
+ - Free software: MIT license
34
+ - Documentation: https://ritviksahajpal.github.io/geocif
35
+
36
+
37
+ ## Features
38
+
39
+ - TODO
40
+
41
+ ## Credits
42
+
43
+ This package was created with [Cookiecutter](https://github.com/cookiecutter/cookiecutter) and the [giswqs/pypackage](https://github.com/giswqs/pypackage) project template.
44
+
45
+
geocif-0.0.1/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # geocif
2
+
3
+
4
+ [![image](https://img.shields.io/pypi/v/geocif.svg)](https://pypi.python.org/pypi/geocif)
5
+ [![image](https://img.shields.io/conda/vn/conda-forge/geocif.svg)](https://anaconda.org/conda-forge/geocif)
6
+
7
+
8
+ **Models to visualize and forecast crop conditions and yields**
9
+
10
+
11
+ - Free software: MIT license
12
+ - Documentation: https://ritviksahajpal.github.io/geocif
13
+
14
+
15
+ ## Features
16
+
17
+ - TODO
18
+
19
+ ## Credits
20
+
21
+ This package was created with [Cookiecutter](https://github.com/cookiecutter/cookiecutter) and the [giswqs/pypackage](https://github.com/giswqs/pypackage) project template.
@@ -0,0 +1,11 @@
1
+ # Changelog
2
+
3
+ ## v0.0.1 - Date
4
+
5
+ **Improvement**:
6
+
7
+ - TBD
8
+
9
+ **New Features**:
10
+
11
+ - TBD
@@ -0,0 +1,108 @@
1
+ # Contributing
2
+
3
+ Contributions are welcome, and they are greatly appreciated! Every
4
+ little bit helps, and credit will always be given.
5
+
6
+ You can contribute in many ways:
7
+
8
+ ## Types of Contributions
9
+
10
+ ### Report Bugs
11
+
12
+ Report bugs at <https://github.com/ritviksahajpal/geocif/issues>.
13
+
14
+ If you are reporting a bug, please include:
15
+
16
+ - Your operating system name and version.
17
+ - Any details about your local setup that might be helpful in troubleshooting.
18
+ - Detailed steps to reproduce the bug.
19
+
20
+ ### Fix Bugs
21
+
22
+ Look through the GitHub issues for bugs. Anything tagged with `bug` and
23
+ `help wanted` is open to whoever wants to implement it.
24
+
25
+ ### Implement Features
26
+
27
+ Look through the GitHub issues for features. Anything tagged with
28
+ `enhancement` and `help wanted` is open to whoever wants to implement it.
29
+
30
+ ### Write Documentation
31
+
32
+ geocif could always use more documentation,
33
+ whether as part of the official geocif docs,
34
+ in docstrings, or even on the web in blog posts, articles, and such.
35
+
36
+ ### Submit Feedback
37
+
38
+ The best way to send feedback is to file an issue at
39
+ <https://github.com/ritviksahajpal/geocif/issues>.
40
+
41
+ If you are proposing a feature:
42
+
43
+ - Explain in detail how it would work.
44
+ - Keep the scope as narrow as possible, to make it easier to implement.
45
+ - Remember that this is a volunteer-driven project, and that contributions are welcome :)
46
+
47
+ ## Get Started!
48
+
49
+ Ready to contribute? Here's how to set up geocif for local development.
50
+
51
+ 1. Fork the geocif repo on GitHub.
52
+
53
+ 2. Clone your fork locally:
54
+
55
+ ```shell
56
+ $ git clone git@github.com:your_name_here/geocif.git
57
+ ```
58
+
59
+ 3. Install your local copy into a virtualenv. Assuming you have
60
+ virtualenvwrapper installed, this is how you set up your fork for
61
+ local development:
62
+
63
+ ```shell
64
+ $ mkvirtualenv geocif
65
+ $ cd geocif/
66
+ $ python setup.py develop
67
+ ```
68
+
69
+ 4. Create a branch for local development:
70
+
71
+ ```shell
72
+ $ git checkout -b name-of-your-bugfix-or-feature
73
+ ```
74
+
75
+ Now you can make your changes locally.
76
+
77
+ 5. When you're done making changes, check that your changes pass flake8
78
+ and the tests, including testing other Python versions with tox:
79
+
80
+ ```shell
81
+ $ flake8 geocif tests
82
+ $ python setup.py test or pytest
83
+ $ tox
84
+ ```
85
+
86
+ To get flake8 and tox, just pip install them into your virtualenv.
87
+
88
+ 6. Commit your changes and push your branch to GitHub:
89
+
90
+ ```shell
91
+ $ git add .
92
+ $ git commit -m "Your detailed description of your changes."
93
+ $ git push origin name-of-your-bugfix-or-feature
94
+ ```
95
+
96
+ 7. Submit a pull request through the GitHub website.
97
+
98
+ ## Pull Request Guidelines
99
+
100
+ Before you submit a pull request, check that it meets these guidelines:
101
+
102
+ 1. The pull request should include tests.
103
+ 2. If the pull request adds functionality, the docs should be updated.
104
+ Put your new functionality into a function with a docstring, and add
105
+ the feature to the list in README.rst.
106
+ 3. The pull request should work for Python 3.5, 3.6, 3.7 and 3.8, and
107
+ for PyPy. Check <https://github.com/ritviksahajpal/geocif/pull_requests> and make sure that the tests pass for all
108
+ supported Python versions.
@@ -0,0 +1 @@
1
+ # FAQ
@@ -0,0 +1,4 @@
1
+
2
+ # geocif module
3
+
4
+ ::: geocif.geocif
@@ -0,0 +1,20 @@
1
+ # Welcome to geocif
2
+
3
+
4
+ [![image](https://img.shields.io/pypi/v/geocif.svg)](https://pypi.python.org/pypi/geocif)
5
+
6
+
7
+ **Models to visualize and forecast crop conditions and yields**
8
+
9
+
10
+ - Free software: MIT license
11
+ - Documentation: <https://ritviksahajpal.github.io/geocif>
12
+
13
+
14
+ ## Features
15
+
16
+ - TODO
17
+
18
+ ## Credits
19
+
20
+ This package was created with [Cookiecutter](https://github.com/cookiecutter/cookiecutter) and the [giswqs/pypackage](https://github.com/giswqs/pypackage) project template.
@@ -0,0 +1,23 @@
1
+ # Installation
2
+
3
+ ## Stable release
4
+
5
+ To install geocif, run this command in your terminal:
6
+
7
+ ```
8
+ pip install geocif
9
+ ```
10
+
11
+ This is the preferred method to install geocif, as it will always install the most recent stable release.
12
+
13
+ If you don't have [pip](https://pip.pypa.io) installed, this [Python installation guide](http://docs.python-guide.org/en/latest/starting/installation/) can guide you through the process.
14
+
15
+ ## From sources
16
+
17
+ The sources for geocif can be downloaded from the Github repo.
18
+
19
+ You can clone the public repository:
20
+
21
+ ```
22
+ git clone git://github.com/ritviksahajpal/geocif
23
+ ```
@@ -0,0 +1,11 @@
1
+ {% extends "base.html" %}
2
+
3
+ {% block content %}
4
+ {% if page.nb_url %}
5
+ <a href="{{ page.nb_url }}" title="Download Notebook" class="md-content__button md-icon">
6
+ {% include ".icons/material/download.svg" %}
7
+ </a>
8
+ {% endif %}
9
+
10
+ {{ super() }}
11
+ {% endblock content %}
@@ -0,0 +1,7 @@
1
+ # Usage
2
+
3
+ To use geocif in a project:
4
+
5
+ ```
6
+ import geocif
7
+ ```
@@ -0,0 +1,9 @@
1
+ """Top-level package for geocif."""
2
+
3
+ __author__ = """Ritvik Sahajpal"""
4
+ __email__ = 'ritvik@umd.edu'
5
+ __version__ = '0.0.1'
6
+
7
+ import os
8
+ import sys
9
+ sys.path.append(os.path.dirname(os.path.realpath(__file__)))
@@ -0,0 +1,4 @@
1
+ import os
2
+
3
+ if __name__ == '__main__':
4
+ pass
@@ -0,0 +1,29 @@
1
+ [kenya]
2
+ crops = ['mz']
3
+ seasons = [1]
4
+ scales = ['admin_1'] ; can be admin_1 (state level) or admin_2 (county level)
5
+
6
+ [AGMET]
7
+ eo_plot = ['ndvi', 'cpc_tmax', 'cpc_tmin', 'chirps', 'esi_4wk', 'soil_moisture_as1', 'soil_moisture_as2']
8
+
9
+ [ML]
10
+ lag_area_as_feature = True
11
+ location_as_feature = True
12
+ models = ['merf']
13
+
14
+ [MLOPS]
15
+ neptune_username = ritvik
16
+ neptune_project = geocif
17
+
18
+ [METADATA]
19
+ logo_harvest = harvest.png
20
+ logo_geoglam = geoglam.png
21
+
22
+ [DEFAULT]
23
+ countries = ['kenya']
24
+ forecast_seasons = [2022]
25
+ plot_seasons = [2022]
26
+ models = ['merf']
27
+ eo_plot = ['ndvi', 'cumulative_precip', 'soil_moisture_as1', 'yearly_ndvi', 'daily_precip', 'soil_moisture_as2', 'esi_4wk', 'cpc_tmax']
28
+ eo_model = ['ndvi', 'cpc_tmax', 'cpc_tmin', 'chirps', 'esi_4wk', 'soil_moisture_as1', 'soil_moisture_as2']
29
+
@@ -0,0 +1 @@
1
+ DPI = 250
@@ -0,0 +1,6 @@
1
+ import os
2
+ import pdb
3
+
4
+
5
+ if __name__ == '__main__':
6
+ pass