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

zarr v2.9.2 #50

Conversation

regro-cf-autotick-bot
Copy link
Contributor

It is very likely that the current package version for this feedstock is out of date.
Notes for merging this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
    Checklist before merging this PR:
  • Dependencies have been updated if changed: see upstream
  • Tests have passed
  • Updated license if changed and license_file is packaged

Note that the bot will stop issuing PRs if more than 3 Version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.

NEW: If you want these PRs to be merged automatically, make an issue with @conda-forge-admin,please add bot automerge in the title and merge the resulting PR. This command will add our new bot automerge feature to your feedstock!

If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

This PR was created by the regro-cf-autotick-bot.
The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. If you would like a local version of this bot, you might consider using rever. Rever is a tool for automating software releases and forms the backbone of the bot's conda-forge PRing capability. Rever is both conda (conda install -c conda-forge rever) and pip (pip install re-ver) installable.
Finally, feel free to drop us a line if there are any issues!
This PR was generated by https://github.com/regro/autotick-bot/actions/runs/1163635796, please use this URL for debugging

Dependency Analysis

Please note that this analysis is highly experimental. The aim here is to make maintenance easier by inspecting the package's dependencies. Importantly this analysis does not support optional dependencies, please double check those before making changes. If you do not want hinting of this kind ever please add bot: inspection: false to your conda-forge.yml. If you encounter issues with this feature please ping the bot team conda-forge/bot.

Analysis of the source code shows a discrepancy between the library's imports and the package's stated requirements in the meta.yaml.

Packages found by inspection but not in the meta.yaml:

  • line_profiler

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@jakirkham
Copy link
Member

@joshmoore it looks like we have some test failures related to missing ".zarray". For example:

self = <zarr.storage.DirectoryStore object at 0x7f239973a130>, key = '.zarray'

    def __getitem__(self, key):
        key = self._normalize_key(key)
        filepath = os.path.join(self.path, key)
        if os.path.isfile(filepath):
            return self._fromfile(filepath)
        else:
>           raise KeyError(key)
E           KeyError: '.zarray'

https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=367283&view=logs&jobId=656edd35-690f-5c53-9ba3-09c10d0bea97&j=656edd35-690f-5c53-9ba3-09c10d0bea97&t=e5c8ab1d-8ff9-5cae-b332-e15ae582ed2d

@joshmoore
Copy link
Member

Yup, but I don't know what they are. sigh I'll start again tomorrow unless some enterprising (and compassionate) soul tracks down the issue before I'm up.

@jakirkham
Copy link
Member

Ok no worries. Haven't caught up with all the recent changes. So just wanted to reach out in case there was something simple I was missing

@joshmoore
Copy link
Member

👍 Do you have a tip/link/example of running the conda-forge build against a non-standard branch?

@jakirkham
Copy link
Member

Yep I pushed a commit above that tests with master. Though feel free to change that to another branch, commit, fork, etc. 🙂

@benjaminhwilliams
Copy link

Oh dear, I'm sorry that my 'fix' in zarr-developers/zarr-python#821 was only raising false hope. I'll lend a hand tomorrow (UK time), if I can be useful.

@jakirkham
Copy link
Member

No worries. Thanks for helping out 🙂

@benjaminhwilliams
Copy link

benjaminhwilliams commented Aug 25, 2021

Ah, I think I see the problem. I had missed the --pyargs flag in the call to Pytest in the Conda-forge recipe. What this means is that the tests are not being run on the directory zarr-python/zarr, uncompressed from the downloaded .tar.gz, but rather on the installed package root zarr in the Conda environment. Since the installed package only contains a copy of everything in zarr-python/zarr, without any of the other sub-directories of zarr-python, the test naturally can't find the non-existent zarr/../fixture directory.

So a solution begins to look like one of the following:

  • generate the test data in a temporary directory once per Pytest run, such as in a session-scoped Pytest fixture, or
  • move the fixture directory from the project root zarr-project to the package root zarr-project/zarr.

I much prefer the former, as it seems unnecessary to add the burden of a directory of regression data to every user's Zarr installation, which will be useless clutter to most.

@joshmoore
Copy link
Member

but rather on the installed package root zarr in the Conda environment.

Ah, 🤦🏽

Moin, both. At this point, I can see going with the generation strategy, but a warning is that in the midst of the dimension_separator confusion which led to all of this, I don't know if I could have identified a bullet proof way to generate the data correctly.

@jakirkham et al, building from the installed package root is a must?

@joshmoore
Copy link
Member

Ah, so here's why other tests pass without fixture present:

            if path not in fixture:  # pragma: no cover
                # store the data - should be one-time operation
                fixture.array(path, data=arr, chunks=chunks, order=order,
                              compressor=compressor)

Interestingly, though, if I re-generate, there's a pretty sizable diff. I'll introduce a similar strategy for consistency, and then we can re-evaluate.

@joshmoore
Copy link
Member

Local build passes with:

(z) ~/opt/zarr-feedstock $git diff
diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index 6ca215a..9eaf5ba 100644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -6,8 +6,8 @@ package:
   version: {{ version }}

 source:
-  git_url: https://github.com/zarr-developers/zarr-python
-  git_rev: master
+  git_url: https://github.com/joshmoore/zarr-python
+  git_rev: gen-fixture

Closing this and I'll get a 2.9.3 release out today.

@joshmoore joshmoore closed this Aug 26, 2021
joshmoore added a commit to zarr-developers/zarr-python that referenced this pull request Aug 26, 2021
* test_dim_separator.py Generate fixtures when needed

see: conda-forge/zarr-feedstock#50

* Correct flake8 issues

* Add 'pragma: no cover' to the one-off
@joshmoore joshmoore mentioned this pull request Nov 16, 2021
3 tasks
@joshmoore joshmoore mentioned this pull request Sep 22, 2022
3 tasks
enthusiastdev121 added a commit to enthusiastdev121/zarr-python that referenced this pull request Aug 19, 2024
* test_dim_separator.py Generate fixtures when needed

see: conda-forge/zarr-feedstock#50

* Correct flake8 issues

* Add 'pragma: no cover' to the one-off
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants