agrigee-lite 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.
- agrigee_lite-0.0.1/.devcontainer/devcontainer.json +28 -0
- agrigee_lite-0.0.1/.devcontainer/postCreateCommand.sh +10 -0
- agrigee_lite-0.0.1/.github/actions/setup-python-env/action.yml +30 -0
- agrigee_lite-0.0.1/.github/workflows/main.yml +67 -0
- agrigee_lite-0.0.1/.github/workflows/on-release-main.yml +66 -0
- agrigee_lite-0.0.1/.github/workflows/validate-codecov-config.yml +15 -0
- agrigee_lite-0.0.1/.gitignore +150 -0
- agrigee_lite-0.0.1/.pre-commit-config.yaml +22 -0
- agrigee_lite-0.0.1/1000_agricultural_fields.csv +19760 -0
- agrigee_lite-0.0.1/500_agricultural_fields.csv +27242 -0
- agrigee_lite-0.0.1/Dockerfile +21 -0
- agrigee_lite-0.0.1/Makefile +54 -0
- agrigee_lite-0.0.1/PKG-INFO +28 -0
- agrigee_lite-0.0.1/README.md +1 -0
- agrigee_lite-0.0.1/Requisites.md +46 -0
- agrigee_lite-0.0.1/agrigee_lite/__init__.py +3 -0
- agrigee_lite-0.0.1/agrigee_lite/constants.py +16 -0
- agrigee_lite-0.0.1/agrigee_lite/ee_utils.py +164 -0
- agrigee_lite-0.0.1/agrigee_lite/get/__init__.py +10 -0
- agrigee_lite-0.0.1/agrigee_lite/get/image.py +94 -0
- agrigee_lite-0.0.1/agrigee_lite/get/sits.py +306 -0
- agrigee_lite-0.0.1/agrigee_lite/misc.py +105 -0
- agrigee_lite-0.0.1/agrigee_lite/sat/__init__.py +1 -0
- agrigee_lite-0.0.1/agrigee_lite/sat/abstract_satellite.py +18 -0
- agrigee_lite-0.0.1/agrigee_lite/sat/sentinel.py +89 -0
- agrigee_lite-0.0.1/agrigee_lite/task_manager.py +14 -0
- agrigee_lite-0.0.1/agrigee_lite/vis/__init__.py +0 -0
- agrigee_lite-0.0.1/codecov.yaml +9 -0
- agrigee_lite-0.0.1/corn_129.pdf +0 -0
- agrigee_lite-0.0.1/corn_159.pdf +0 -0
- agrigee_lite-0.0.1/corn_189.pdf +0 -0
- agrigee_lite-0.0.1/corn_249.pdf +0 -0
- agrigee_lite-0.0.1/corn_314.pdf +0 -0
- agrigee_lite-0.0.1/corn_evi2.pdf +0 -0
- agrigee_lite-0.0.1/docs/index.md +8 -0
- agrigee_lite-0.0.1/docs/modules.md +3 -0
- agrigee_lite-0.0.1/mkdocs.yml +52 -0
- agrigee_lite-0.0.1/notebooks/main.ipynb +1153 -0
- agrigee_lite-0.0.1/notebooks/testing_agl.html +8550 -0
- agrigee_lite-0.0.1/pyproject.toml +134 -0
- agrigee_lite-0.0.1/requirements.dev +93 -0
- agrigee_lite-0.0.1/tests/test_ee.py +6 -0
- agrigee_lite-0.0.1/tox.ini +19 -0
- agrigee_lite-0.0.1/uv.lock +2551 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
|
|
2
|
+
// README at: https://github.com/devcontainers/templates/tree/main/src/python
|
|
3
|
+
{
|
|
4
|
+
"name": "agrigee_lite",
|
|
5
|
+
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
|
|
6
|
+
"image": "mcr.microsoft.com/devcontainers/python:1-3.11-bullseye",
|
|
7
|
+
"features": {},
|
|
8
|
+
// Use 'postCreateCommand' to run commands after the container is created.
|
|
9
|
+
"postCreateCommand": "./.devcontainer/postCreateCommand.sh",
|
|
10
|
+
// Configure tool-specific properties.
|
|
11
|
+
"customizations": {
|
|
12
|
+
"vscode": {
|
|
13
|
+
"extensions": [
|
|
14
|
+
"ms-python.python",
|
|
15
|
+
"editorconfig.editorconfig"
|
|
16
|
+
],
|
|
17
|
+
"settings": {
|
|
18
|
+
"python.testing.pytestArgs": [
|
|
19
|
+
"tests"
|
|
20
|
+
],
|
|
21
|
+
"python.testing.unittestEnabled": false,
|
|
22
|
+
"python.testing.pytestEnabled": true,
|
|
23
|
+
"python.defaultInterpreterPath": "/workspaces/agrigee_lite/.venv/bin/python",
|
|
24
|
+
"python.testing.pytestPath": "/workspaces/agrigee_lite/.venv/bin/pytest"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: "Setup Python Environment"
|
|
2
|
+
description: "Set up Python environment for the given Python version"
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
python-version:
|
|
6
|
+
description: "Python version to use"
|
|
7
|
+
required: true
|
|
8
|
+
default: "3.12"
|
|
9
|
+
uv-version:
|
|
10
|
+
description: "uv version to use"
|
|
11
|
+
required: true
|
|
12
|
+
default: "0.5.20"
|
|
13
|
+
|
|
14
|
+
runs:
|
|
15
|
+
using: "composite"
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/setup-python@v5
|
|
18
|
+
with:
|
|
19
|
+
python-version: ${{ inputs.python-version }}
|
|
20
|
+
|
|
21
|
+
- name: Install uv
|
|
22
|
+
uses: astral-sh/setup-uv@v2
|
|
23
|
+
with:
|
|
24
|
+
version: ${{ inputs.uv-version }}
|
|
25
|
+
enable-cache: 'true'
|
|
26
|
+
cache-suffix: ${{ matrix.python-version }}
|
|
27
|
+
|
|
28
|
+
- name: Install Python dependencies
|
|
29
|
+
run: uv sync --frozen
|
|
30
|
+
shell: bash
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
name: Main
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request:
|
|
8
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
quality:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- name: Check out
|
|
15
|
+
uses: actions/checkout@v4
|
|
16
|
+
|
|
17
|
+
- uses: actions/cache@v4
|
|
18
|
+
with:
|
|
19
|
+
path: ~/.cache/pre-commit
|
|
20
|
+
key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
|
|
21
|
+
|
|
22
|
+
- name: Set up the environment
|
|
23
|
+
uses: ./.github/actions/setup-python-env
|
|
24
|
+
|
|
25
|
+
- name: Run checks
|
|
26
|
+
run: make check
|
|
27
|
+
|
|
28
|
+
tests-and-type-check:
|
|
29
|
+
runs-on: ubuntu-latest
|
|
30
|
+
strategy:
|
|
31
|
+
matrix:
|
|
32
|
+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
|
|
33
|
+
fail-fast: false
|
|
34
|
+
defaults:
|
|
35
|
+
run:
|
|
36
|
+
shell: bash
|
|
37
|
+
steps:
|
|
38
|
+
- name: Check out
|
|
39
|
+
uses: actions/checkout@v4
|
|
40
|
+
|
|
41
|
+
- name: Set up the environment
|
|
42
|
+
uses: ./.github/actions/setup-python-env
|
|
43
|
+
with:
|
|
44
|
+
python-version: ${{ matrix.python-version }}
|
|
45
|
+
|
|
46
|
+
- name: Run tests
|
|
47
|
+
run: uv run python -m pytest tests --cov --cov-config=pyproject.toml --cov-report=xml
|
|
48
|
+
|
|
49
|
+
- name: Check typing
|
|
50
|
+
run: uv run mypy
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
- name: Upload coverage reports to Codecov with GitHub Action on Python 3.11
|
|
54
|
+
uses: codecov/codecov-action@v4
|
|
55
|
+
if: ${{ matrix.python-version == '3.11' }}
|
|
56
|
+
|
|
57
|
+
check-docs:
|
|
58
|
+
runs-on: ubuntu-latest
|
|
59
|
+
steps:
|
|
60
|
+
- name: Check out
|
|
61
|
+
uses: actions/checkout@v4
|
|
62
|
+
|
|
63
|
+
- name: Set up the environment
|
|
64
|
+
uses: ./.github/actions/setup-python-env
|
|
65
|
+
|
|
66
|
+
- name: Check if documentation can be built
|
|
67
|
+
run: uv run mkdocs build -s
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
name: release-main
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
|
|
9
|
+
set-version:
|
|
10
|
+
runs-on: ubuntu-24.04
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v4
|
|
13
|
+
|
|
14
|
+
- name: Export tag
|
|
15
|
+
id: vars
|
|
16
|
+
run: echo tag=${GITHUB_REF#refs/*/} >> $GITHUB_OUTPUT
|
|
17
|
+
if: ${{ github.event_name == 'release' }}
|
|
18
|
+
|
|
19
|
+
- name: Update project version
|
|
20
|
+
run: |
|
|
21
|
+
sed -i "s/^version = \".*\"/version = \"$RELEASE_VERSION\"/" pyproject.toml
|
|
22
|
+
env:
|
|
23
|
+
RELEASE_VERSION: ${{ steps.vars.outputs.tag }}
|
|
24
|
+
if: ${{ github.event_name == 'release' }}
|
|
25
|
+
|
|
26
|
+
- name: Upload updated pyproject.toml
|
|
27
|
+
uses: actions/upload-artifact@v4
|
|
28
|
+
with:
|
|
29
|
+
name: pyproject-toml
|
|
30
|
+
path: pyproject.toml
|
|
31
|
+
|
|
32
|
+
publish:
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
needs: [set-version]
|
|
35
|
+
steps:
|
|
36
|
+
- name: Check out
|
|
37
|
+
uses: actions/checkout@v4
|
|
38
|
+
|
|
39
|
+
- name: Set up the environment
|
|
40
|
+
uses: ./.github/actions/setup-python-env
|
|
41
|
+
|
|
42
|
+
- name: Download updated pyproject.toml
|
|
43
|
+
uses: actions/download-artifact@v4
|
|
44
|
+
with:
|
|
45
|
+
name: pyproject-toml
|
|
46
|
+
|
|
47
|
+
- name: Build package
|
|
48
|
+
run: uv build
|
|
49
|
+
|
|
50
|
+
- name: Publish package
|
|
51
|
+
run: uv publish
|
|
52
|
+
env:
|
|
53
|
+
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
|
54
|
+
|
|
55
|
+
deploy-docs:
|
|
56
|
+
needs: publish
|
|
57
|
+
runs-on: ubuntu-latest
|
|
58
|
+
steps:
|
|
59
|
+
- name: Check out
|
|
60
|
+
uses: actions/checkout@v4
|
|
61
|
+
|
|
62
|
+
- name: Set up the environment
|
|
63
|
+
uses: ./.github/actions/setup-python-env
|
|
64
|
+
|
|
65
|
+
- name: Deploy documentation
|
|
66
|
+
run: uv run mkdocs gh-deploy --force
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
name: validate-codecov-config
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
paths: [codecov.yaml]
|
|
6
|
+
push:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
validate-codecov-config:
|
|
11
|
+
runs-on: ubuntu-22.04
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- name: Validate codecov configuration
|
|
15
|
+
run: curl -sSL --fail-with-body --data-binary @codecov.yaml https://codecov.io/validate
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
docs/source
|
|
2
|
+
|
|
3
|
+
# From https://raw.githubusercontent.com/github/gitignore/main/Python.gitignore
|
|
4
|
+
|
|
5
|
+
# Byte-compiled / optimized / DLL files
|
|
6
|
+
__pycache__/
|
|
7
|
+
*.py[cod]
|
|
8
|
+
*$py.class
|
|
9
|
+
|
|
10
|
+
# C extensions
|
|
11
|
+
*.so
|
|
12
|
+
|
|
13
|
+
# Distribution / packaging
|
|
14
|
+
.Python
|
|
15
|
+
build/
|
|
16
|
+
develop-eggs/
|
|
17
|
+
dist/
|
|
18
|
+
downloads/
|
|
19
|
+
eggs/
|
|
20
|
+
.eggs/
|
|
21
|
+
lib/
|
|
22
|
+
lib64/
|
|
23
|
+
parts/
|
|
24
|
+
sdist/
|
|
25
|
+
var/
|
|
26
|
+
wheels/
|
|
27
|
+
share/python-wheels/
|
|
28
|
+
*.egg-info/
|
|
29
|
+
.installed.cfg
|
|
30
|
+
*.egg
|
|
31
|
+
MANIFEST
|
|
32
|
+
|
|
33
|
+
# PyInstaller
|
|
34
|
+
# Usually these files are written by a python script from a template
|
|
35
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
36
|
+
*.manifest
|
|
37
|
+
*.spec
|
|
38
|
+
|
|
39
|
+
# Installer logs
|
|
40
|
+
pip-log.txt
|
|
41
|
+
pip-delete-this-directory.txt
|
|
42
|
+
|
|
43
|
+
# Unit test / coverage reports
|
|
44
|
+
htmlcov/
|
|
45
|
+
.tox/
|
|
46
|
+
.nox/
|
|
47
|
+
.coverage
|
|
48
|
+
.coverage.*
|
|
49
|
+
.cache
|
|
50
|
+
nosetests.xml
|
|
51
|
+
coverage.xml
|
|
52
|
+
*.cover
|
|
53
|
+
*.py,cover
|
|
54
|
+
.hypothesis/
|
|
55
|
+
.pytest_cache/
|
|
56
|
+
cover/
|
|
57
|
+
|
|
58
|
+
# Translations
|
|
59
|
+
*.mo
|
|
60
|
+
*.pot
|
|
61
|
+
|
|
62
|
+
# Django stuff:
|
|
63
|
+
*.log
|
|
64
|
+
local_settings.py
|
|
65
|
+
db.sqlite3
|
|
66
|
+
db.sqlite3-journal
|
|
67
|
+
|
|
68
|
+
# Flask stuff:
|
|
69
|
+
instance/
|
|
70
|
+
.webassets-cache
|
|
71
|
+
|
|
72
|
+
# Scrapy stuff:
|
|
73
|
+
.scrapy
|
|
74
|
+
|
|
75
|
+
# Sphinx documentation
|
|
76
|
+
docs/_build/
|
|
77
|
+
|
|
78
|
+
# PyBuilder
|
|
79
|
+
.pybuilder/
|
|
80
|
+
target/
|
|
81
|
+
|
|
82
|
+
# Jupyter Notebook
|
|
83
|
+
.ipynb_checkpoints
|
|
84
|
+
|
|
85
|
+
# IPython
|
|
86
|
+
profile_default/
|
|
87
|
+
ipython_config.py
|
|
88
|
+
|
|
89
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
90
|
+
__pypackages__/
|
|
91
|
+
|
|
92
|
+
# Celery stuff
|
|
93
|
+
celerybeat-schedule
|
|
94
|
+
celerybeat.pid
|
|
95
|
+
|
|
96
|
+
# SageMath parsed files
|
|
97
|
+
*.sage.py
|
|
98
|
+
|
|
99
|
+
# Environments
|
|
100
|
+
.env
|
|
101
|
+
.venv
|
|
102
|
+
env/
|
|
103
|
+
venv/
|
|
104
|
+
ENV/
|
|
105
|
+
env.bak/
|
|
106
|
+
venv.bak/
|
|
107
|
+
|
|
108
|
+
# Spyder project settings
|
|
109
|
+
.spyderproject
|
|
110
|
+
.spyproject
|
|
111
|
+
|
|
112
|
+
# Rope project settings
|
|
113
|
+
.ropeproject
|
|
114
|
+
|
|
115
|
+
# mkdocs documentation
|
|
116
|
+
/site
|
|
117
|
+
|
|
118
|
+
# mypy
|
|
119
|
+
.mypy_cache/
|
|
120
|
+
.dmypy.json
|
|
121
|
+
dmypy.json
|
|
122
|
+
|
|
123
|
+
# Pyre type checker
|
|
124
|
+
.pyre/
|
|
125
|
+
|
|
126
|
+
# pytype static type analyzer
|
|
127
|
+
.pytype/
|
|
128
|
+
|
|
129
|
+
# Cython debug symbols
|
|
130
|
+
cython_debug/
|
|
131
|
+
|
|
132
|
+
# Vscode config files
|
|
133
|
+
.vscode/
|
|
134
|
+
|
|
135
|
+
# PyCharm
|
|
136
|
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
137
|
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
138
|
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
139
|
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
140
|
+
#.idea/
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
# Specific OS junk files
|
|
145
|
+
*.DS_Store
|
|
146
|
+
core.*
|
|
147
|
+
*:Zone.Identifier
|
|
148
|
+
|
|
149
|
+
*.parquet
|
|
150
|
+
*.npz
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
+
rev: "v5.0.0"
|
|
4
|
+
hooks:
|
|
5
|
+
- id: check-case-conflict
|
|
6
|
+
- id: check-merge-conflict
|
|
7
|
+
- id: check-toml
|
|
8
|
+
- id: check-yaml
|
|
9
|
+
- id: check-json
|
|
10
|
+
exclude: ^.devcontainer/devcontainer.json
|
|
11
|
+
- id: pretty-format-json
|
|
12
|
+
exclude: ^.devcontainer/devcontainer.json
|
|
13
|
+
args: [--autofix]
|
|
14
|
+
- id: end-of-file-fixer
|
|
15
|
+
- id: trailing-whitespace
|
|
16
|
+
|
|
17
|
+
# - repo: https://github.com/astral-sh/ruff-pre-commit
|
|
18
|
+
# rev: "v0.6.3"
|
|
19
|
+
# hooks:
|
|
20
|
+
# - id: ruff
|
|
21
|
+
# args: [--exit-non-zero-on-fix]
|
|
22
|
+
# - id: ruff-format
|