Skip to content

Commit 69b3c23

Browse files
committed
Merge branch 'dev' into jpd/wkt-wkb-support
2 parents d88ecea + 997b328 commit 69b3c23

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+2289
-807
lines changed

.github/workflows/ci.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ jobs:
1515
strategy:
1616
matrix:
1717
os: [ubuntu-latest, macos-12, windows-latest]
18-
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
18+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
1919
fail-fast: false
2020
env:
2121
# 11.7 necessary due to: https://github.com/actions/setup-python/issues/682#issuecomment-1604261330
22-
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.os == 'macos-12' && contains(fromJSON('["3.7", "3.8"]'), matrix.python-version) && '11.7' || '11' }}
22+
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.os == 'macos-12' && matrix.python-version == '3.8' && '11.7' || '11' }}
2323
#MACOSX_DEPLOYMENT_TARGET: "10.11"
2424
# On windows-2019 we are using the Visual Studio generator, which is multi-config and places the build artifacts in a subdirectory
2525
steps:
@@ -45,13 +45,6 @@ jobs:
4545
with:
4646
python-version: ${{ matrix.python-version }}
4747

48-
- run: rm -rf $RUNNER_TOOL_CACHE/Python/3.7.17
49-
if: matrix.os == 'macos-12' && matrix.python-version == '3.7'
50-
- uses: actions/setup-python@v4
51-
with:
52-
python-version: 3.7.17
53-
if: matrix.os == 'macos-12' && matrix.python-version == '3.7'
54-
5548
- name: Print Python version
5649
run: |
5750
which python
@@ -131,6 +124,14 @@ jobs:
131124
- name: "Check build directory"
132125
run: ls -Rl
133126

127+
- name: "Install libfaketime (linux and macOS)"
128+
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-12'
129+
run: |
130+
git clone https://github.com/wolfcw/libfaketime/
131+
cd libfaketime
132+
sudo make install
133+
cd ..
134+
134135
- name: "Run tests"
135136
run: pytest -vv --showlocals
136137

.github/workflows/daily-test-build-numpy.yml

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
name: TileDB Python CI - With Earliest Supported Version of NumPy
22

3-
# on: [push]
4-
53
on:
6-
schedule:
7-
# runs every day at 5:00 UTC (1:00AM EST / Midnight CST)
8-
- cron: "0 5 * * *"
9-
workflow_dispatch:
4+
workflow_call:
5+
inputs:
6+
libtiledb_version:
7+
required: true
8+
type: string
109

1110
jobs:
1211
test:
@@ -17,9 +16,11 @@ jobs:
1716
strategy:
1817
matrix:
1918
os: [ubuntu-latest, macos-12, windows-latest]
20-
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
19+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
2120
include:
2221
# https://github.com/scipy/oldest-supported-numpy/blob/main/setup.cfg
22+
- python-version: "3.12"
23+
numpy-version: "1.26.4"
2324
- python-version: "3.11"
2425
numpy-version: "1.23.2"
2526
- python-version: "3.10"
@@ -28,14 +29,12 @@ jobs:
2829
numpy-version: "1.19.3"
2930
- python-version: "3.8"
3031
numpy-version: "1.17.3"
31-
- python-version: "3.7"
32-
numpy-version: "1.16.5"
3332
fail-fast: false
3433
env:
35-
TILEDB_VERSION: 'release-2.20'
34+
TILEDB_VERSION: ${{ github.event.inputs.libtiledb_version }}
3635
# 11.7 necessary due to: https://github.com/actions/setup-python/issues/682#issuecomment-1604261330
3736
#MACOSX_DEPLOYMENT_TARGET: "10.15"
38-
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.os == 'macos-11' && contains(fromJson('["3.7", "3.8"]'), matrix.python-version) && '11.7' || '11' }}
37+
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.os == 'macos-12' && matrix.python-version == '3.8' ? '11.7' : '11' }}
3938
VCPKG_BINARY_SOURCES: 'clear;x-gha,readwrite'
4039
steps:
4140
- name: Checkout TileDB-Py `dev`
@@ -112,6 +111,6 @@ jobs:
112111
- name: Create Issue if Build Fails
113112
uses: TileDB-Inc/github-actions/open-issue@main
114113
with:
115-
name: nightly build with earilest supported numpy
114+
name: nightly build with earliest supported numpy
116115
label: bug,nightly-failure
117-
assignee: nguyenv,ihnorton
116+
assignee: kounelisagis,nguyenv,KiterLuc,ihnorton

