html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue
https://github.com/pydata/xarray/issues/4295#issuecomment-667664327,https://api.github.com/repos/pydata/xarray/issues/4295,667664327,MDEyOklzc3VlQ29tbWVudDY2NzY2NDMyNw==,14808389,2020-08-02T11:51:01Z,2020-08-02T14:27:09Z,MEMBER,"I was going to suggest using [preprocessing selectors](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#preprocessing-selectors), but as you say these are incompatible with `noarch` because they're used at package build time, not when installing.
The `pint` recipe worked around that by unconditionally installing `importlib_metadata`, even on python 3.8. Not sure if that's the best option, though. Other than that, NEP29 states that we can drop python 3.6 since Jun 23 2020, so if we bump python we could use stdlib's `importlib.resources`. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,671019427
https://github.com/pydata/xarray/issues/4295#issuecomment-667657310,https://api.github.com/repos/pydata/xarray/issues/4295,667657310,MDEyOklzc3VlQ29tbWVudDY2NzY1NzMxMA==,14808389,2020-08-02T10:38:36Z,2020-08-02T10:38:36Z,MEMBER,"the reason we install-depend on `setuptools` is that we use `pkg_resources` for constructing the version with `setuptools_scm` and for getting the paths to images and css used for the HTML repr. Both of these can be replaced with modules in the standard library: `importlib.resources` (available since `3.7`) and `importlib.metadata` (available since `3.8`). Both also have backports (`importlib-resources` and `importlib-metadata`), so we should be able to get rid of the install-dependency on `setuptools`.
`setup_requires` has been deprecated in favor of specifying the build dependency in [pyproject.toml](https://snarky.ca/what-the-heck-is-pyproject-toml/). Maybe we should use that instead? That way we don't have to *care* about users failing to bootstrap `setuptools` because `pip` will create a isolated environment with just the build dependencies, build the source into a wheel and then install that without using `setuptools`. So I think that means you can have a old version of setuptools installed in your environment and still `pip`-install a package that requires a newer version.
An additional advantage is that our `setup.py` can become
```python
from setuptools import setup
if __name__ == ""__main__"":
setup()
```
(we can't remove `setup.py` entirely because it's required for editable installs)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,671019427