Skip to content

Commit

Permalink
Added executor_kwargs parameter, removed extra space from raw_indexin…
Browse files Browse the repository at this point in the history
…g_method and updated docstrings
  • Loading branch information
alhridoy committed Oct 15, 2023
2 parents 4cd311d + e643352 commit ec80d19
Show file tree
Hide file tree
Showing 6 changed files with 466 additions and 145 deletions.
95 changes: 95 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Publish to PyPi

on:
release:
types: [published]

jobs:
build-artifacts:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/[email protected]
with:
python-version: 3.9

- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install setuptools setuptools-scm wheel twine check-manifest
- name: Build tarball and wheels
run: |
git clean -xdf
git restore -SW .
python -m build --sdist --wheel .
- name: Check built artifacts
run: |
python -m twine check dist/*
pwd
- uses: actions/upload-artifact@v2
with:
name: releases
path: dist

test-built-dist:
needs: build-artifacts
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
name: Install Python
with:
python-version: 3.9
- uses: actions/download-artifact@v2
with:
name: releases
path: dist
- name: List contents of built dist
run: |
ls -ltrh
ls -ltrh dist
- name: Publish package to TestPyPI
if: github.event_name == 'push'
uses: pypa/[email protected]
with:
user: __token__
password: ${{ secrets.TESTPYPI_TOKEN }}
repository_url: https://test.pypi.org/legacy/
verbose: true

- name: Check uploaded package
if: github.event_name == 'push'
run: |
sleep 3
python -m pip install --upgrade pip
python -m pip install --extra-index-url https://test.pypi.org/simple --upgrade xee
python -c "import xee; print(xee.__version__)"
upload-to-pypi:
needs: test-built-dist
if: github.event_name == 'release'
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v2
with:
name: releases
path: dist
- name: Publish package to PyPI
uses: pypa/[email protected]
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}
verbose: true
29 changes: 24 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,27 @@
# Xee: Xarray + Google Earth Engine

![Xee Logo](docs/xee-logo.png)
![Xee Logo](https://raw.githubusercontent.com/google/Xee/main/docs/xee-logo.png)

_An Xarray extension for Google Earth Engine._

[![image](https://img.shields.io/pypi/v/xee.svg)](https://pypi.python.org/pypi/xee)
[![image](https://static.pepy.tech/badge/xee)](https://pepy.tech/project/xee)
[![Conda Recipe](https://img.shields.io/badge/recipe-xee-green.svg)](https://github.com/conda-forge/xee-feedstock)
[![image](https://img.shields.io/conda/vn/conda-forge/xee.svg)](https://anaconda.org/conda-forge/xee)
[![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/xee.svg)](https://anaconda.org/conda-forge/xee)

## How to use

Install with pip (distributions on PyPi will come soon):
Install with pip:

```shell
pip install --upgrade xee
```

Install with conda:

```shell
pip install git+https://github.com/google/xee.git
conda install -c conda-forge xee
```

Then, authenticate Earth Engine:
Expand All @@ -18,6 +30,13 @@ Then, authenticate Earth Engine:
earthengine authenticate --quiet
```

Now, in your Python environment, make the following imports:

```python
import ee
import xarray
```

Next, initialize the EE client with the high volume API:

```python
Expand Down Expand Up @@ -47,7 +66,7 @@ ds = xarray.open_dataset(ic, engine='ee', crs='EPSG:4326', scale=0.25)
Open an ImageCollection with a specific EE projection or geometry:

```python
ic = ee.ImageCollection('ee://ECMWF/ERA5_LAND/HOURLY').filterDate('1992-10-05', '1993-03-31')
ic = ee.ImageCollection('ECMWF/ERA5_LAND/HOURLY').filterDate('1992-10-05', '1993-03-31')
leg1 = ee.Geometry.Rectangle(113.33, -43.63, 153.56, -10.66)
ds = xarray.open_dataset(
ic,
Expand Down Expand Up @@ -84,4 +103,4 @@ distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```
```
29 changes: 25 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,19 +39,40 @@

setuptools.setup(
name='xee',
version='0.0.0',
version='0.0.1',
license='Apache 2.0',
author='Google LLC',
author_email='[email protected]',
install_requires=['xarray', 'earthengine-api', 'pyproj', 'affine'],
description='A Google Earth Engine extension for Xarray.',
long_description=open('README.md', 'r', encoding='utf-8').read(),
long_description_content_type='text/markdown',
install_requires=['xarray', 'earthengine-api>=0.1.374', 'pyproj', 'affine'],
extras_require={
'tests': tests_requires,
'examples': examples_require,
},
url='https://github.com/google/xee',
packages=setuptools.find_packages(exclude=['examples']),
python_requires='>=3.8',
python_requires='>=3.9',
entry_points={
'xarray.backends': ['ee=xee:EarthEngineBackendEntrypoint'],
}
},
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Science/Research',
'Intended Audience :: Developers',
'Intended Audience :: Information Technology',
'License :: OSI Approved :: Apache Software License',
'Operating System :: MacOS :: MacOS X',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Topic :: Scientific/Engineering :: Atmospheric Science',

],
project_urls={
'Issue Tracking': 'https://github.com/google/Xee/issues',
},
)
Loading

0 comments on commit ec80d19

Please sign in to comment.