.github/workflows/daily-test-build.yml

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
name: Daily Test Build TileDB-Py Against Core
22

3-
#on: [push]
4-
53
on:
6-
workflow_dispatch:
7-
schedule:
8-
# runs every day at 5:00 UTC (1:00AM EST / Midnight CST)
9-
- cron: "0 5 * * *"
4+
workflow_call:
5+
inputs:
6+
libtiledb_version:
7+
required: true
8+
type: string
109

1110
jobs:
1211
test-wheels-on-azure:
@@ -35,12 +34,11 @@ jobs:
3534
strategy:
3635
matrix:
3736
os: [ubuntu-latest, macos-12, windows-latest]
38-
libtiledb_version: ["dev", "release-2.19", "release-2.20"]
3937
uninstall_pandas: [true, false]
4038
fail-fast: false
4139

4240
env:
43-
TILEDB_VERSION: ${{ matrix.libtiledb_version }}
41+
TILEDB_VERSION: ${{ github.event.inputs.libtiledb_version }}
4442
MACOSX_DEPLOYMENT_TARGET: "11"
4543
VCPKG_BINARY_SOURCES: 'clear;x-gha,readwrite'
4644

@@ -124,4 +122,4 @@ jobs:
124122
with:
125123
name: nightly build
126124
label: bug,nightly-failure
127-
assignee: nguyenv,ihnorton
125+
assignee: kounelisagis,nguyenv,KiterLuc,ihnorton

.github/workflows/daily-tests.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Daily Tests TileDB-Py
2+
3+
on:
4+
schedule:
5+
# runs every day at 5:00 UTC (1:00AM EST / Midnight CST)
6+
- cron: "0 5 * * *"
7+
workflow_dispatch:
8+
9+
jobs:
10+
ci1:
11+
uses: ./.github/workflows/daily-test-build.yml
12+
with:
13+
libtiledb_version: 'dev'
14+
15+
ci2:
16+
uses: ./.github/workflows/daily-test-build.yml
17+
with:
18+
libtiledb_version: 'release-2.23'
19+
20+
ci3:
21+
uses: ./.github/workflows/daily-test-build.yml
22+
with:
23+
libtiledb_version: 'release-2.22'
24+
25+
ci4:
26+
uses: ./.github/workflows/daily-test-build-numpy.yml
27+
with:
28+
libtiledb_version: 'release-2.22'

.github/workflows/issue-if-azure-fail.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ jobs:
3030
with:
3131
name: nightly Azure wheel
3232
label: bug,nightly-azure-failure
33-
assignee: nguyenv,ihnorton
33+
assignee: KiterLuc,kounelisagis,nguyenc,ihnorton

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,4 +114,7 @@ tiledb/_generated_version.py
114114
# IntelliJ
115115
.idea
116116

117+
# Visual Studio Code
118+
.vscode/
119+
117120
*.DS_Store

HISTORY.md

