Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add recipe for google-weather-tools #20892

Open
wants to merge 32 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
14a3a1a
Add recipe for Google Cloud Storage SDK 2.2.1
blackvvine Oct 24, 2022
a92b905
Merge branch 'main' of https://github.com/conda-forge/staged-recipes
blackvvine Oct 24, 2022
348c504
Fix missing space in GCS SDK 2.2.1 recipe
blackvvine Oct 24, 2022
ed2c25d
Add recipe for google-weather-tools
blackvvine Oct 25, 2022
88926bf
Fix space between package name and version
blackvvine Oct 25, 2022
1939788
Remove pytype from google-weather-tools
blackvvine Oct 25, 2022
c947a12
Merge branch 'main' of https://github.com/conda-forge/staged-recipes …
blackvvine Oct 27, 2022
cc90c7a
Update build-time dependencies for google-weather-tools
blackvvine Oct 27, 2022
66e7210
Update build-time dependencies for google-weather-tools
blackvvine Oct 27, 2022
cc919c6
Pin package versions for google-weather-tools
blackvvine Oct 27, 2022
7784171
Pin package versions for google-weather-tools
blackvvine Oct 27, 2022
c67a7a3
Fix whitespace in google-weather-tools dependencies
blackvvine Oct 31, 2022
6e73413
Merge branch 'main' of github.com:blackvvine/google-weathertools-stag…
blackvvine Nov 4, 2022
53d69f5
Fix run, host and build dependencies for google-weather-tools
blackvvine Nov 24, 2022
3ad72e2
Merge branch 'main' of https://github.com/conda-forge/staged-recipes …
blackvvine Nov 24, 2022
2b78240
Fix run, host and build dependencies for google-weather-tools
blackvvine Nov 24, 2022
aa7111a
Remove unused recipe
blackvvine Nov 24, 2022
2001eba
Remove commented configs
blackvvine Nov 24, 2022
7bec93a
Fix lint issues
blackvvine Nov 24, 2022
2385d11
Merge branch 'main' of https://github.com/conda-forge/staged-recipes …
blackvvine Dec 12, 2022
f7c5732
Remove custom actions for google-weather-tools
blackvvine Dec 12, 2022
5d9b764
Update rev for google-weather-tools
blackvvine Dec 12, 2022
e51ec7e
Skip windows build
blackvvine Dec 12, 2022
2331c53
Fix lint
blackvvine Dec 12, 2022
6988bb3
Fix lint
blackvvine Dec 12, 2022
7833075
Remove noarch and skip windows tests
blackvvine Dec 12, 2022
a67656e
Merge branch 'main' of https://github.com/conda-forge/staged-recipes …
blackvvine Jan 5, 2023
e50573b
Merge branch 'main' of https://github.com/conda-forge/staged-recipes …
blackvvine Jan 9, 2023
1de804e
Move test deps to run, remove redundant configurations
blackvvine Jan 9, 2023
b2c121c
Remove comments
blackvvine Jan 9, 2023
7fb68b3
Skip windows for now
blackvvine Jan 9, 2023
5e15928
Skip simplejson on Windows
blackvvine Jan 9, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
85 changes: 85 additions & 0 deletions recipes/google-weather-tools/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{% set name = "google-weather-tools" %}
{% set version = "0.3.2" %}
{% set git_rev = "conda-candidate-v0" %}

package:
name: "{{ name|lower }}"
version: "{{ version }}"

source:
git_url: https://github.com/google/weather-tools.git
git_rev: "{{ git_rev }}"
Comment on lines +10 to +11
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If all you want is to just get a git tag, use:

Suggested change
git_url: https://github.com/google/weather-tools.git
git_rev: "{{ git_rev }}"
url: https://github.com/google/weather-tools/archive/refs/tags/v{{ version }}.tar.gz
sha256: YOURSHAHERE

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Will TAL at this soon.


Comment on lines +10 to +12
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We generally only want to be using released versions.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 - is there a way to configure this to reflect our git release tags?

build:
skip: true # [win]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
skip: true # [win]
noarch: python

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xhochy Thanks for your help and happy new year! Some of our runtime dependencies are not supported in Windows, what is the right way to release for Unix only if having noarch is mandatory?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to this answer, I assume the recipe should not be noarch since it's not supported in Windows. Please correct me if I'm wrong.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, if it's just that the dependencies are unavailable on Windows, that's fine for this to be noarch. It's only a problem with dependencies that are only install on Windows/not-Windows. noarch packages are generally only built on Linux systems, which will succeed. The missing dependencies will then keep it from being installable on Windows.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a bit confused by the discussion here. In my understanding, the solution to move forward is to configure this to be noarch.

To add some general background context: We have not yet implemented windows support in the package we want to release (google/weather-tools#64). If we set this to noarch, does that mean we have to fix this bug in order to proceed?

Thanks for your inputs, @dopplershift and @xhochy.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well since you said:

Some of our runtime dependencies are not supported in Windows

That's why I said noarch was the right answer. This is the first time it's been mentioned that it doesn't work properly on Windows. In that case, we can proceed with non-noarch.

Having said that though, it looks like the problem is just that you're using scripts for the executables. That's pretty easy to move to console_scripts which work on Windows and are supported by our noarch builds.

number: 0
script: >
{{ PYTHON }} -m pip install . -vv &&
{{ PYTHON }} -m pip install ./weather_dl -vv &&
{{ PYTHON }} -m pip install ./weather_mv -vv &&
{{ PYTHON }} -m pip install ./weather_sp -vv

requirements:
host:
- pip
- python =3.8
- gdal =3.5.1
- setuptools_scm
run:
- apache-beam[gcp] ==2.40.0 # [unix]
- earthengine-api >=0.1.263
- gdal =3.5.1
- metview-batch
- python =3.8
- absl-py
blackvvine marked this conversation as resolved.
Show resolved Hide resolved
- cdsapi
- cfgrib
- dataclasses
- ecmwf-api-client
- geojson
- google-apitools
- google-cloud-bigquery
- google-cloud-datastore
- google-cloud-firestore
- google-cloud-storage
- metview-batch # [unix]
- netcdf4
- numpy
- pandas
- pygrib
- pyproj
- pytype
- rasterio
- requests
- rioxarray
- simplejson # [unix]
- urllib3
- xarray
- xarray-beam # [unix]

test:
imports:
- weather_dl # [unix]
- weather_mv # [unix]
- weather_mv.loader_pipeline # [unix]
- weather_sp # [unix]
- weather_sp.splitter_pipeline # [unix]
requires:
- pytest
- pytest-subtests
- flake8

about:
home: "https://weather-tools.readthedocs.io/"
license: Apache Software
license_family: APACHE
license_file: LICENSE
summary: "Apache Beam pipelines to make weather data accessible and useful."
doc_url: https://github.com/google/weather-tools/tree/main/docs
dev_url: https://github.com/google/weather-tools/blob/main/LICENSE

extra:
recipe-maintainers:
- blackvvine
- alxmrs
- mahrsee1997