TileDB-Py icon indicating copy to clipboard operation
TileDB-Py copied to clipboard

Update libtiledb version

Open kounelisagis opened this issue 1 year ago • 2 comments
trafficstars

Also fixes: WARNING: Invalid configuration value found: 'language = None'. Update your configuration to a valid language code. Falling back to 'en' (English).

kounelisagis avatar Mar 12 '24 12:03 kounelisagis

LGTM but please try setuptools_scm before merging so we don't have to update manually.

Some other changes were made because newer versions of setuptools and setuptools_scm are needed. For example long_description is not available in thesetup()method of setup.py anymore. Everything was done according to this: How to modernize a setup.py based project?

(There are many more things they suggest for modernizing the setup.py)

kounelisagis avatar Mar 12 '24 21:03 kounelisagis

(There are many more things they suggest for modernizing the setup.py)

Big +1 to cleaning this up, great observation. It's been on my list to discuss w/ you soon 😉. We can probably cut the size of the file by 95% by using scikit-build-core -- see how it's used in vector search to handle the extension build, and then the modernization should be really straightforward.

ihnorton avatar Mar 13 '24 01:03 ihnorton

Overall LGTM, but could you please do a test build by pushing this branch as release-test-sc35414? Then after ~1hr you should have wheels available here (just invited you to project). Make sure one of the wheels installs and imports correctly locally, and that the metadata looks the same as the last release on PyPI.

I used tiledb-0.26.3-cp311-cp311-macosx_11_0_arm64.whl file found in drop folder.

conda create -n test_env python=3.11
conda activate test_env
pip install tiledb-0.26.3-cp311-cp311-macosx_11_0_arm64.whl
pip install numpy
python
>>> import tiledb
>>> from importlib import metadata
>>> dict(metadata.metadata('tiledb'))
{'Metadata-Version': '2.1', 'Name': 'tiledb', 'Version': '0.26.3', 'Summary': 'Pythonic interface to the TileDB array storage manager', 'Author-email': '"TileDB, Inc." <[email protected]>', 'Maintainer-email': '"TileDB, Inc." <[email protected]>', 'License': 'MIT', 'Project-URL': 'homepage, https://github.com/TileDB-Inc/TileDB-Py', 'Platform': 'any', 'Description-Content-Type': 'text/markdown', 'License-File': 'LICENSE', 'Description': '<a href="https://tiledb.com/"><img src="https://github.com/TileDB-Inc/TileDB/raw/dev/doc/source/_static/[email protected]" alt="TileDB logo" width="400"></a>\n\n\n[![Build Status](https://dev.azure.com/TileDB-Inc/CI/_apis/build/status/TileDB-Inc.TileDB-Py?branchName=dev)](https://dev.azure.com/TileDB-Inc/CI/_build/latest?definitionId=1&branchName=dev)\n![](https://raw.githubusercontent.com/TileDB-Inc/TileDB/dev/doc/anaconda.svg?sanitize=true)[![Anaconda download count badge](https://anaconda.org/conda-forge/TileDB-Py/badges/downloads.svg)](https://anaconda.org/conda-forge/TileDB-Py)\n\n\n# TileDB-Py\n\n*TileDB-Py* is a [Python](https://python.org/) interface to the [TileDB Storage Engine](https://github.com/TileDB-Inc/TileDB).\n\n# Quick Links\n\n* [Installation](https://docs.tiledb.com/developer/installation/quick-install)\n* [Build Instructions](https://docs.tiledb.com/main/how-to/installation/building-from-source/python)\n* [TileDB Documentation](https://docs.tiledb.com/main/)\n* [Python API reference](https://tiledb-inc-tiledb-py.readthedocs-hosted.com/en/stable)\n\n# Quick Installation\n\nTileDB-Py is available from either [PyPI](https://pypi.org/project/tiledb/) with ``pip``:\n\n
\npip install tiledb\n```\n\nor from conda-forge with\nconda or mamba:\n\n```\nconda install -c conda-forge tiledb-py\n```\n\nDataframes functionality (tiledb.from_pandas, Array.df[]) requires Pandas 1.0 or higher, and PyArrow 1.0 or higher.\n\n# Contributing\n\nWe welcome contributions, please see [CONTRIBUTING.md](CONTRIBUTING.md) for suggestions and\ndevelopment-build instructions. For larger features, please open an issue to discuss goals and\napproach in order to ensure a smooth PR integration and review process.\n'}

kounelisagis avatar Mar 13 '24 14:03 kounelisagis

LGTM, just make sure that you can still produce wheel, so please:

  1. Create and install wheel
  2. Create and install sdist
  3. In all cases run import tiledb in python
  1. Successfully installed wheel from azure devops.
  2. sdist
> python --version
Python 3.8.17
> pipx run build --sdist
> pip install dist/tiledb-0.26.4.dev3+dirty.tar.gz
> cd ..
> python
>>> import tiledb
>>> tiledb.version()
(0, 26, 4, 'dev3', 'dirty')
>>> tiledb.libtiledb.version()
(2, 20, 1)

kounelisagis avatar Mar 14 '24 11:03 kounelisagis