Lines changed: 72 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,78 @@
1-
# Next
1+
# Release 0.29.0
2+
3+
* TileDB-Py 0.29.0 includes TileDB Embedded [2.23.0](https://github.com/TileDB-Inc/TileDB/releases/tag/2.23.0)
4+
5+
## Improvements
6+
7+
* Migrate away from deprecated TileDB C++ APIs by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1958
8+
* Pybind11 Config should honor prefix for iter by @Shelnutt2 in https://github.com/TileDB-Inc/TileDB-Py/pull/1962
9+
* Fix test skipping by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1957
10+
* Make timestamp overrides optional in tests and add faketime test by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1953
11+
* Wrap tiledb_array_consolidate_fragments from pybind11 by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1948
12+
13+
## Build system changes
14+
15+
* Enable python 3.12 by @dudoslav in https://github.com/TileDB-Inc/TileDB-Py/pull/1959
16+
* Add .vscode to .gitignore by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1952
17+
18+
# Release 0.28.0
19+
20+
## TileDB Embedded updates
21+
22+
* TileDB-Py 0.28.0 includes TileDB Embedded [2.22.0](https://github.com/TileDB-Inc/TileDB/releases/tag/2.22.0)
23+
24+
## Improvements
25+
26+
* Update type signature for VFS::readinto by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1937
27+
* Show enumerated value-types in enum-printer by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1936
28+
* Add wrapping for new consolidation plan API by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1935
29+
* Add test for Group constructor invalid uri object type by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1941
30+
* Update doc for tiledb.consolidate by @ihnorton in https://github.com/TileDB-Inc/TileDB-Py/pull/1946
31+
* Improve documentation of from_numpy function by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1942
32+
33+
## Build system changes
34+
35+
* Exclude .pytest_cache and .hypothesis files by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1932
36+
* Remove modular building option by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1938
37+
* Fix wrong version number for Python API docs by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1947
38+
* Remove conditional code for TileDB < 2.16 by @kounelisagis in https://github.com/TileDB-Inc/TileDB-Py/pull/1949
39+
* Update nightly test target to 2.21 by @ihnorton in https://github.com/TileDB-Inc/TileDB-Py/pull/1950
40+
41+
# Release 0.27.1
42+
43+
## TileDB Embedded updates
44+
45+
* TileDB-Py 0.27.1 includes TileDB Embedded [2.21.1](https://github.com/TileDB-Inc/TileDB/releases/tag/2.21.1)
46+
47+
## Improvements
48+
49+
* Add tests to ensure empty result on query condition for invalid enum. [1882](https://github.com/TileDB-Inc/TileDB-Py/pull/1882)
50+
51+
# Release 0.27.0
52+
53+
* TileDB-Py 0.27.0 includes TileDB Embedded [2.21.0](https://github.com/TileDB-Inc/TileDB/releases/tag/2.21.0)
54+
55+
# Release 0.26.4
56+
57+
## Bug Fixes
58+
59+
* Fix VFS `read`, `seek` with numpy integer sizes. [#1927](https://github.com/TileDB-Inc/TileDB-Py/pull/1927)
60+
* Remove erroneous `_ctx` check for GroupMetadata [#1925](https://github.com/TileDB-Inc/TileDB-Py/pull/1925)
61+
62+
# Release 0.26.3
63+
64+
## Improvements
65+
66+
* Fix vfs readinto when buff is not bytes. [#1915](https://github.com/TileDB-Inc/TileDB-Py/pull/1915)
67+
* Update daily test builds to use single source of truth for libtiledb target versions. [1910](https://github.com/TileDB-Inc/TileDB-Py/pull/1910)
68+
* Remove Python 3.7 CI jobs. [1916](https://github.com/TileDB-Inc/TileDB-Py/pull/1916)
69+
70+
# Release 0.26.2
271

372
## Improvements
473

5-
* For compatibility with fsspec and rasterio, `isdir()`, `isfile()`, and `size()` aliases have been added to the `VFS` class (#1902).
74+
* Added API support for TileDB aggregates. [#1889](https://github.com/TileDB-Inc/TileDB-Py/pull/1889)
75+
* For compatibility with fsspec and rasterio, `isdir()`, `isfile()`, and `size()` aliases have been added to the `VFS` class. [#1902](https://github.com/TileDB-Inc/TileDB-Py/pull/1902).
676

777
# Release 0.26.1
878

doc/requirements_doc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
jinja2==3.0.0
2+
sphinx-rtd-theme==2.0.0
23

34
-r ../requirements_dev.txt

doc/source/conf.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import os
88
import sys
99
from os.path import abspath, dirname, join
10+
import sphinx_rtd_theme
11+
from importlib.metadata import version as get_version
1012

1113
sys.path.insert(0, abspath(join(dirname(__file__))))
1214

@@ -21,13 +23,13 @@
2123
# -- Project information -----------------------------------------------------
2224

2325
project = "TileDB-Py"
24-
copyright = "2020, TileDB, Inc."
26+
copyright = "2024, TileDB, Inc."
2527
author = "TileDB, Inc."
2628

27-
# The short X.Y version
28-
version = "0.6"
2929
# The full version, including alpha/beta/rc tags
30-
release = "0.6.5"
30+
release: str = get_version("tiledb")
31+
# The short X.Y version
32+
version: str = ".".join(release.split(".")[:2])
3133

3234

3335
# -- General configuration ---------------------------------------------------
@@ -87,16 +89,12 @@
8789
# -- Options for HTML output -------------------------------------------------
8890

8991
html_static_path = ["_static"]
92+
html_title = "TileDB Python API Reference — TileDB-Py %s documentation" % version
9093
html_logo = "_static/[email protected]"
9194
html_favicon = "_static/favicon.ico"
9295

93-
if readthedocs:
94-
html_theme = "default"
95-
else:
96-
import sphinx_rtd_theme
97-
98-
html_theme = "sphinx_rtd_theme"
99-
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
96+
html_theme = "sphinx_rtd_theme"
97+
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
10098

10199
# -- Options for HTMLHelp output ---------------------------------------------
102100

misc/azure-release.yml

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,11 @@ stages:
66
LIBTILEDB_VERSION: dev
77
LIBTILEDB_SHA: dev
88
${{ else }}:
9-
TILEDBPY_VERSION: 0.26.0
9+
TILEDBPY_VERSION: 0.29.0
1010
# NOTE: *must* update both LIBTILEDB_VERSION and LIBTILEDB_SHA
11-
LIBTILEDB_VERSION: "2.20.1"
11+
LIBTILEDB_VERSION: "2.23.0"
1212
# NOTE: *must* update both LIBTILEDB_VERSION and LIBTILEDB_SHA
13-
LIBTILEDB_SHA: 249c02481ed261a643b7fc63b748a90bce060e70
14-
# kick the hash
13+
LIBTILEDB_SHA: 152093bed1f25f219fc91f31456c26b04a67dd63
1514
LIBTILEDB_REPO: https://github.com/TileDB-Inc/TileDB
1615
TILEDB_SRC: "$(Build.Repository.Localpath)/tiledb_src"
1716
TILEDB_BUILD: "$(Build.Repository.Localpath)/tiledb_build"
@@ -66,21 +65,20 @@ stages:
6665
condition: always()
6766
variables:
6867
cibw_test_requires: "pytest"
69-
USE_CIBW_VERSION: 2.12.3
68+
USE_CIBW_VERSION: 2.17.0
7069
strategy:
7170
matrix:
7271
linux_py:
7372
imageName: "ubuntu-latest"
74-
CIBW_SKIP: "cp36-* *_i686 pp* *musllinux*"
73+
CIBW_SKIP: "cp36-* cp37-* *_i686 pp* *musllinux*"
7574
CIBW_BUILD_VERBOSITY: 3
7675
CIBW_ARCHS_MACOS: ""
7776
macOS_py:
7877
imageName: "macOS-12"
7978
MACOSX_DEPLOYMENT_TARGET: 11
8079
TILEDB_INSTALL: "$(Pipeline.Workspace)/.libtiledb_dist/$(LIBTILEDB_SHA)-macos-x86_64"
8180
CIBW_ARCHS_MACOS: "x86_64"
82-
CIBW_SKIP: "cp36-* pp*"
83-
CIBW_TEST_SKIP: "cp37-*"
81+
CIBW_SKIP: "cp36-* cp37-* pp*"
8482
CIBW_BUILD_VERBOSITY: 3
8583
macOS_arm64_py:
8684
imageName: "macOS-12"
@@ -92,7 +90,7 @@ stages:
9290
CIBW_SKIP: "cp36-* cp37-* pp*"
9391
windows_py:
9492
imageName: "windows-latest"
95-
CIBW_SKIP: "cp36-* *-win32 pp*"
93+
CIBW_SKIP: "cp36-* cp37-* *-win32 pp*"
9694
CIBW_BUILD_VERBOSITY: 3
9795
CIBW_ARCHS_MACOS: ""
9896
pool:

misc/requirements_wheel.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ numpy>=1.23.2 ; python_version >= "3.11"
1111
#-------------------------------
1212

1313
cmake >= 3.23
14-
cython < 3.0
14+
cython
1515
pybind11
16-
setuptools>=42
17-
setuptools_scm >= 1.5.4
16+
setuptools >= 64
17+
setuptools_scm >= 8
1818
wheel >= 0.30
1919

2020
contextvars ;python_version<"3.7"

0 commit comments

Comments
 (0)