diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml new file mode 100644 index 000000000..bf8fa0a14 --- /dev/null +++ b/.github/workflows/publish-to-pypi.yml @@ -0,0 +1,62 @@ +name: Publish to PyPi +on: push + +jobs: + build-artifacts: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: 3.11 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install --upgrade build twine + - name: Build package + run: python -m build ./python + - name: Check built artifacts + run: | + python -m twine check ./python/dist/* + - uses: actions/upload-artifact@v2 + with: + name: releases + path: ./python/dist + + test-pypi-upload: + needs: build-artifacts + runs-on: ubuntu-latest + steps: + - uses: actions/setup-python@v3 + name: Install Python + with: + python-version: 3.11 + - uses: actions/download-artifact@v2 + with: + name: releases + path: dist + - name: Publish package to TestPyPI + if: github.event_name == 'push' + uses: pypa/gh-action-pypi-publish@v1.8.13 + with: + user: __token__ + password: ${{ secrets.TEST_PYPI_API_TOKEN }} + repository_url: https://test.pypi.org/legacy/ + verbose: true + + check-test-pypi-package: + needs: test-pypi-upload + runs-on: ubuntu-latest + steps: + - uses: actions/setup-python@v3 + name: Install Python + with: + python-version: 3.11 + - name: Check uploaded package + if: github.event_name == 'push' + run: | + sleep 3 # To account for PyPi publish delay. + python -m pip install --upgrade pip + python -m pip install --extra-index-url https://test.pypi.org/simple --upgrade earthengine-api + python -c "import ee; print(ee.__version__)" diff --git a/python/pyproject.toml b/python/pyproject.toml index 13c5b9dfc..a2618d208 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -2,6 +2,7 @@ name = "earthengine-api" version = "0.1.404" description = "Earth Engine Python API" +readme = "README.md" requires-python = ">=3.7" keywords = [ "earth engine",