diff --git a/.github/workflows/publish_on_testpypi.yaml b/.github/workflows/publish_client_on_testpypi.yaml similarity index 90% rename from .github/workflows/publish_on_testpypi.yaml rename to .github/workflows/publish_client_on_testpypi.yaml index 7adc736..8bc733a 100644 --- a/.github/workflows/publish_on_testpypi.yaml +++ b/.github/workflows/publish_client_on_testpypi.yaml @@ -12,7 +12,8 @@ jobs: python-version: ["3.11"] os: [ubuntu-latest] permissions: - id-token: write + contents: read + id-token: write runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 @@ -30,4 +31,4 @@ jobs: uses: pypa/gh-action-pypi-publish@release/v1 with: packages-dir: ./client/dist - repository-url: https://test.pypi.org/legacy/ \ No newline at end of file + repository-url: https://test.pypi.org/legacy/ \ No newline at end of file diff --git a/.github/workflows/publish_drivers_on_testpypi.yaml b/.github/workflows/publish_drivers_on_testpypi.yaml new file mode 100644 index 0000000..db93ab7 --- /dev/null +++ b/.github/workflows/publish_drivers_on_testpypi.yaml @@ -0,0 +1,33 @@ +name: Build geolake drivers and publish to TestPyPi + +on: + pull_request: + types: [opened, synchronize] + workflow_dispatch: +jobs: + drivers-build-and-publish: + name: Build geolake drivers and publish to TestPyPI + strategy: + matrix: + python-version: ["3.11"] + os: [ubuntu-latest] + permissions: + id-token: write + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install build tool + working-directory: ./drivers + run: python3 -m pip install build --user . + - name: Build wheels + working-directory: ./drivers + run: python -m build --sdist --wheel --outdir=dist/ . + - name: Publish package distributions to TestPyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + packages-dir: ./drivers/dist + repository-url: https://test.pypi.org/legacy/ \ No newline at end of file diff --git a/drivers/Dockerfile b/drivers/Dockerfile index d14244a..34d4d84 100644 --- a/drivers/Dockerfile +++ b/drivers/Dockerfile @@ -3,6 +3,6 @@ ARG TAG=v0.2.6b2 FROM $REGISTRY/geokube:$TAG RUN conda install -c conda-forge --yes --freeze-installed intake=0.6.6 RUN conda clean -afy -COPY dist/intake_geokube-0.1a0-py3-none-any.whl / -RUN pip install /intake_geokube-0.1a0-py3-none-any.whl -RUN rm /intake_geokube-0.1a0-py3-none-any.whl +COPY dist/geolake_drivers-0.1.0b0-py3-none-any.whl / +RUN pip install /geolake_drivers-0.1.0b0-py3-none-any.whl +RUN rm /geolake_drivers-0.1.0b0-py3-none-any.whl diff --git a/drivers/intake_geokube/__init__.py b/drivers/geolake_drivers/__init__.py similarity index 100% rename from drivers/intake_geokube/__init__.py rename to drivers/geolake_drivers/__init__.py diff --git a/drivers/intake_geokube/_version.py b/drivers/geolake_drivers/_version.py similarity index 100% rename from drivers/intake_geokube/_version.py rename to drivers/geolake_drivers/_version.py diff --git a/drivers/intake_geokube/base.py b/drivers/geolake_drivers/base.py similarity index 100% rename from drivers/intake_geokube/base.py rename to drivers/geolake_drivers/base.py diff --git a/drivers/intake_geokube/geoquery.py b/drivers/geolake_drivers/geoquery.py similarity index 100% rename from drivers/intake_geokube/geoquery.py rename to drivers/geolake_drivers/geoquery.py diff --git a/drivers/intake_geokube/netcdf.py b/drivers/geolake_drivers/netcdf.py similarity index 100% rename from drivers/intake_geokube/netcdf.py rename to drivers/geolake_drivers/netcdf.py diff --git a/drivers/intake_geokube/sentinel.py b/drivers/geolake_drivers/sentinel.py similarity index 98% rename from drivers/intake_geokube/sentinel.py rename to drivers/geolake_drivers/sentinel.py index 4c6b612..f263ae3 100644 --- a/drivers/intake_geokube/sentinel.py +++ b/drivers/geolake_drivers/sentinel.py @@ -86,9 +86,9 @@ def _prepare_df_from_files(files: Iterable[str], pattern: str) -> pd.DataFrame: return pd.DataFrame(data) -class CMCCSentinelSource(GeokubeSource): - name = "cmcc_sentinel_geokube" - version = "0.0.1" +class SentinelSource(GeokubeSource): + name = "sentinel" + version = "0.1.0" def __init__( self, diff --git a/drivers/intake_geokube/wrf.py b/drivers/geolake_drivers/wrf.py similarity index 97% rename from drivers/intake_geokube/wrf.py rename to drivers/geolake_drivers/wrf.py index 196ff68..21d2f51 100644 --- a/drivers/intake_geokube/wrf.py +++ b/drivers/geolake_drivers/wrf.py @@ -106,8 +106,8 @@ def preprocess_wrf(dset: xr.Dataset, **kwargs) -> xr.Dataset: return dset -class CMCCWRFSource(GeokubeSource): - name = "cmcc_wrf_geokube" +class WRFSource(GeokubeSource): + name = "wrf" def __init__( self, @@ -143,7 +143,7 @@ def __init__( variables_to_skip=variables_to_skip, ) # self.xarray_kwargs.update({'engine' : 'netcdf'}) - super(CMCCWRFSource, self).__init__(metadata=metadata, **kwargs) + super(WRFSource, self).__init__(metadata=metadata, **kwargs) def _open_dataset(self): if self.pattern is None: diff --git a/drivers/setup.py b/drivers/setup.py index 7723f8b..0daa8e7 100644 --- a/drivers/setup.py +++ b/drivers/setup.py @@ -4,32 +4,32 @@ long_description = f.read() setuptools.setup( - name="intake-geokube", - version="0.1a0", - author="CMCC Foundation - PPOS Research Group", - author_email="ppos-services@cmcc.it", - description="Geokube driver for Intake.", + name="geolake-drivers", + version="0.1.0b0", + author="geolake Contributors", + author_email="geolake@googlegroups.com", + description="intake-based drivers for geolake", long_description=long_description, long_description_content_type="text/markdown", - url="https://github.com/geokube/intake-geokube", + url="https://github.com/CMCC-Foundation/geolake/drivers", packages=setuptools.find_packages(), install_requires=["intake", "pytest", "pydantic<2.0.0"], entry_points={ "intake.drivers": [ - "geokube_netcdf = intake_geokube.netcdf:NetCDFSource", - "cmcc_wrf_geokube = intake_geokube.wrf:CMCCWRFSource", - "cmcc_sentinel_geokube = intake_geokube.sentinel:CMCCSentinelSource" + "netcdf = geolake_drivers.netcdf:NetCDFSource", + "wrf = geolake_drivers.wrf:WRFSource", + "sentinel = geolake_drivers.sentinel:SentinelSource" ] }, classifiers=[ - "Development Status :: 3 - Alpha", + "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", - "Topic :: Scientific/Engineering :: Atmospheric Science", + "Topic :: Scientific/Engineering", ], python_requires=">=3.8", license="Apache License, Version 2.0",