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

tiledb-py v0.31.0 #226

Open
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

regro-cf-autotick-bot
Copy link
Contributor

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

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

Information about 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.
  3. 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.
  4. 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 bot automerge feature to your feedstock.
  5. 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.

Pending Dependency Version Updates

Here is a list of all the pending dependency version updates for this repo. Please double check all dependencies before merging.

Name Upstream Version Current Version
numpy 2.0.1 Anaconda-Server Badge

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: disabled to your conda-forge.yml. If you encounter issues with this feature please ping the bot team conda-forge/bot.

Analysis by source code inspection shows no discrepancy with the stated requirements in the meta.yaml.

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. Feel free to drop us a line if there are any issues! This PR was generated by - please use this URL for debugging.

@conda-forge-webservices
Copy link
Contributor

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/meta.yaml) and found it was in an excellent condition.

Copy link
Member

@jdblischak jdblischak left a comment

Choose a reason for hiding this comment

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

Need to do two things:

  1. Bump tiledb pin to 2.25
  2. Migrate build system to scikit-build-core (see Test scikit-build-core tiledb-py #224)

recipe/build.sh Show resolved Hide resolved
Copy link

@dudoslav dudoslav left a comment

Choose a reason for hiding this comment

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

LGTM

@jdblischak
Copy link
Member

The current error is:

ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.

But those files are clearly in the source: https://github.com/TileDB-Inc/TileDB-Py/tree/0.31.0

Maybe they aren't being included in the PyPI source tarball?

@jdblischak
Copy link
Member

Maybe they aren't being included in the PyPI source tarball?

No. That's not it.

wget https://pypi.io/packages/source/t/tiledb/tiledb-0.31.0.tar.gz
tar xzf tiledb-0.31.0.tar.gz
## tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.quarantine'
## tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.macl'
## tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.quarantine'
ls tiledb-0.31.0
## CMakeLists.txt   HISTORY.md  PKG-INFO   ci     doc       external  pyproject.toml  tiledb
## CONTRIBUTING.md  LICENSE     README.md  cmake  examples  misc      setup.py

@jdblischak
Copy link
Member

Current status:

  • linux-*: build immediately fails with ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.
  • osx-64: build passes, tests fail
==================================== ERRORS ====================================
____________ ERROR collecting tiledb/tests/test_pandas_dataframe.py ____________
tiledb/tests/test_pandas_dataframe.py:126: in <module>
    class TestColumnInfo:
tiledb/tests/test_pandas_dataframe.py:148: in TestColumnInfo
    [pd.BooleanDtype()],
E   NameError: name 'pd' is not defined
=========================== short test summary info ============================
ERROR tiledb/tests/test_pandas_dataframe.py - NameError: name 'pd' is not defined
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
========================= 1 skipped, 1 error in 2.71s ==========================
WARNING: Tests failed for tiledb-py-0.31.0-py39h83f2935_0.conda - moving package to /Use
  • osx-arm64: build passes (tests aren't run when cross-compiling arm64 binaries on an x86 machine)
  • win-64: build immediately fails with ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.

@dudoslav
Copy link

This is pretty weird because AFAIK we test if sdists can be installed: https://github.com/TileDB-Inc/TileDB-Py/actions/runs/10099783077

@jdblischak
Copy link
Member

This is pretty weird because AFAIK we test if sdists can be installed:

But were any of those tested sdists uploaded to PyPI? AFAICT automatic upload to PyPI was disabled (TileDB-Inc/TileDB-Py#2020), and it wasn't re-enabled prior to tagging 0.31.0

https://github.com/TileDB-Inc/TileDB-Py/blob/0.31.0/.github/workflows/build-wheels.yml#L152

Was the PyPI upload done manually this time? Is that why I am seeing all the tar messages about tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.quarantine'?

@jdblischak
Copy link
Member

I think I found the source of the test failure E NameError: name 'pd' is not defined

The code itself was added 2 years ago:

https://github.com/TileDB-Inc/TileDB-Py/blob/0.31.0/tiledb/tests/test_pandas_dataframe.py#L148
TileDB-Inc/TileDB-Py@fd3b808

However, when that code was originally added, pd was defined at the top of the file

https://github.com/TileDB-Inc/TileDB-Py/blob/fd3b80810657225fba41c6fdb3b9a700d52ef1ae/tiledb/tests/test_pandas_dataframe.py#L3

pd = pytest.importorskip("pandas")

But that import was just removed yesterday in TileDB-Inc/TileDB-Py#2016

@jdblischak
Copy link
Member

Also, I confirmed that pandas 2.2.2 was installed for the osx-64 builds, which should be compatible with TileDB-Py

@jdblischak
Copy link
Member

I was able to build the PyPI source tarball on locally on Ubuntu 22.04:

wget https://pypi.io/packages/source/t/tiledb/tiledb-0.31.0.tar.gz
tar xzf tiledb-0.31.0.tar.gz
python -m venv ./build-pypi
mamba deactivate
source ./build-pypi/bin/activate
cd tiledb-0.31.0/
python -m pip install -v .
## Successfully installed numpy-2.0.1 tiledb-0.31.0

@jdblischak
Copy link
Member

jdblischak commented Jul 26, 2024

Confirmed that the linux-64 and win-64 jobs are failing because extracting the tarball results in a top-level directory (tiledb-0.31.0 and ._tiledb-0.31.0, respectively). Beyond frustrating that this behavior differs across operating systems

@jdblischak
Copy link
Member

And I confirmed the previous tarball does the exact same thing on linux:

wget https://pypi.io/packages/source/t/tiledb/tiledb-0.30.0.tar.gz
tar xzf tiledb-0.30.0.tar.gz
ls
## tiledb-0.30.0  tiledb-0.30.0.tar.gz

@jdblischak
Copy link
Member

I'm baffled why this is happening. While it is likely due to a difference in the installed tar in the different operating systems, I don't understand why this is happening now.

We could switch from script: to using the individual build.sh and bld.bat, but I don't see how that would make a difference. These just get copied into SRC_DIR and then executed. And from the previous troubleshooting run, SRC_DIR has a top-level directory, so they would just fail. And doing something like cd tiledb-* (but not on macOS since it extracts the tarball fine) would be very hacky.

As a sanity check, I ran grayskull pypi tiledb. It uses the same PyPI URL, and also uses the script field assuming the package has been extracted properly to SRC_DIR.

{% set name = "tiledb" %}
{% set version = "0.31.0" %}

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

source:
  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/tiledb-{{ version }}.tar.gz
  sha256: 4e7fceb44e1e7ade6acfc22bd9085e5c6e2add5891ad268d4246b0265b17b0a1

build:
  skip: true  # [py<38]
  script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation
  number: 0

@jdblischak
Copy link
Member

My only hope is that maybe if the next tarball we upload doesn't produce tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.quarantine', then maybe it will extract fine on linux-64 and win-64.

@jdblischak
Copy link
Member

tiledb-0.31.0 and ._tiledb-0.31.0, respectively

This was a mistake. I don't know what the purpose of ._tiledb-0.31.0 is on Windows. It is apparently a file. The directory is the same as on linux

 Directory of %SRC_DIR%

07/26/2024  07:13 PM    <DIR>          .
07/26/2024  07:13 PM    <DIR>          ..
07/25/2024  07:40 PM               276 ._tiledb-0.31.0
07/26/2024  07:13 PM               180 bld.bat
07/26/2024  07:13 PM             7,470 build_env_setup.bat
07/26/2024  07:13 PM               311 conda_build.bat
07/26/2024  07:13 PM             2,060 metadata_conda_debug.yaml
07/25/2024  07:40 PM    <DIR>          tiledb-0.31.0

* @dudoslav @ihnorton @jdblischak @johnkerl @kounelisagis @nguyenv @shelnutt2
Copy link
Member

Choose a reason for hiding this comment

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

These "errors" will go away once they accept the email invitation from GitHub to join this repository

@jdblischak
Copy link
Member

It's not pretty, but I did manage to get green CI by:

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.

None yet

3 participants