diff --git a/.github/workflows/publish-arrow-to-pypi.yml b/.github/workflows/publish-arrow-to-pypi.yml new file mode 100644 index 0000000..fc20297 --- /dev/null +++ b/.github/workflows/publish-arrow-to-pypi.yml @@ -0,0 +1,116 @@ +name: Publish 🦆duckdb_extension_arrow 🐍📦 to PyPI +on: push + +jobs: + build: + name: Build duckdb_extension_arrow 📦 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install uv + run: | + sudo apt update + sudo apt install -y curl unzip + curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install python + run: uv venv + - name: build duckdb_extension_arrow for osx_arm64 + working-directory: ./extensions/duckdb_extension_arrow + run: | + uv tool run hatch build -t wheel osx_arm64 + - name: build duckdb_extension_arrow for linux_amd64_gcc4 + working-directory: ./extensions/duckdb_extension_arrow + run: | + uv tool run hatch build -t wheel linux_amd64_gcc4 +# - name: build duckdb_extension_arrow for linux_arm64 +# working-directory: ./extensions/duckdb_extension_arrow +# run: | +# uv tool run hatch build -t wheel linux_arm64 + - name: build duckdb_extension_arrow for osx_amd64 + working-directory: ./extensions/duckdb_extension_arrow + run: | + uv tool run hatch build -t wheel osx_amd64 + - name: build duckdb_extension_arrow for windows_amd64 + working-directory: ./extensions/duckdb_extension_arrow + run: | + uv tool run hatch build -t wheel windows_amd64 + - name: Copy wheels to dist directory + run: | + mkdir dist + cp extensions/*/*/*.whl dist + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: duckdb-extension-arrow-distributions + path: dist/*.whl + test: + needs: + - build + strategy: + matrix: + os: + - ubuntu-latest +# - arm-ubuntu-22.04 + - windows-latest + - macos-latest + - macos-13 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install curl + if: runner.os == 'Linux' + run: | + sudo apt update + sudo apt install -y curl + - name: Install uv via curl + if: runner.os == 'Linux' || runner.os == 'macOS' + run: curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install uv via powershell + if: runner.os == 'Windows' + run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" + - name: Install python + run: uv venv + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-arrow-distributions + path: dist/ + - name: Install packages + env: + EXTENSION_NAME: arrow + run: | + uv sync --verbose + uv pip install pytest + uv pip install --no-index --find-links dist --verbose duckdb-extension-arrow + uv run pytest + publish-to-pypi: + name: Publish 🦆duckdb_extension_arrow 🐍📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') + needs: + - test + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/duckdb-extension-arrow + + permissions: + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-arrow-distributions + path: dist/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/publish-autocomplete-to-pypi.yml b/.github/workflows/publish-autocomplete-to-pypi.yml new file mode 100644 index 0000000..fc85678 --- /dev/null +++ b/.github/workflows/publish-autocomplete-to-pypi.yml @@ -0,0 +1,116 @@ +name: Publish 🦆duckdb_extension_autocomplete 🐍📦 to PyPI +on: push + +jobs: + build: + name: Build duckdb_extension_autocomplete 📦 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install uv + run: | + sudo apt update + sudo apt install -y curl unzip + curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install python + run: uv venv + - name: build duckdb_extension_autocomplete for osx_arm64 + working-directory: ./extensions/duckdb_extension_autocomplete + run: | + uv tool run hatch build -t wheel osx_arm64 + - name: build duckdb_extension_autocomplete for linux_amd64_gcc4 + working-directory: ./extensions/duckdb_extension_autocomplete + run: | + uv tool run hatch build -t wheel linux_amd64_gcc4 +# - name: build duckdb_extension_autocomplete for linux_arm64 +# working-directory: ./extensions/duckdb_extension_autocomplete +# run: | +# uv tool run hatch build -t wheel linux_arm64 + - name: build duckdb_extension_autocomplete for osx_amd64 + working-directory: ./extensions/duckdb_extension_autocomplete + run: | + uv tool run hatch build -t wheel osx_amd64 + - name: build duckdb_extension_autocomplete for windows_amd64 + working-directory: ./extensions/duckdb_extension_autocomplete + run: | + uv tool run hatch build -t wheel windows_amd64 + - name: Copy wheels to dist directory + run: | + mkdir dist + cp extensions/*/*/*.whl dist + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: duckdb-extension-autocomplete-distributions + path: dist/*.whl + test: + needs: + - build + strategy: + matrix: + os: + - ubuntu-latest +# - arm-ubuntu-22.04 + - windows-latest + - macos-latest + - macos-13 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install curl + if: runner.os == 'Linux' + run: | + sudo apt update + sudo apt install -y curl + - name: Install uv via curl + if: runner.os == 'Linux' || runner.os == 'macOS' + run: curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install uv via powershell + if: runner.os == 'Windows' + run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" + - name: Install python + run: uv venv + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-autocomplete-distributions + path: dist/ + - name: Install packages + env: + EXTENSION_NAME: autocomplete + run: | + uv sync --verbose + uv pip install pytest + uv pip install --no-index --find-links dist --verbose duckdb-extension-autocomplete + uv run pytest + publish-to-pypi: + name: Publish 🦆duckdb_extension_autocomplete 🐍📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') + needs: + - test + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/duckdb-extension-autocomplete + + permissions: + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-autocomplete-distributions + path: dist/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/publish-aws-to-pypi.yml b/.github/workflows/publish-aws-to-pypi.yml new file mode 100644 index 0000000..f45b4ad --- /dev/null +++ b/.github/workflows/publish-aws-to-pypi.yml @@ -0,0 +1,116 @@ +name: Publish 🦆duckdb_extension_aws 🐍📦 to PyPI +on: push + +jobs: + build: + name: Build duckdb_extension_aws 📦 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install uv + run: | + sudo apt update + sudo apt install -y curl unzip + curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install python + run: uv venv + - name: build duckdb_extension_aws for osx_arm64 + working-directory: ./extensions/duckdb_extension_aws + run: | + uv tool run hatch build -t wheel osx_arm64 + - name: build duckdb_extension_aws for linux_amd64_gcc4 + working-directory: ./extensions/duckdb_extension_aws + run: | + uv tool run hatch build -t wheel linux_amd64_gcc4 +# - name: build duckdb_extension_aws for linux_arm64 +# working-directory: ./extensions/duckdb_extension_aws +# run: | +# uv tool run hatch build -t wheel linux_arm64 + - name: build duckdb_extension_aws for osx_amd64 + working-directory: ./extensions/duckdb_extension_aws + run: | + uv tool run hatch build -t wheel osx_amd64 + - name: build duckdb_extension_aws for windows_amd64 + working-directory: ./extensions/duckdb_extension_aws + run: | + uv tool run hatch build -t wheel windows_amd64 + - name: Copy wheels to dist directory + run: | + mkdir dist + cp extensions/*/*/*.whl dist + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: duckdb-extension-aws-distributions + path: dist/*.whl + test: + needs: + - build + strategy: + matrix: + os: + - ubuntu-latest +# - arm-ubuntu-22.04 + - windows-latest + - macos-latest + - macos-13 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install curl + if: runner.os == 'Linux' + run: | + sudo apt update + sudo apt install -y curl + - name: Install uv via curl + if: runner.os == 'Linux' || runner.os == 'macOS' + run: curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install uv via powershell + if: runner.os == 'Windows' + run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" + - name: Install python + run: uv venv + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-aws-distributions + path: dist/ + - name: Install packages + env: + EXTENSION_NAME: aws + run: | + uv sync --verbose + uv pip install pytest + uv pip install --no-index --find-links dist --verbose duckdb-extension-aws + uv run pytest + publish-to-pypi: + name: Publish 🦆duckdb_extension_aws 🐍📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') + needs: + - test + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/duckdb-extension-aws + + permissions: + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-aws-distributions + path: dist/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/publish-azure-to-pypi.yml b/.github/workflows/publish-azure-to-pypi.yml new file mode 100644 index 0000000..7c0f6c1 --- /dev/null +++ b/.github/workflows/publish-azure-to-pypi.yml @@ -0,0 +1,116 @@ +name: Publish 🦆duckdb_extension_azure 🐍📦 to PyPI +on: push + +jobs: + build: + name: Build duckdb_extension_azure 📦 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install uv + run: | + sudo apt update + sudo apt install -y curl unzip + curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install python + run: uv venv + - name: build duckdb_extension_azure for osx_arm64 + working-directory: ./extensions/duckdb_extension_azure + run: | + uv tool run hatch build -t wheel osx_arm64 + - name: build duckdb_extension_azure for linux_amd64_gcc4 + working-directory: ./extensions/duckdb_extension_azure + run: | + uv tool run hatch build -t wheel linux_amd64_gcc4 +# - name: build duckdb_extension_azure for linux_arm64 +# working-directory: ./extensions/duckdb_extension_azure +# run: | +# uv tool run hatch build -t wheel linux_arm64 + - name: build duckdb_extension_azure for osx_amd64 + working-directory: ./extensions/duckdb_extension_azure + run: | + uv tool run hatch build -t wheel osx_amd64 + - name: build duckdb_extension_azure for windows_amd64 + working-directory: ./extensions/duckdb_extension_azure + run: | + uv tool run hatch build -t wheel windows_amd64 + - name: Copy wheels to dist directory + run: | + mkdir dist + cp extensions/*/*/*.whl dist + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: duckdb-extension-azure-distributions + path: dist/*.whl + test: + needs: + - build + strategy: + matrix: + os: + - ubuntu-latest +# - arm-ubuntu-22.04 + - windows-latest + - macos-latest + - macos-13 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install curl + if: runner.os == 'Linux' + run: | + sudo apt update + sudo apt install -y curl + - name: Install uv via curl + if: runner.os == 'Linux' || runner.os == 'macOS' + run: curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install uv via powershell + if: runner.os == 'Windows' + run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" + - name: Install python + run: uv venv + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-azure-distributions + path: dist/ + - name: Install packages + env: + EXTENSION_NAME: azure + run: | + uv sync --verbose + uv pip install pytest + uv pip install --no-index --find-links dist --verbose duckdb-extension-azure + uv run pytest + publish-to-pypi: + name: Publish 🦆duckdb_extension_azure 🐍📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') + needs: + - test + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/duckdb-extension-azure + + permissions: + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-azure-distributions + path: dist/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/publish-excel-to-pypi.yml b/.github/workflows/publish-excel-to-pypi.yml new file mode 100644 index 0000000..04952b0 --- /dev/null +++ b/.github/workflows/publish-excel-to-pypi.yml @@ -0,0 +1,116 @@ +name: Publish 🦆duckdb_extension_excel 🐍📦 to PyPI +on: push + +jobs: + build: + name: Build duckdb_extension_excel 📦 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install uv + run: | + sudo apt update + sudo apt install -y curl unzip + curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install python + run: uv venv + - name: build duckdb_extension_excel for osx_arm64 + working-directory: ./extensions/duckdb_extension_excel + run: | + uv tool run hatch build -t wheel osx_arm64 + - name: build duckdb_extension_excel for linux_amd64_gcc4 + working-directory: ./extensions/duckdb_extension_excel + run: | + uv tool run hatch build -t wheel linux_amd64_gcc4 +# - name: build duckdb_extension_excel for linux_arm64 +# working-directory: ./extensions/duckdb_extension_excel +# run: | +# uv tool run hatch build -t wheel linux_arm64 + - name: build duckdb_extension_excel for osx_amd64 + working-directory: ./extensions/duckdb_extension_excel + run: | + uv tool run hatch build -t wheel osx_amd64 + - name: build duckdb_extension_excel for windows_amd64 + working-directory: ./extensions/duckdb_extension_excel + run: | + uv tool run hatch build -t wheel windows_amd64 + - name: Copy wheels to dist directory + run: | + mkdir dist + cp extensions/*/*/*.whl dist + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: duckdb-extension-excel-distributions + path: dist/*.whl + test: + needs: + - build + strategy: + matrix: + os: + - ubuntu-latest +# - arm-ubuntu-22.04 + - windows-latest + - macos-latest + - macos-13 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install curl + if: runner.os == 'Linux' + run: | + sudo apt update + sudo apt install -y curl + - name: Install uv via curl + if: runner.os == 'Linux' || runner.os == 'macOS' + run: curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install uv via powershell + if: runner.os == 'Windows' + run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" + - name: Install python + run: uv venv + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-excel-distributions + path: dist/ + - name: Install packages + env: + EXTENSION_NAME: excel + run: | + uv sync --verbose + uv pip install pytest + uv pip install --no-index --find-links dist --verbose duckdb-extension-excel + uv run pytest + publish-to-pypi: + name: Publish 🦆duckdb_extension_excel 🐍📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') + needs: + - test + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/duckdb-extension-excel + + permissions: + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-excel-distributions + path: dist/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/publish-iceberg-to-pypi.yml b/.github/workflows/publish-iceberg-to-pypi.yml new file mode 100644 index 0000000..2e8d966 --- /dev/null +++ b/.github/workflows/publish-iceberg-to-pypi.yml @@ -0,0 +1,116 @@ +name: Publish 🦆duckdb_extension_iceberg 🐍📦 to PyPI +on: push + +jobs: + build: + name: Build duckdb_extension_iceberg 📦 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install uv + run: | + sudo apt update + sudo apt install -y curl unzip + curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install python + run: uv venv + - name: build duckdb_extension_iceberg for osx_arm64 + working-directory: ./extensions/duckdb_extension_iceberg + run: | + uv tool run hatch build -t wheel osx_arm64 + - name: build duckdb_extension_iceberg for linux_amd64_gcc4 + working-directory: ./extensions/duckdb_extension_iceberg + run: | + uv tool run hatch build -t wheel linux_amd64_gcc4 +# - name: build duckdb_extension_iceberg for linux_arm64 +# working-directory: ./extensions/duckdb_extension_iceberg +# run: | +# uv tool run hatch build -t wheel linux_arm64 + - name: build duckdb_extension_iceberg for osx_amd64 + working-directory: ./extensions/duckdb_extension_iceberg + run: | + uv tool run hatch build -t wheel osx_amd64 + - name: build duckdb_extension_iceberg for windows_amd64 + working-directory: ./extensions/duckdb_extension_iceberg + run: | + uv tool run hatch build -t wheel windows_amd64 + - name: Copy wheels to dist directory + run: | + mkdir dist + cp extensions/*/*/*.whl dist + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: duckdb-extension-iceberg-distributions + path: dist/*.whl + test: + needs: + - build + strategy: + matrix: + os: + - ubuntu-latest +# - arm-ubuntu-22.04 + - windows-latest + - macos-latest + - macos-13 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install curl + if: runner.os == 'Linux' + run: | + sudo apt update + sudo apt install -y curl + - name: Install uv via curl + if: runner.os == 'Linux' || runner.os == 'macOS' + run: curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install uv via powershell + if: runner.os == 'Windows' + run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" + - name: Install python + run: uv venv + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-iceberg-distributions + path: dist/ + - name: Install packages + env: + EXTENSION_NAME: iceberg + run: | + uv sync --verbose + uv pip install pytest + uv pip install --no-index --find-links dist --verbose duckdb-extension-iceberg + uv run pytest + publish-to-pypi: + name: Publish 🦆duckdb_extension_iceberg 🐍📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') + needs: + - test + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/duckdb-extension-iceberg + + permissions: + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-iceberg-distributions + path: dist/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/publish-inet-to-pypi.yml b/.github/workflows/publish-inet-to-pypi.yml new file mode 100644 index 0000000..e8bea08 --- /dev/null +++ b/.github/workflows/publish-inet-to-pypi.yml @@ -0,0 +1,116 @@ +name: Publish 🦆duckdb_extension_inet 🐍📦 to PyPI +on: push + +jobs: + build: + name: Build duckdb_extension_inet 📦 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install uv + run: | + sudo apt update + sudo apt install -y curl unzip + curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install python + run: uv venv + - name: build duckdb_extension_inet for osx_arm64 + working-directory: ./extensions/duckdb_extension_inet + run: | + uv tool run hatch build -t wheel osx_arm64 + - name: build duckdb_extension_inet for linux_amd64_gcc4 + working-directory: ./extensions/duckdb_extension_inet + run: | + uv tool run hatch build -t wheel linux_amd64_gcc4 +# - name: build duckdb_extension_inet for linux_arm64 +# working-directory: ./extensions/duckdb_extension_inet +# run: | +# uv tool run hatch build -t wheel linux_arm64 + - name: build duckdb_extension_inet for osx_amd64 + working-directory: ./extensions/duckdb_extension_inet + run: | + uv tool run hatch build -t wheel osx_amd64 + - name: build duckdb_extension_inet for windows_amd64 + working-directory: ./extensions/duckdb_extension_inet + run: | + uv tool run hatch build -t wheel windows_amd64 + - name: Copy wheels to dist directory + run: | + mkdir dist + cp extensions/*/*/*.whl dist + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: duckdb-extension-inet-distributions + path: dist/*.whl + test: + needs: + - build + strategy: + matrix: + os: + - ubuntu-latest +# - arm-ubuntu-22.04 + - windows-latest + - macos-latest + - macos-13 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install curl + if: runner.os == 'Linux' + run: | + sudo apt update + sudo apt install -y curl + - name: Install uv via curl + if: runner.os == 'Linux' || runner.os == 'macOS' + run: curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install uv via powershell + if: runner.os == 'Windows' + run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" + - name: Install python + run: uv venv + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-inet-distributions + path: dist/ + - name: Install packages + env: + EXTENSION_NAME: inet + run: | + uv sync --verbose + uv pip install pytest + uv pip install --no-index --find-links dist --verbose duckdb-extension-inet + uv run pytest + publish-to-pypi: + name: Publish 🦆duckdb_extension_inet 🐍📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') + needs: + - test + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/duckdb-extension-inet + + permissions: + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-inet-distributions + path: dist/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/publish-motherduck-to-pypi.yml b/.github/workflows/publish-motherduck-to-pypi.yml new file mode 100644 index 0000000..1517cc4 --- /dev/null +++ b/.github/workflows/publish-motherduck-to-pypi.yml @@ -0,0 +1,116 @@ +name: Publish 🦆duckdb_extension_motherduck 🐍📦 to PyPI +on: push + +jobs: + build: + name: Build duckdb_extension_motherduck 📦 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install uv + run: | + sudo apt update + sudo apt install -y curl unzip + curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install python + run: uv venv + - name: build duckdb_extension_motherduck for osx_arm64 + working-directory: ./extensions/duckdb_extension_motherduck + run: | + uv tool run hatch build -t wheel osx_arm64 + - name: build duckdb_extension_motherduck for linux_amd64_gcc4 + working-directory: ./extensions/duckdb_extension_motherduck + run: | + uv tool run hatch build -t wheel linux_amd64_gcc4 +# - name: build duckdb_extension_motherduck for linux_arm64 +# working-directory: ./extensions/duckdb_extension_motherduck +# run: | +# uv tool run hatch build -t wheel linux_arm64 + - name: build duckdb_extension_motherduck for osx_amd64 + working-directory: ./extensions/duckdb_extension_motherduck + run: | + uv tool run hatch build -t wheel osx_amd64 + - name: build duckdb_extension_motherduck for windows_amd64 + working-directory: ./extensions/duckdb_extension_motherduck + run: | + uv tool run hatch build -t wheel windows_amd64 + - name: Copy wheels to dist directory + run: | + mkdir dist + cp extensions/*/*/*.whl dist + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: duckdb-extension-motherduck-distributions + path: dist/*.whl + test: + needs: + - build + strategy: + matrix: + os: + - ubuntu-latest +# - arm-ubuntu-22.04 + - windows-latest + - macos-latest + - macos-13 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install curl + if: runner.os == 'Linux' + run: | + sudo apt update + sudo apt install -y curl + - name: Install uv via curl + if: runner.os == 'Linux' || runner.os == 'macOS' + run: curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install uv via powershell + if: runner.os == 'Windows' + run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" + - name: Install python + run: uv venv + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-motherduck-distributions + path: dist/ + - name: Install packages + env: + EXTENSION_NAME: motherduck + run: | + uv sync --verbose + uv pip install pytest + uv pip install --no-index --find-links dist --verbose duckdb-extension-motherduck + uv run pytest + publish-to-pypi: + name: Publish 🦆duckdb_extension_motherduck 🐍📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') + needs: + - test + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/duckdb-extension-motherduck + + permissions: + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-motherduck-distributions + path: dist/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/publish-mysql_scanner-to-pypi.yml b/.github/workflows/publish-mysql_scanner-to-pypi.yml new file mode 100644 index 0000000..eb1f524 --- /dev/null +++ b/.github/workflows/publish-mysql_scanner-to-pypi.yml @@ -0,0 +1,116 @@ +name: Publish 🦆duckdb_extension_mysql_scanner 🐍📦 to PyPI +on: push + +jobs: + build: + name: Build duckdb_extension_mysql_scanner 📦 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install uv + run: | + sudo apt update + sudo apt install -y curl unzip + curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install python + run: uv venv + - name: build duckdb_extension_mysql_scanner for osx_arm64 + working-directory: ./extensions/duckdb_extension_mysql_scanner + run: | + uv tool run hatch build -t wheel osx_arm64 + - name: build duckdb_extension_mysql_scanner for linux_amd64_gcc4 + working-directory: ./extensions/duckdb_extension_mysql_scanner + run: | + uv tool run hatch build -t wheel linux_amd64_gcc4 +# - name: build duckdb_extension_mysql_scanner for linux_arm64 +# working-directory: ./extensions/duckdb_extension_mysql_scanner +# run: | +# uv tool run hatch build -t wheel linux_arm64 + - name: build duckdb_extension_mysql_scanner for osx_amd64 + working-directory: ./extensions/duckdb_extension_mysql_scanner + run: | + uv tool run hatch build -t wheel osx_amd64 + - name: build duckdb_extension_mysql_scanner for windows_amd64 + working-directory: ./extensions/duckdb_extension_mysql_scanner + run: | + uv tool run hatch build -t wheel windows_amd64 + - name: Copy wheels to dist directory + run: | + mkdir dist + cp extensions/*/*/*.whl dist + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: duckdb-extension-mysql_scanner-distributions + path: dist/*.whl + test: + needs: + - build + strategy: + matrix: + os: + - ubuntu-latest +# - arm-ubuntu-22.04 + - windows-latest + - macos-latest + - macos-13 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install curl + if: runner.os == 'Linux' + run: | + sudo apt update + sudo apt install -y curl + - name: Install uv via curl + if: runner.os == 'Linux' || runner.os == 'macOS' + run: curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install uv via powershell + if: runner.os == 'Windows' + run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" + - name: Install python + run: uv venv + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-mysql_scanner-distributions + path: dist/ + - name: Install packages + env: + EXTENSION_NAME: mysql_scanner + run: | + uv sync --verbose + uv pip install pytest + uv pip install --no-index --find-links dist --verbose duckdb-extension-mysql_scanner + uv run pytest + publish-to-pypi: + name: Publish 🦆duckdb_extension_mysql_scanner 🐍📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') + needs: + - test + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/duckdb-extension-mysql_scanner + + permissions: + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-mysql_scanner-distributions + path: dist/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/publish-sqlite_scanner-to-pypi.yml b/.github/workflows/publish-sqlite_scanner-to-pypi.yml new file mode 100644 index 0000000..316f8b3 --- /dev/null +++ b/.github/workflows/publish-sqlite_scanner-to-pypi.yml @@ -0,0 +1,116 @@ +name: Publish 🦆duckdb_extension_sqlite_scanner 🐍📦 to PyPI +on: push + +jobs: + build: + name: Build duckdb_extension_sqlite_scanner 📦 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install uv + run: | + sudo apt update + sudo apt install -y curl unzip + curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install python + run: uv venv + - name: build duckdb_extension_sqlite_scanner for osx_arm64 + working-directory: ./extensions/duckdb_extension_sqlite_scanner + run: | + uv tool run hatch build -t wheel osx_arm64 + - name: build duckdb_extension_sqlite_scanner for linux_amd64_gcc4 + working-directory: ./extensions/duckdb_extension_sqlite_scanner + run: | + uv tool run hatch build -t wheel linux_amd64_gcc4 +# - name: build duckdb_extension_sqlite_scanner for linux_arm64 +# working-directory: ./extensions/duckdb_extension_sqlite_scanner +# run: | +# uv tool run hatch build -t wheel linux_arm64 + - name: build duckdb_extension_sqlite_scanner for osx_amd64 + working-directory: ./extensions/duckdb_extension_sqlite_scanner + run: | + uv tool run hatch build -t wheel osx_amd64 + - name: build duckdb_extension_sqlite_scanner for windows_amd64 + working-directory: ./extensions/duckdb_extension_sqlite_scanner + run: | + uv tool run hatch build -t wheel windows_amd64 + - name: Copy wheels to dist directory + run: | + mkdir dist + cp extensions/*/*/*.whl dist + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: duckdb-extension-sqlite_scanner-distributions + path: dist/*.whl + test: + needs: + - build + strategy: + matrix: + os: + - ubuntu-latest +# - arm-ubuntu-22.04 + - windows-latest + - macos-latest + - macos-13 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install curl + if: runner.os == 'Linux' + run: | + sudo apt update + sudo apt install -y curl + - name: Install uv via curl + if: runner.os == 'Linux' || runner.os == 'macOS' + run: curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install uv via powershell + if: runner.os == 'Windows' + run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" + - name: Install python + run: uv venv + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-sqlite_scanner-distributions + path: dist/ + - name: Install packages + env: + EXTENSION_NAME: sqlite_scanner + run: | + uv sync --verbose + uv pip install pytest + uv pip install --no-index --find-links dist --verbose duckdb-extension-sqlite_scanner + uv run pytest + publish-to-pypi: + name: Publish 🦆duckdb_extension_sqlite_scanner 🐍📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') + needs: + - test + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/duckdb-extension-sqlite_scanner + + permissions: + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-sqlite_scanner-distributions + path: dist/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/publish-substrait-to-pypi.yml b/.github/workflows/publish-substrait-to-pypi.yml new file mode 100644 index 0000000..34c326b --- /dev/null +++ b/.github/workflows/publish-substrait-to-pypi.yml @@ -0,0 +1,116 @@ +name: Publish 🦆duckdb_extension_substrait 🐍📦 to PyPI +on: push + +jobs: + build: + name: Build duckdb_extension_substrait 📦 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install uv + run: | + sudo apt update + sudo apt install -y curl unzip + curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install python + run: uv venv + - name: build duckdb_extension_substrait for osx_arm64 + working-directory: ./extensions/duckdb_extension_substrait + run: | + uv tool run hatch build -t wheel osx_arm64 + - name: build duckdb_extension_substrait for linux_amd64_gcc4 + working-directory: ./extensions/duckdb_extension_substrait + run: | + uv tool run hatch build -t wheel linux_amd64_gcc4 +# - name: build duckdb_extension_substrait for linux_arm64 +# working-directory: ./extensions/duckdb_extension_substrait +# run: | +# uv tool run hatch build -t wheel linux_arm64 + - name: build duckdb_extension_substrait for osx_amd64 + working-directory: ./extensions/duckdb_extension_substrait + run: | + uv tool run hatch build -t wheel osx_amd64 +# - name: build duckdb_extension_substrait for windows_amd64 +# working-directory: ./extensions/duckdb_extension_substrait +# run: | +# uv tool run hatch build -t wheel windows_amd64 + - name: Copy wheels to dist directory + run: | + mkdir dist + cp extensions/*/*/*.whl dist + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: duckdb-extension-substrait-distributions + path: dist/*.whl + test: + needs: + - build + strategy: + matrix: + os: + - ubuntu-latest +# - arm-ubuntu-22.04 +# - windows-latest + - macos-latest + - macos-13 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install curl + if: runner.os == 'Linux' + run: | + sudo apt update + sudo apt install -y curl + - name: Install uv via curl + if: runner.os == 'Linux' || runner.os == 'macOS' + run: curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install uv via powershell + if: runner.os == 'Windows' + run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" + - name: Install python + run: uv venv + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-substrait-distributions + path: dist/ + - name: Install packages + env: + EXTENSION_NAME: substrait + run: | + uv sync --verbose + uv pip install pytest + uv pip install --no-index --find-links dist --verbose duckdb-extension-substrait + uv run pytest + publish-to-pypi: + name: Publish 🦆duckdb_extension_substrait 🐍📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') + needs: + - test + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/duckdb-extension-substrait + + permissions: + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-substrait-distributions + path: dist/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/publish-vss-to-pypi.yml b/.github/workflows/publish-vss-to-pypi.yml new file mode 100644 index 0000000..2344d1c --- /dev/null +++ b/.github/workflows/publish-vss-to-pypi.yml @@ -0,0 +1,116 @@ +name: Publish 🦆duckdb_extension_vss 🐍📦 to PyPI +on: push + +jobs: + build: + name: Build duckdb_extension_vss 📦 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install uv + run: | + sudo apt update + sudo apt install -y curl unzip + curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install python + run: uv venv + - name: build duckdb_extension_vss for osx_arm64 + working-directory: ./extensions/duckdb_extension_vss + run: | + uv tool run hatch build -t wheel osx_arm64 + - name: build duckdb_extension_vss for linux_amd64_gcc4 + working-directory: ./extensions/duckdb_extension_vss + run: | + uv tool run hatch build -t wheel linux_amd64_gcc4 +# - name: build duckdb_extension_vss for linux_arm64 +# working-directory: ./extensions/duckdb_extension_vss +# run: | +# uv tool run hatch build -t wheel linux_arm64 + - name: build duckdb_extension_vss for osx_amd64 + working-directory: ./extensions/duckdb_extension_vss + run: | + uv tool run hatch build -t wheel osx_amd64 + - name: build duckdb_extension_vss for windows_amd64 + working-directory: ./extensions/duckdb_extension_vss + run: | + uv tool run hatch build -t wheel windows_amd64 + - name: Copy wheels to dist directory + run: | + mkdir dist + cp extensions/*/*/*.whl dist + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: duckdb-extension-vss-distributions + path: dist/*.whl + test: + needs: + - build + strategy: + matrix: + os: + - ubuntu-latest +# - arm-ubuntu-22.04 + - windows-latest + - macos-latest + - macos-13 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install Act dependencies + if: ${{ env.ACT }} + run: | + apt-get update && apt-get install sudo -y + - name: Install curl + if: runner.os == 'Linux' + run: | + sudo apt update + sudo apt install -y curl + - name: Install uv via curl + if: runner.os == 'Linux' || runner.os == 'macOS' + run: curl -LsSf https://astral.sh/uv/install.sh | sh + - name: Install uv via powershell + if: runner.os == 'Windows' + run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" + - name: Install python + run: uv venv + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-vss-distributions + path: dist/ + - name: Install packages + env: + EXTENSION_NAME: vss + run: | + uv sync --verbose + uv pip install pytest + uv pip install --no-index --find-links dist --verbose duckdb-extension-vss + uv run pytest + publish-to-pypi: + name: Publish 🦆duckdb_extension_vss 🐍📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') + needs: + - test + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/duckdb-extension-vss + + permissions: + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: duckdb-extension-vss-distributions + path: dist/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/README.md b/README.md index 5656b28..c22ea02 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,24 @@ - [License](#license) ## Available extensions -- `duckdb-extension-httpfs` -- `duckdb-extension-spatial` -- `duckdb-extension-parquet` -- `duckdb-extension-delta` -- `duckdb-extension-postgres` or `duckdb-extension-postgres-scanner` +- [duckdb_extension_arrow](extensions/duckdb_extension_arrow) +- [duckdb_extension_autocomplete](extensions/duckdb_extension_autocomplete) +- [duckdb_extension_aws](extensions/duckdb_extension_aws) +- [duckdb_extension_azure](extensions/duckdb_extension_azure) +- [duckdb_extension_delta](extensions/duckdb_extension_delta) +- [duckdb_extension_excel](extensions/duckdb_extension_excel) +- [duckdb_extension_httpfs](extensions/duckdb_extension_httpfs) +- [duckdb_extension_iceberg](extensions/duckdb_extension_iceberg) +- [duckdb_extension_inet](extensions/duckdb_extension_inet) +- [duckdb_extension_motherduck](extensions/duckdb_extension_motherduck) +- [duckdb_extension_mysql_scanner](extensions/duckdb_extension_mysql_scanner) +- [duckdb_extension_parquet](extensions/duckdb_extension_parquet) +- [duckdb_extension_postgres](extensions/duckdb_extension_postgres) +- [duckdb_extension_postgres_scanner](extensions/duckdb_extension_postgres_scanner) +- [duckdb_extension_spatial](extensions/duckdb_extension_spatial) +- [duckdb_extension_sqlite_scanner](extensions/duckdb_extension_sqlite_scanner) +- [duckdb_extension_substrait](extensions/duckdb_extension_substrait) +- [duckdb_extension_vss](extensions/duckdb_extension_vss) **The architectures supported:** - `linux_amd64_gcc4` @@ -25,6 +38,9 @@ Compatible with `duckdb==1.0.0` +Note: +- No `windows_amd64` for `duckdb_extension_substrait` + ## Installation First install `duckdb-extensions`. ```console diff --git a/extensions/duckdb_extension_arrow/LICENSE.txt b/extensions/duckdb_extension_arrow/LICENSE.txt new file mode 100644 index 0000000..43ca0a5 --- /dev/null +++ b/extensions/duckdb_extension_arrow/LICENSE.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024-present santosh + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/extensions/duckdb_extension_arrow/README.md b/extensions/duckdb_extension_arrow/README.md new file mode 100644 index 0000000..3e1e88f --- /dev/null +++ b/extensions/duckdb_extension_arrow/README.md @@ -0,0 +1,39 @@ +# 🦆DuckDB arrow extension as python package + +[![PyPI - Version](https://img.shields.io/pypi/v/duckdb-extension-arrow.svg)](https://pypi.org/project/duckdb-extension-arrow) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/duckdb-extension-arrow.svg)](https://pypi.org/project/duckdb-extension-arrow) + +----- + +## Table of Contents + +- [Installation](#installation) +- [License](#license) + + +## Installation +```console +pip install duckdb-extensions duckdb-extension-arrow +``` +You are ready to install the extension for duckdb. +```python +from duckdb_extensions import extension_importer +extension_importer.import_extension("arrow") +``` + +Verify that the extension is installed. +```python +import duckdb + +print( + duckdb.sql("""SELECT installed + FROM duckdb_extensions() where + extension_name='arrow' or + list_contains(aliases, 'arrow')""") + .fetchone()[0] +) +``` + +## License + +`duckdb-extension-arrow` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. diff --git a/extensions/duckdb_extension_arrow/pyproject.toml b/extensions/duckdb_extension_arrow/pyproject.toml new file mode 100644 index 0000000..476059b --- /dev/null +++ b/extensions/duckdb_extension_arrow/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "duckdb_extension_arrow" +description = "Duckdb arrow extension" +version = "1.0.3.a1" +requires-python = ">=3.8" +license = "MIT" +readme = "README.md" +keywords = [] +authors = [ + { name = "santosh", email = "void@some.where" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] +dependencies = [ + "requests>=1.0.0", + "duckdb>=1.0.0", + "importlib-resources==3.0.0;python_version<'3.9'", +] + +[project.urls] +Documentation = "https://github.com/santosh-d3vpl3x/duckdb_extensions#readme" +Issues = "https://github.com/santosh-d3vpl3x/duckdb_extensions/issues" +Source = "https://github.com/santosh-d3vpl3x/duckdb_extensions" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel.hooks.custom] +path = "../../add_extension_files.py" +require-runtime-dependencies = true + +[tool.extension_builder] +extension_name = "arrow" diff --git a/extensions/duckdb_extension_postgres/__init__.py b/extensions/duckdb_extension_arrow/src/duckdb_extension_arrow/__init__.py similarity index 100% rename from extensions/duckdb_extension_postgres/__init__.py rename to extensions/duckdb_extension_arrow/src/duckdb_extension_arrow/__init__.py diff --git a/extensions/duckdb_extension_autocomplete/LICENSE.txt b/extensions/duckdb_extension_autocomplete/LICENSE.txt new file mode 100644 index 0000000..43ca0a5 --- /dev/null +++ b/extensions/duckdb_extension_autocomplete/LICENSE.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024-present santosh + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/extensions/duckdb_extension_autocomplete/README.md b/extensions/duckdb_extension_autocomplete/README.md new file mode 100644 index 0000000..a3280ab --- /dev/null +++ b/extensions/duckdb_extension_autocomplete/README.md @@ -0,0 +1,39 @@ +# 🦆DuckDB autocomplete extension as python package + +[![PyPI - Version](https://img.shields.io/pypi/v/duckdb-extension-autocomplete.svg)](https://pypi.org/project/duckdb-extension-autocomplete) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/duckdb-extension-autocomplete.svg)](https://pypi.org/project/duckdb-extension-autocomplete) + +----- + +## Table of Contents + +- [Installation](#installation) +- [License](#license) + + +## Installation +```console +pip install duckdb-extensions duckdb-extension-autocomplete +``` +You are ready to install the extension for duckdb. +```python +from duckdb_extensions import extension_importer +extension_importer.import_extension("autocomplete") +``` + +Verify that the extension is installed. +```python +import duckdb + +print( + duckdb.sql("""SELECT installed + FROM duckdb_extensions() where + extension_name='autocomplete' or + list_contains(aliases, 'autocomplete')""") + .fetchone()[0] +) +``` + +## License + +`duckdb-extension-autocomplete` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. diff --git a/extensions/duckdb_extension_autocomplete/pyproject.toml b/extensions/duckdb_extension_autocomplete/pyproject.toml new file mode 100644 index 0000000..d36178a --- /dev/null +++ b/extensions/duckdb_extension_autocomplete/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "duckdb_extension_autocomplete" +description = "Duckdb autocomplete extension" +version = "1.0.3.a1" +requires-python = ">=3.8" +license = "MIT" +readme = "README.md" +keywords = [] +authors = [ + { name = "santosh", email = "void@some.where" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] +dependencies = [ + "requests>=1.0.0", + "duckdb>=1.0.0", + "importlib-resources==3.0.0;python_version<'3.9'", +] + +[project.urls] +Documentation = "https://github.com/santosh-d3vpl3x/duckdb_extensions#readme" +Issues = "https://github.com/santosh-d3vpl3x/duckdb_extensions/issues" +Source = "https://github.com/santosh-d3vpl3x/duckdb_extensions" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel.hooks.custom] +path = "../../add_extension_files.py" +require-runtime-dependencies = true + +[tool.extension_builder] +extension_name = "autocomplete" diff --git a/extensions/duckdb_extension_autocomplete/src/duckdb_extension_autocomplete/__init__.py b/extensions/duckdb_extension_autocomplete/src/duckdb_extension_autocomplete/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/extensions/duckdb_extension_aws/LICENSE.txt b/extensions/duckdb_extension_aws/LICENSE.txt new file mode 100644 index 0000000..43ca0a5 --- /dev/null +++ b/extensions/duckdb_extension_aws/LICENSE.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024-present santosh + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/extensions/duckdb_extension_aws/README.md b/extensions/duckdb_extension_aws/README.md new file mode 100644 index 0000000..c7de138 --- /dev/null +++ b/extensions/duckdb_extension_aws/README.md @@ -0,0 +1,39 @@ +# 🦆DuckDB aws extension as python package + +[![PyPI - Version](https://img.shields.io/pypi/v/duckdb-extension-aws.svg)](https://pypi.org/project/duckdb-extension-aws) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/duckdb-extension-aws.svg)](https://pypi.org/project/duckdb-extension-aws) + +----- + +## Table of Contents + +- [Installation](#installation) +- [License](#license) + + +## Installation +```console +pip install duckdb-extensions duckdb-extension-aws +``` +You are ready to install the extension for duckdb. +```python +from duckdb_extensions import extension_importer +extension_importer.import_extension("aws") +``` + +Verify that the extension is installed. +```python +import duckdb + +print( + duckdb.sql("""SELECT installed + FROM duckdb_extensions() where + extension_name='aws' or + list_contains(aliases, 'aws')""") + .fetchone()[0] +) +``` + +## License + +`duckdb-extension-aws` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. diff --git a/extensions/duckdb_extension_aws/pyproject.toml b/extensions/duckdb_extension_aws/pyproject.toml new file mode 100644 index 0000000..767fd1d --- /dev/null +++ b/extensions/duckdb_extension_aws/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "duckdb_extension_aws" +description = "Duckdb aws extension" +version = "1.0.3.a1" +requires-python = ">=3.8" +license = "MIT" +readme = "README.md" +keywords = [] +authors = [ + { name = "santosh", email = "void@some.where" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] +dependencies = [ + "requests>=1.0.0", + "duckdb>=1.0.0", + "importlib-resources==3.0.0;python_version<'3.9'", +] + +[project.urls] +Documentation = "https://github.com/santosh-d3vpl3x/duckdb_extensions#readme" +Issues = "https://github.com/santosh-d3vpl3x/duckdb_extensions/issues" +Source = "https://github.com/santosh-d3vpl3x/duckdb_extensions" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel.hooks.custom] +path = "../../add_extension_files.py" +require-runtime-dependencies = true + +[tool.extension_builder] +extension_name = "aws" diff --git a/extensions/duckdb_extension_aws/src/duckdb_extension_aws/__init__.py b/extensions/duckdb_extension_aws/src/duckdb_extension_aws/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/extensions/duckdb_extension_azure/LICENSE.txt b/extensions/duckdb_extension_azure/LICENSE.txt new file mode 100644 index 0000000..43ca0a5 --- /dev/null +++ b/extensions/duckdb_extension_azure/LICENSE.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024-present santosh + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/extensions/duckdb_extension_azure/README.md b/extensions/duckdb_extension_azure/README.md new file mode 100644 index 0000000..d5d1458 --- /dev/null +++ b/extensions/duckdb_extension_azure/README.md @@ -0,0 +1,39 @@ +# 🦆DuckDB azure extension as python package + +[![PyPI - Version](https://img.shields.io/pypi/v/duckdb-extension-azure.svg)](https://pypi.org/project/duckdb-extension-azure) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/duckdb-extension-azure.svg)](https://pypi.org/project/duckdb-extension-azure) + +----- + +## Table of Contents + +- [Installation](#installation) +- [License](#license) + + +## Installation +```console +pip install duckdb-extensions duckdb-extension-azure +``` +You are ready to install the extension for duckdb. +```python +from duckdb_extensions import extension_importer +extension_importer.import_extension("azure") +``` + +Verify that the extension is installed. +```python +import duckdb + +print( + duckdb.sql("""SELECT installed + FROM duckdb_extensions() where + extension_name='azure' or + list_contains(aliases, 'azure')""") + .fetchone()[0] +) +``` + +## License + +`duckdb-extension-azure` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. diff --git a/extensions/duckdb_extension_azure/pyproject.toml b/extensions/duckdb_extension_azure/pyproject.toml new file mode 100644 index 0000000..3bc794b --- /dev/null +++ b/extensions/duckdb_extension_azure/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "duckdb_extension_azure" +description = "Duckdb azure extension" +version = "1.0.3.a1" +requires-python = ">=3.8" +license = "MIT" +readme = "README.md" +keywords = [] +authors = [ + { name = "santosh", email = "void@some.where" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] +dependencies = [ + "requests>=1.0.0", + "duckdb>=1.0.0", + "importlib-resources==3.0.0;python_version<'3.9'", +] + +[project.urls] +Documentation = "https://github.com/santosh-d3vpl3x/duckdb_extensions#readme" +Issues = "https://github.com/santosh-d3vpl3x/duckdb_extensions/issues" +Source = "https://github.com/santosh-d3vpl3x/duckdb_extensions" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel.hooks.custom] +path = "../../add_extension_files.py" +require-runtime-dependencies = true + +[tool.extension_builder] +extension_name = "azure" diff --git a/extensions/duckdb_extension_azure/src/duckdb_extension_azure/__init__.py b/extensions/duckdb_extension_azure/src/duckdb_extension_azure/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/extensions/duckdb_extension_delta/README.md b/extensions/duckdb_extension_delta/README.md index ab38146..b723866 100644 --- a/extensions/duckdb_extension_delta/README.md +++ b/extensions/duckdb_extension_delta/README.md @@ -12,7 +12,6 @@ ## Installation -First install `duckdb-extensions`. ```console pip install duckdb-extensions duckdb-extension-delta ``` diff --git a/extensions/duckdb_extension_excel/LICENSE.txt b/extensions/duckdb_extension_excel/LICENSE.txt new file mode 100644 index 0000000..43ca0a5 --- /dev/null +++ b/extensions/duckdb_extension_excel/LICENSE.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024-present santosh + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/extensions/duckdb_extension_excel/README.md b/extensions/duckdb_extension_excel/README.md new file mode 100644 index 0000000..8df6bdc --- /dev/null +++ b/extensions/duckdb_extension_excel/README.md @@ -0,0 +1,39 @@ +# 🦆DuckDB excel extension as python package + +[![PyPI - Version](https://img.shields.io/pypi/v/duckdb-extension-excel.svg)](https://pypi.org/project/duckdb-extension-excel) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/duckdb-extension-excel.svg)](https://pypi.org/project/duckdb-extension-excel) + +----- + +## Table of Contents + +- [Installation](#installation) +- [License](#license) + + +## Installation +```console +pip install duckdb-extensions duckdb-extension-excel +``` +You are ready to install the extension for duckdb. +```python +from duckdb_extensions import extension_importer +extension_importer.import_extension("excel") +``` + +Verify that the extension is installed. +```python +import duckdb + +print( + duckdb.sql("""SELECT installed + FROM duckdb_extensions() where + extension_name='excel' or + list_contains(aliases, 'excel')""") + .fetchone()[0] +) +``` + +## License + +`duckdb-extension-excel` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. diff --git a/extensions/duckdb_extension_excel/pyproject.toml b/extensions/duckdb_extension_excel/pyproject.toml new file mode 100644 index 0000000..8238183 --- /dev/null +++ b/extensions/duckdb_extension_excel/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "duckdb_extension_excel" +description = "Duckdb excel extension" +version = "1.0.3.a1" +requires-python = ">=3.8" +license = "MIT" +readme = "README.md" +keywords = [] +authors = [ + { name = "santosh", email = "void@some.where" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] +dependencies = [ + "requests>=1.0.0", + "duckdb>=1.0.0", + "importlib-resources==3.0.0;python_version<'3.9'", +] + +[project.urls] +Documentation = "https://github.com/santosh-d3vpl3x/duckdb_extensions#readme" +Issues = "https://github.com/santosh-d3vpl3x/duckdb_extensions/issues" +Source = "https://github.com/santosh-d3vpl3x/duckdb_extensions" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel.hooks.custom] +path = "../../add_extension_files.py" +require-runtime-dependencies = true + +[tool.extension_builder] +extension_name = "excel" diff --git a/extensions/duckdb_extension_excel/src/duckdb_extension_excel/__init__.py b/extensions/duckdb_extension_excel/src/duckdb_extension_excel/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/extensions/duckdb_extension_httpfs/README.md b/extensions/duckdb_extension_httpfs/README.md index bf93dd4..8b9ef02 100644 --- a/extensions/duckdb_extension_httpfs/README.md +++ b/extensions/duckdb_extension_httpfs/README.md @@ -12,7 +12,6 @@ ## Installation -First install `duckdb-extensions`. ```console pip install duckdb-extensions duckdb-extension-httpfs ``` diff --git a/extensions/duckdb_extension_iceberg/LICENSE.txt b/extensions/duckdb_extension_iceberg/LICENSE.txt new file mode 100644 index 0000000..43ca0a5 --- /dev/null +++ b/extensions/duckdb_extension_iceberg/LICENSE.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024-present santosh + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/extensions/duckdb_extension_iceberg/README.md b/extensions/duckdb_extension_iceberg/README.md new file mode 100644 index 0000000..3b3ebda --- /dev/null +++ b/extensions/duckdb_extension_iceberg/README.md @@ -0,0 +1,39 @@ +# 🦆DuckDB iceberg extension as python package + +[![PyPI - Version](https://img.shields.io/pypi/v/duckdb-extension-iceberg.svg)](https://pypi.org/project/duckdb-extension-iceberg) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/duckdb-extension-iceberg.svg)](https://pypi.org/project/duckdb-extension-iceberg) + +----- + +## Table of Contents + +- [Installation](#installation) +- [License](#license) + + +## Installation +```console +pip install duckdb-extensions duckdb-extension-iceberg +``` +You are ready to install the extension for duckdb. +```python +from duckdb_extensions import extension_importer +extension_importer.import_extension("iceberg") +``` + +Verify that the extension is installed. +```python +import duckdb + +print( + duckdb.sql("""SELECT installed + FROM duckdb_extensions() where + extension_name='iceberg' or + list_contains(aliases, 'iceberg')""") + .fetchone()[0] +) +``` + +## License + +`duckdb-extension-iceberg` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. diff --git a/extensions/duckdb_extension_iceberg/pyproject.toml b/extensions/duckdb_extension_iceberg/pyproject.toml new file mode 100644 index 0000000..691ecc0 --- /dev/null +++ b/extensions/duckdb_extension_iceberg/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "duckdb_extension_iceberg" +description = "Duckdb iceberg extension" +version = "1.0.3.a1" +requires-python = ">=3.8" +license = "MIT" +readme = "README.md" +keywords = [] +authors = [ + { name = "santosh", email = "void@some.where" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] +dependencies = [ + "requests>=1.0.0", + "duckdb>=1.0.0", + "importlib-resources==3.0.0;python_version<'3.9'", +] + +[project.urls] +Documentation = "https://github.com/santosh-d3vpl3x/duckdb_extensions#readme" +Issues = "https://github.com/santosh-d3vpl3x/duckdb_extensions/issues" +Source = "https://github.com/santosh-d3vpl3x/duckdb_extensions" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel.hooks.custom] +path = "../../add_extension_files.py" +require-runtime-dependencies = true + +[tool.extension_builder] +extension_name = "iceberg" diff --git a/extensions/duckdb_extension_iceberg/src/duckdb_extension_iceberg/__init__.py b/extensions/duckdb_extension_iceberg/src/duckdb_extension_iceberg/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/extensions/duckdb_extension_inet/LICENSE.txt b/extensions/duckdb_extension_inet/LICENSE.txt new file mode 100644 index 0000000..43ca0a5 --- /dev/null +++ b/extensions/duckdb_extension_inet/LICENSE.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024-present santosh + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/extensions/duckdb_extension_inet/README.md b/extensions/duckdb_extension_inet/README.md new file mode 100644 index 0000000..52e88d2 --- /dev/null +++ b/extensions/duckdb_extension_inet/README.md @@ -0,0 +1,39 @@ +# 🦆DuckDB inet extension as python package + +[![PyPI - Version](https://img.shields.io/pypi/v/duckdb-extension-inet.svg)](https://pypi.org/project/duckdb-extension-inet) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/duckdb-extension-inet.svg)](https://pypi.org/project/duckdb-extension-inet) + +----- + +## Table of Contents + +- [Installation](#installation) +- [License](#license) + + +## Installation +```console +pip install duckdb-extensions duckdb-extension-inet +``` +You are ready to install the extension for duckdb. +```python +from duckdb_extensions import extension_importer +extension_importer.import_extension("inet") +``` + +Verify that the extension is installed. +```python +import duckdb + +print( + duckdb.sql("""SELECT installed + FROM duckdb_extensions() where + extension_name='inet' or + list_contains(aliases, 'inet')""") + .fetchone()[0] +) +``` + +## License + +`duckdb-extension-inet` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. diff --git a/extensions/duckdb_extension_inet/pyproject.toml b/extensions/duckdb_extension_inet/pyproject.toml new file mode 100644 index 0000000..2289fa0 --- /dev/null +++ b/extensions/duckdb_extension_inet/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "duckdb_extension_inet" +description = "Duckdb inet extension" +version = "1.0.3.a1" +requires-python = ">=3.8" +license = "MIT" +readme = "README.md" +keywords = [] +authors = [ + { name = "santosh", email = "void@some.where" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] +dependencies = [ + "requests>=1.0.0", + "duckdb>=1.0.0", + "importlib-resources==3.0.0;python_version<'3.9'", +] + +[project.urls] +Documentation = "https://github.com/santosh-d3vpl3x/duckdb_extensions#readme" +Issues = "https://github.com/santosh-d3vpl3x/duckdb_extensions/issues" +Source = "https://github.com/santosh-d3vpl3x/duckdb_extensions" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel.hooks.custom] +path = "../../add_extension_files.py" +require-runtime-dependencies = true + +[tool.extension_builder] +extension_name = "inet" diff --git a/extensions/duckdb_extension_inet/src/duckdb_extension_inet/__init__.py b/extensions/duckdb_extension_inet/src/duckdb_extension_inet/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/extensions/duckdb_extension_motherduck/LICENSE.txt b/extensions/duckdb_extension_motherduck/LICENSE.txt new file mode 100644 index 0000000..43ca0a5 --- /dev/null +++ b/extensions/duckdb_extension_motherduck/LICENSE.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024-present santosh + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/extensions/duckdb_extension_motherduck/README.md b/extensions/duckdb_extension_motherduck/README.md new file mode 100644 index 0000000..7c3bd8d --- /dev/null +++ b/extensions/duckdb_extension_motherduck/README.md @@ -0,0 +1,39 @@ +# 🦆DuckDB motherduck extension as python package + +[![PyPI - Version](https://img.shields.io/pypi/v/duckdb-extension-motherduck.svg)](https://pypi.org/project/duckdb-extension-motherduck) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/duckdb-extension-motherduck.svg)](https://pypi.org/project/duckdb-extension-motherduck) + +----- + +## Table of Contents + +- [Installation](#installation) +- [License](#license) + + +## Installation +```console +pip install duckdb-extensions duckdb-extension-motherduck +``` +You are ready to install the extension for duckdb. +```python +from duckdb_extensions import extension_importer +extension_importer.import_extension("motherduck") +``` + +Verify that the extension is installed. +```python +import duckdb + +print( + duckdb.sql("""SELECT installed + FROM duckdb_extensions() where + extension_name='motherduck' or + list_contains(aliases, 'motherduck')""") + .fetchone()[0] +) +``` + +## License + +`duckdb-extension-motherduck` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. diff --git a/extensions/duckdb_extension_motherduck/pyproject.toml b/extensions/duckdb_extension_motherduck/pyproject.toml new file mode 100644 index 0000000..ffa00d6 --- /dev/null +++ b/extensions/duckdb_extension_motherduck/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "duckdb_extension_motherduck" +description = "Duckdb motherduck extension" +version = "1.0.3.a1" +requires-python = ">=3.8" +license = "MIT" +readme = "README.md" +keywords = [] +authors = [ + { name = "santosh", email = "void@some.where" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] +dependencies = [ + "requests>=1.0.0", + "duckdb>=1.0.0", + "importlib-resources==3.0.0;python_version<'3.9'", +] + +[project.urls] +Documentation = "https://github.com/santosh-d3vpl3x/duckdb_extensions#readme" +Issues = "https://github.com/santosh-d3vpl3x/duckdb_extensions/issues" +Source = "https://github.com/santosh-d3vpl3x/duckdb_extensions" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel.hooks.custom] +path = "../../add_extension_files.py" +require-runtime-dependencies = true + +[tool.extension_builder] +extension_name = "motherduck" diff --git a/extensions/duckdb_extension_motherduck/src/duckdb_extension_motherduck/__init__.py b/extensions/duckdb_extension_motherduck/src/duckdb_extension_motherduck/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/extensions/duckdb_extension_mysql_scanner/LICENSE.txt b/extensions/duckdb_extension_mysql_scanner/LICENSE.txt new file mode 100644 index 0000000..43ca0a5 --- /dev/null +++ b/extensions/duckdb_extension_mysql_scanner/LICENSE.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024-present santosh + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/extensions/duckdb_extension_mysql_scanner/README.md b/extensions/duckdb_extension_mysql_scanner/README.md new file mode 100644 index 0000000..a973ec6 --- /dev/null +++ b/extensions/duckdb_extension_mysql_scanner/README.md @@ -0,0 +1,39 @@ +# 🦆DuckDB mysql_scanner extension as python package + +[![PyPI - Version](https://img.shields.io/pypi/v/duckdb-extension-mysql_scanner.svg)](https://pypi.org/project/duckdb-extension-mysql_scanner) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/duckdb-extension-mysql_scanner.svg)](https://pypi.org/project/duckdb-extension-mysql_scanner) + +----- + +## Table of Contents + +- [Installation](#installation) +- [License](#license) + + +## Installation +```console +pip install duckdb-extensions duckdb-extension-mysql-scanner +``` +You are ready to install the extension for duckdb. +```python +from duckdb_extensions import extension_importer +extension_importer.import_extension("mysql_scanner") +``` + +Verify that the extension is installed. +```python +import duckdb + +print( + duckdb.sql("""SELECT installed + FROM duckdb_extensions() where + extension_name='mysql_scanner' or + list_contains(aliases, 'mysql_scanner')""") + .fetchone()[0] +) +``` + +## License + +`duckdb-extension-mysql-scanner` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. diff --git a/extensions/duckdb_extension_mysql_scanner/pyproject.toml b/extensions/duckdb_extension_mysql_scanner/pyproject.toml new file mode 100644 index 0000000..4e8f3dc --- /dev/null +++ b/extensions/duckdb_extension_mysql_scanner/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "duckdb_extension_mysql_scanner" +description = "Duckdb mysql_scanner extension" +version = "1.0.3.a1" +requires-python = ">=3.8" +license = "MIT" +readme = "README.md" +keywords = [] +authors = [ + { name = "santosh", email = "void@some.where" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] +dependencies = [ + "requests>=1.0.0", + "duckdb>=1.0.0", + "importlib-resources==3.0.0;python_version<'3.9'", +] + +[project.urls] +Documentation = "https://github.com/santosh-d3vpl3x/duckdb_extensions#readme" +Issues = "https://github.com/santosh-d3vpl3x/duckdb_extensions/issues" +Source = "https://github.com/santosh-d3vpl3x/duckdb_extensions" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel.hooks.custom] +path = "../../add_extension_files.py" +require-runtime-dependencies = true + +[tool.extension_builder] +extension_name = "mysql_scanner" diff --git a/extensions/duckdb_extension_mysql_scanner/src/duckdb_extension_mysql_scanner/__init__.py b/extensions/duckdb_extension_mysql_scanner/src/duckdb_extension_mysql_scanner/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/extensions/duckdb_extension_parquet/README.md b/extensions/duckdb_extension_parquet/README.md index 06db41e..95b7220 100644 --- a/extensions/duckdb_extension_parquet/README.md +++ b/extensions/duckdb_extension_parquet/README.md @@ -12,7 +12,6 @@ ## Installation -First install `duckdb-extensions`. ```console pip install duckdb-extensions duckdb-extension-parquet ``` diff --git a/extensions/duckdb_extension_postgres/README.md b/extensions/duckdb_extension_postgres/README.md index 5713e36..82b6fad 100644 --- a/extensions/duckdb_extension_postgres/README.md +++ b/extensions/duckdb_extension_postgres/README.md @@ -12,7 +12,6 @@ ## Installation -First install `duckdb-extensions`. ```console pip install duckdb-extensions duckdb-extension-postgres ``` diff --git a/extensions/duckdb_extension_postgres_scanner/README.md b/extensions/duckdb_extension_postgres_scanner/README.md index 63a2d30..1a6f01f 100644 --- a/extensions/duckdb_extension_postgres_scanner/README.md +++ b/extensions/duckdb_extension_postgres_scanner/README.md @@ -12,7 +12,6 @@ ## Installation -First install `duckdb-extensions`. ```console pip install duckdb-extensions duckdb-extension-postgres_scanner ``` diff --git a/extensions/duckdb_extension_spatial/README.md b/extensions/duckdb_extension_spatial/README.md index bcebece..1331317 100644 --- a/extensions/duckdb_extension_spatial/README.md +++ b/extensions/duckdb_extension_spatial/README.md @@ -12,7 +12,6 @@ ## Installation -First install `duckdb-extensions`. ```console pip install duckdb-extensions duckdb-extension-spatial ``` diff --git a/extensions/duckdb_extension_sqlite_scanner/LICENSE.txt b/extensions/duckdb_extension_sqlite_scanner/LICENSE.txt new file mode 100644 index 0000000..43ca0a5 --- /dev/null +++ b/extensions/duckdb_extension_sqlite_scanner/LICENSE.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024-present santosh + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/extensions/duckdb_extension_sqlite_scanner/README.md b/extensions/duckdb_extension_sqlite_scanner/README.md new file mode 100644 index 0000000..6a59eba --- /dev/null +++ b/extensions/duckdb_extension_sqlite_scanner/README.md @@ -0,0 +1,39 @@ +# 🦆DuckDB sqlite_scanner extension as python package + +[![PyPI - Version](https://img.shields.io/pypi/v/duckdb-extension-sqlite_scanner.svg)](https://pypi.org/project/duckdb-extension-sqlite_scanner) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/duckdb-extension-sqlite_scanner.svg)](https://pypi.org/project/duckdb-extension-sqlite_scanner) + +----- + +## Table of Contents + +- [Installation](#installation) +- [License](#license) + + +## Installation +```console +pip install duckdb-extensions duckdb-extension-sqlite-scanner +``` +You are ready to install the extension for duckdb. +```python +from duckdb_extensions import extension_importer +extension_importer.import_extension("sqlite_scanner") +``` + +Verify that the extension is installed. +```python +import duckdb + +print( + duckdb.sql("""SELECT installed + FROM duckdb_extensions() where + extension_name='sqlite_scanner' or + list_contains(aliases, 'sqlite_scanner')""") + .fetchone()[0] +) +``` + +## License + +`duckdb-extension-sqlite-scanner` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. diff --git a/extensions/duckdb_extension_sqlite_scanner/pyproject.toml b/extensions/duckdb_extension_sqlite_scanner/pyproject.toml new file mode 100644 index 0000000..c9e1c03 --- /dev/null +++ b/extensions/duckdb_extension_sqlite_scanner/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "duckdb_extension_sqlite_scanner" +description = "Duckdb sqlite_scanner extension" +version = "1.0.3.a1" +requires-python = ">=3.8" +license = "MIT" +readme = "README.md" +keywords = [] +authors = [ + { name = "santosh", email = "void@some.where" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] +dependencies = [ + "requests>=1.0.0", + "duckdb>=1.0.0", + "importlib-resources==3.0.0;python_version<'3.9'", +] + +[project.urls] +Documentation = "https://github.com/santosh-d3vpl3x/duckdb_extensions#readme" +Issues = "https://github.com/santosh-d3vpl3x/duckdb_extensions/issues" +Source = "https://github.com/santosh-d3vpl3x/duckdb_extensions" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel.hooks.custom] +path = "../../add_extension_files.py" +require-runtime-dependencies = true + +[tool.extension_builder] +extension_name = "sqlite_scanner" diff --git a/extensions/duckdb_extension_sqlite_scanner/src/duckdb_extension_sqlite_scanner/__init__.py b/extensions/duckdb_extension_sqlite_scanner/src/duckdb_extension_sqlite_scanner/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/extensions/duckdb_extension_substrait/LICENSE.txt b/extensions/duckdb_extension_substrait/LICENSE.txt new file mode 100644 index 0000000..43ca0a5 --- /dev/null +++ b/extensions/duckdb_extension_substrait/LICENSE.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024-present santosh + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/extensions/duckdb_extension_substrait/README.md b/extensions/duckdb_extension_substrait/README.md new file mode 100644 index 0000000..a05768e --- /dev/null +++ b/extensions/duckdb_extension_substrait/README.md @@ -0,0 +1,39 @@ +# 🦆DuckDB substrait extension as python package + +[![PyPI - Version](https://img.shields.io/pypi/v/duckdb-extension-substrait.svg)](https://pypi.org/project/duckdb-extension-substrait) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/duckdb-extension-substrait.svg)](https://pypi.org/project/duckdb-extension-substrait) + +----- + +## Table of Contents + +- [Installation](#installation) +- [License](#license) + + +## Installation +```console +pip install duckdb-extensions duckdb-extension-substrait +``` +You are ready to install the extension for duckdb. +```python +from duckdb_extensions import extension_importer +extension_importer.import_extension("substrait") +``` + +Verify that the extension is installed. +```python +import duckdb + +print( + duckdb.sql("""SELECT installed + FROM duckdb_extensions() where + extension_name='substrait' or + list_contains(aliases, 'substrait')""") + .fetchone()[0] +) +``` + +## License + +`duckdb-extension-substrait` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. diff --git a/extensions/duckdb_extension_substrait/pyproject.toml b/extensions/duckdb_extension_substrait/pyproject.toml new file mode 100644 index 0000000..1ea4795 --- /dev/null +++ b/extensions/duckdb_extension_substrait/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "duckdb_extension_substrait" +description = "Duckdb substrait extension" +version = "1.0.3.a1" +requires-python = ">=3.8" +license = "MIT" +readme = "README.md" +keywords = [] +authors = [ + { name = "santosh", email = "void@some.where" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] +dependencies = [ + "requests>=1.0.0", + "duckdb>=1.0.0", + "importlib-resources==3.0.0;python_version<'3.9'", +] + +[project.urls] +Documentation = "https://github.com/santosh-d3vpl3x/duckdb_extensions#readme" +Issues = "https://github.com/santosh-d3vpl3x/duckdb_extensions/issues" +Source = "https://github.com/santosh-d3vpl3x/duckdb_extensions" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel.hooks.custom] +path = "../../add_extension_files.py" +require-runtime-dependencies = true + +[tool.extension_builder] +extension_name = "substrait" diff --git a/extensions/duckdb_extension_substrait/src/duckdb_extension_substrait/__init__.py b/extensions/duckdb_extension_substrait/src/duckdb_extension_substrait/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/extensions/duckdb_extension_vss/LICENSE.txt b/extensions/duckdb_extension_vss/LICENSE.txt new file mode 100644 index 0000000..43ca0a5 --- /dev/null +++ b/extensions/duckdb_extension_vss/LICENSE.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024-present santosh + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/extensions/duckdb_extension_vss/README.md b/extensions/duckdb_extension_vss/README.md new file mode 100644 index 0000000..b3e99ff --- /dev/null +++ b/extensions/duckdb_extension_vss/README.md @@ -0,0 +1,39 @@ +# 🦆DuckDB vss extension as python package + +[![PyPI - Version](https://img.shields.io/pypi/v/duckdb-extension-vss.svg)](https://pypi.org/project/duckdb-extension-vss) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/duckdb-extension-vss.svg)](https://pypi.org/project/duckdb-extension-vss) + +----- + +## Table of Contents + +- [Installation](#installation) +- [License](#license) + + +## Installation +```console +pip install duckdb-extensions duckdb-extension-vss +``` +You are ready to install the extension for duckdb. +```python +from duckdb_extensions import extension_importer +extension_importer.import_extension("vss") +``` + +Verify that the extension is installed. +```python +import duckdb + +print( + duckdb.sql("""SELECT installed + FROM duckdb_extensions() where + extension_name='vss' or + list_contains(aliases, 'vss')""") + .fetchone()[0] +) +``` + +## License + +`duckdb-extension-vss` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. diff --git a/extensions/duckdb_extension_vss/pyproject.toml b/extensions/duckdb_extension_vss/pyproject.toml new file mode 100644 index 0000000..975ad93 --- /dev/null +++ b/extensions/duckdb_extension_vss/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "duckdb_extension_vss" +description = "Duckdb vss extension" +version = "1.0.3.a1" +requires-python = ">=3.8" +license = "MIT" +readme = "README.md" +keywords = [] +authors = [ + { name = "santosh", email = "void@some.where" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Programming Language :: Python", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] +dependencies = [ + "requests>=1.0.0", + "duckdb>=1.0.0", + "importlib-resources==3.0.0;python_version<'3.9'", +] + +[project.urls] +Documentation = "https://github.com/santosh-d3vpl3x/duckdb_extensions#readme" +Issues = "https://github.com/santosh-d3vpl3x/duckdb_extensions/issues" +Source = "https://github.com/santosh-d3vpl3x/duckdb_extensions" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel.hooks.custom] +path = "../../add_extension_files.py" +require-runtime-dependencies = true + +[tool.extension_builder] +extension_name = "vss" diff --git a/extensions/duckdb_extension_vss/src/duckdb_extension_vss/__init__.py b/extensions/duckdb_extension_vss/src/duckdb_extension_vss/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/templates/duckdb_extension_{@cookiecutter.extension_name@}/README.md b/templates/duckdb_extension_{@cookiecutter.extension_name@}/README.md index 0f35437..a66dc42 100644 --- a/templates/duckdb_extension_{@cookiecutter.extension_name@}/README.md +++ b/templates/duckdb_extension_{@cookiecutter.extension_name@}/README.md @@ -12,9 +12,8 @@ ## Installation -First install `duckdb-extensions`. ```console -pip install duckdb-extensions duckdb-extension-{@cookiecutter.extension_name@} +pip install duckdb-extensions duckdb-extension-{@cookiecutter.extension_name | replace("_","-")@} ``` You are ready to install the extension for duckdb. ```python @@ -28,11 +27,13 @@ import duckdb print( duckdb.sql("""SELECT installed - FROM duckdb_extensions() where extension_name='{@cookiecutter.extension_name@}'""") + FROM duckdb_extensions() where + extension_name='{@cookiecutter.extension_name@}' or + list_contains(aliases, '{@cookiecutter.extension_name@}')""") .fetchone()[0] ) ``` ## License -`duckdb-extension-{@cookiecutter.extension_name@}` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. +`duckdb-extension-{@cookiecutter.extension_name | replace("_","-") @}` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.