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.10.2 #56

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/1361549908, 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.

@joshmoore
Copy link
Member

Hmmm..... unexpected test failure:

   def test_nested(dataset):
        """
        Use NestedDirectoryStore to open the dataset fixture. This is the only
        method that is expected to successfully open legacy nested datasets
        without the dimension_separator metadata. However, for none-Nested
        datasets without any metadata, NestedDirectoryStore will fail.
        """
        failure = (
            "flat_legacy" in dataset or
            "directory_default" in dataset or
            "fs_default" in dataset
        )
>       verify(Array(store=NestedDirectoryStore(dataset)), failure)

../_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.9/site-packages/zarr/tests/test_dim_separator.py:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

array = <zarr.core.Array (2, 2) int64>, expect_failure = False

    def verify(array, expect_failure=False):
        try:
>           assert_array_equal(array[:], [[1, 2], [3, 4]])
E           AssertionError: 
E           Arrays are not equal
E           
E           Mismatched elements: 4 / 4 (100%)
E           Max absolute difference: 4
E           Max relative difference: 1.
E            x: array([[0, 0],
E                  [0, 0]])
E            y: array([[1, 2],
E                  [3, 4]])

@jakirkham
Copy link
Member

Have a question about what we are doing in CI there ( zarr-developers/zarr-python#850 (comment) ). Wondering if it might be relevant

@joshmoore
Copy link
Member

I don't think so. Those builds failed on install of zarr.

@joshmoore
Copy link
Member

@jakirkham, similar to zarr-developers/zarr-python#858, can you help me reproduce this failure locally preferably in Docker?

@jakirkham
Copy link
Member

jakirkham commented Nov 15, 2021

Would try running python build-locally.py and that should spin up a container and do a build for the specific Python and OS requested

@joshmoore
Copy link
Member

Have definitely reproduced locally. Interesting...

@joshmoore
Copy link
Member

Well that's at least something. The fixtures for the tests themselves are somehow "corrupted":

[root@da80464b860e fixture]# pwd
/home/conda/feedstock_root/build_artifacts/zarr_1636989511725/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.9/site-packages/fixture
[root@da80464b860e fixture]# diff flat*/.zarray
[root@da80464b860e fixture]#

whereas in the mainline:

(base) /opt/zarr-python/fixture $diff flat*/.zarray
13d12
<     "dimension_separator": ".",
23c22
< }
---
> }
\ No newline at end of file

@jakirkham
Copy link
Member

Looked at the sdist that gets downloaded and the fixture seems ok there

Is it possible that one of the tests makes a change to fixture's contents, which then causes a later test (that assumes what the contents are) to break? IOW is this an issue that shows up in-between tests where something is missed?

@joshmoore
Copy link
Member

So it looks like this is another result of their not being packaged:

            if not static.exists():  # pragma: no cover
>               raise Exception(f"{static} does not exist")
E               Exception: $PREFIX/lib/python3.9/site-packages/fixture/flat_legacy does not exist
commit d3f421e2abe8c05d9dc8185f0fee001b94ae1c7d (HEAD -> issue-858, josh/issue-858)
Author: jmoore <[email protected]>
Date:   Tue Nov 16 12:33:18 2021 +0100

    See if the fixtures are being re-written

diff --git a/zarr/tests/test_dim_separator.py b/zarr/tests/test_dim_separator.py
index 85138800..93c947c6 100644
--- a/zarr/tests/test_dim_separator.py
+++ b/zarr/tests/test_dim_separator.py
@@ -41,6 +41,7 @@ def dataset(tmpdir, request):
         static = project_root / "fixture" / suffix

         if not static.exists():  # pragma: no cover
+            raise Exception(f"{static} does not exist")

i.e. we're back to the discussion in #50 (comment)

@joshmoore
Copy link
Member

zarr-developers/zarr-python@053cbde explicitly passes dimension_separator="." which lets tests pass.

joshmoore added a commit to joshmoore/zarr-python that referenced this pull request Nov 16, 2021
Under some test conditions (conda-forge, Debian builds), the
fixtures directory is not available and is then re-created.
When dimension_separator is not passed to DirectoryStore, then
no metadata is assigned to the file. For the "flat" (as opposed
to "flat_legacy") fixture, this meant that the NestedDirectoryStore
did not correct its behavior leading to a failure.

see:
 - conda-forge/zarr-feedstock#56
 - zarr-developers#858
@joshmoore
Copy link
Member

Hopefully zarr-developers/zarr-python#871 will fix the situation, but 2.10.2 will remain undeployable unless we skip that particular test. Alternatively, I can try to release a 2.10.3 with just this test fix.

joshmoore added a commit to zarr-developers/zarr-python that referenced this pull request Nov 19, 2021
* Pass dimension_separator on fixture generation (fix #858)

Under some test conditions (conda-forge, Debian builds), the
fixtures directory is not available and is then re-created.
When dimension_separator is not passed to DirectoryStore, then
no metadata is assigned to the file. For the "flat" (as opposed
to "flat_legacy") fixture, this meant that the NestedDirectoryStore
did not correct its behavior leading to a failure.

see:
 - conda-forge/zarr-feedstock#56
 - #858

* Revert "Pass dimension_separator on fixture generation (fix #858)"

This reverts commit 6f79c56.

* Add a test for missing fixtures

* Revert "Revert "Pass dimension_separator on fixture generation (fix #858)""

This reverts commit 568b1cf.
@regro-cf-autotick-bot regro-cf-autotick-bot mentioned this pull request Nov 19, 2021
3 tasks
enthusiastdev121 added a commit to enthusiastdev121/zarr-python that referenced this pull request Aug 19, 2024
* Pass dimension_separator on fixture generation (fix #858)

Under some test conditions (conda-forge, Debian builds), the
fixtures directory is not available and is then re-created.
When dimension_separator is not passed to DirectoryStore, then
no metadata is assigned to the file. For the "flat" (as opposed
to "flat_legacy") fixture, this meant that the NestedDirectoryStore
did not correct its behavior leading to a failure.

see:
 - conda-forge/zarr-feedstock#56
 - zarr-developers/zarr-python#858

* Revert "Pass dimension_separator on fixture generation (fix #858)"

This reverts commit 6f79c56a3153f6f1a1d36a1a385b6af636a487d9.

* Add a test for missing fixtures

* Revert "Revert "Pass dimension_separator on fixture generation (fix #858)""

This reverts commit 568b1cf6175513a8c4916eaa09107e36854f53ad.
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.

4 participants