Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
2e5bfd9
add pom for arrow dependencies
HenryNebula Jul 16, 2023
2aca0d4
update ignore file
HenryNebula Jul 16, 2023
8643627
modified tests
HenryNebula Jul 16, 2023
b1cfe0a
update doc
HenryNebula Jul 16, 2023
7751562
update ci code
HenryNebula Jul 16, 2023
7f0f9c1
update old codebase
HenryNebula Jul 16, 2023
8e46a03
update github action test
HenryNebula Jul 16, 2023
609967e
init arrow extension lib
HenryNebula Dec 20, 2023
83a93a3
Drop legacy support for py2 & Jython
HenryNebula Dec 20, 2023
5cb8681
Improve Jpype & Arrow compatibility
HenryNebula Dec 20, 2023
63955f8
Adjust DBAPI object & converter
HenryNebula Dec 20, 2023
73834e2
Update mock testing
HenryNebula Dec 20, 2023
c05f46d
Update integration testing with mysql and postgres
HenryNebula Dec 20, 2023
65fd8ac
Update requirements
HenryNebula Dec 20, 2023
7023de9
update gitignore
HenryNebula Dec 20, 2023
38312bc
update ci/cd testing
HenryNebula Dec 20, 2023
851dee9
Merge pull request #1 from HenryNebula/feat/pyarrow
HenryNebula Dec 20, 2023
e8ad266
Update build script
HenryNebula Dec 20, 2023
257e88b
remove old pom file
HenryNebula Dec 20, 2023
d31a506
remove old shell script
HenryNebula Dec 20, 2023
8dec1a9
update ignore
HenryNebula Dec 20, 2023
24525f2
create empty init file
HenryNebula Dec 20, 2023
a5dec48
Merge pull request #2 from HenryNebula/fix/build_and_release
HenryNebula Dec 20, 2023
0f3bc77
fix step name
HenryNebula Dec 20, 2023
2ac649e
Merge pull request #3 from HenryNebula/fix/build_and_release
HenryNebula Dec 20, 2023
fbadb63
add write/update functions
HenryNebula Feb 16, 2024
1fd13c4
refactor
HenryNebula Feb 16, 2024
aef9b25
update testing trigger rules
HenryNebula Feb 16, 2024
db71e56
Merge pull request #4 from HenryNebula/feat-package-jar
HenryNebula Feb 16, 2024
5cf155c
add maven build to publish
HenryNebula Feb 16, 2024
ec0738d
Update version
HenryNebula Feb 16, 2024
006f784
Update setup.py
HenryNebula Feb 16, 2024
dfd51f2
add cffi dependency
HenryNebula Feb 16, 2024
1e6983a
Update setup.py
HenryNebula Feb 16, 2024
239d2b2
rewrite readme to reflect changes
HenryNebula Jan 6, 2026
63b659e
Merge branch 'master' of github.com:HenryNebula/jaydebeapiarrow
HenryNebula Jan 6, 2026
3281ac5
refactor to leverage public getConsumer function exposed since arrow …
HenryNebula Jan 6, 2026
a102d7f
refactor data binding and consumers
HenryNebula Jan 8, 2026
259a6e6
correct batch mode parameter binding
HenryNebula Jan 8, 2026
5996d85
fix wrong reference of readme
HenryNebula Jan 8, 2026
5e1cd5a
raise exception if allocator creation fails
HenryNebula Jan 12, 2026
682d85e
More verbose logging in case advanced parser not supported
HenryNebula Jan 12, 2026
9cc0586
bug fix for fetchone and batch param binding
HenryNebula Jan 12, 2026
8678c74
use native type for dbapi2 type constructor
HenryNebula Jan 12, 2026
b2963cb
remove deprecated functions and support for old py version
HenryNebula Jan 12, 2026
f5808f8
improve test case; special case handling for xerial sqlite
HenryNebula Jan 12, 2026
cf6f882
refactor to avoid log flooding and recurrent parser selection
HenryNebula Jan 12, 2026
f159d8d
Merge pull request #5 from HenryNebula/refactor-jdbc-consumer
HenryNebula Jan 12, 2026
4fa47e9
ci: upgrade artifact actions to v4
HenryNebula Jan 12, 2026
eae8292
run test suite for new build
HenryNebula Jan 12, 2026
9f79bbd
enable test with postgres and mysql
HenryNebula Jan 12, 2026
27de9a9
output test report
HenryNebula Jan 12, 2026
c9e0a2e
update junit access
HenryNebula Jan 12, 2026
f1634c9
pin numpy version and update deps
HenryNebula Jan 12, 2026
8bfebb3
update arrow-memory dep
HenryNebula Jan 12, 2026
f3c0e6a
update default mysql username
HenryNebula Jan 13, 2026
0adcb8b
fix mysql access issue; make report more verbose
HenryNebula Jan 13, 2026
a87f2f7
fix case sensitivity for linux
HenryNebula Jan 13, 2026
6209edd
add test env as suffix
HenryNebula Jan 13, 2026
48b7c5f
Merge pull request #6 from HenryNebula/fix-ci-cd
HenryNebula Jan 13, 2026
f8172af
bump up version and fix pypi setup error
HenryNebula Jan 13, 2026
87d96f0
Merge branch 'master' of github.com:HenryNebula/jaydebeapiarrow
HenryNebula Jan 13, 2026
d3924de
ci: allow manual triggering of publish workflow
HenryNebula Jan 13, 2026
2b6f106
add benchmark script
HenryNebula Jan 30, 2026
26934e1
update benchmark script
HenryNebula Apr 8, 2026
c01ffed
update native functions and readme
HenryNebula Apr 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[bumpversion]
current_version = 1.2.3
current_version = 2.0.0
commit = True
tag = True

[bumpversion:file:setup.py]

[bumpversion:file:jaydebeapi/__init__.py]
[bumpversion:file:jaydebeapiarrow/__init__.py]
serialize = {major}, {minor}, {patch}
parse = (?P<major>\d+), (?P<minor>\d+), (?P<patch>\d+)

Expand Down
102 changes: 90 additions & 12 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,104 @@ name: Upload Python Package
on:
release:
types: [created]
workflow_dispatch:

jobs:
deploy:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'temurin'
cache: maven
- name: Build with Maven
run: |
cd ./arrow-jdbc-extension && mvn clean compile assembly:single && cd ..
cp ./arrow-jdbc-extension/target/arrow-jdbc*.jar ./jaydebeapiarrow/lib
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine
- name: Build and publish
env:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
python setup.py sdist bdist_wheel --universal
twine upload dist/*
python3 -m pip install --upgrade pip
python3 -m pip install setuptools build
- name: Build wheel and tarball
run: python3 -m build
- name: Store artifact
uses: actions/upload-artifact@v4
with:
name: python-package-distributions
path: dist/

publish-to-testpypi:
name: Publish Python distribution to TestPyPI
needs:
- build
runs-on: ubuntu-latest

environment:
name: testpypi
url: https://test.pypi.org/p/JayDeBeApiArrow

permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing

steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Publish distribution to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/

# github-release:
# name: >-
# Sign the Python distribution with Sigstore
# and upload them to GitHub Release
# needs:
# - publish-to-testpypi
# runs-on: ubuntu-latest

# permissions:
# contents: write # IMPORTANT: mandatory for making GitHub Releases
# id-token: write # IMPORTANT: mandatory for sigstore

# steps:
# - name: Download all the dists
# uses: actions/download-artifact@v4
# with:
# name: python-package-distributions
# path: dist/
# - name: Sign the dists with Sigstore
# uses: sigstore/gh-action-sigstore-python@v1.2.3
# with:
# inputs: >-
# ./dist/*.tar.gz
# ./dist/*.whl
# - name: Create GitHub Release
# env:
# GITHUB_TOKEN: ${{ github.token }}
# run: >-
# gh release create
# '${{ github.ref_name }}'
# --repo '${{ github.repository }}'
# --notes ""
# - name: Upload artifact signatures to GitHub Release
# env:
# GITHUB_TOKEN: ${{ github.token }}
# # Upload to GitHub Release using the `gh` CLI.
# # `dist/` contains the built packages, and the
# # sigstore-produced signatures and certificates.
# run: >-
# gh release upload
# '${{ github.ref_name }}' dist/**
# --repo '${{ github.repository }}'
100 changes: 57 additions & 43 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,78 +5,92 @@ name: tests

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
test:

runs-on: ubuntu-latest
permissions:
contents: read
checks: write
strategy:
matrix:
python-version: [2.7, 3.5, 3.6, 3.8]
python-version: [3.9, 3.11]
plattform: ["Python"]
include:
- python-version: 3.8
plattform: "Jython"
jython: org.python:jython-installer:2.7.2
toxenv: "jython-driver-{hsqldb,mock}"

services:
postgres:
image: postgres:14
env:
POSTGRES_DB: test_db
POSTGRES_PASSWORD: password
POSTGRES_USER: user
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
mysql:
image: mysql:8.0
env:
MYSQL_DATABASE: test_db
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Maven cache
uses: actions/cache@v1
uses: actions/cache@v3
with:
path: .tox/shared/.m2
key: ${{ matrix.plattform }}-${{ matrix.python-version }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ matrix.plattform }}-${{ matrix.python-version }}-maven-
- name: Pip cache
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ matrix.plattform }}-${{ matrix.python-version }}-pip-${{ hashFiles('**/*requirements.txt', 'tox.ini', 'setup.py') }}
restore-keys: |
${{ matrix.plattform }}-${{ matrix.python-version }}-pip-
- name: Jython installation cache
uses: actions/cache@v2
with:
path: ~/jython
key: ${{ matrix.jython }}-jython
if: matrix.jython

- name: Consider Jython
run: |
ci/before_install_jython.sh
if: matrix.jython
env:
JYTHON: ${{ matrix.jython }}
- name: Install dependencies
# for some reason installing from https://github.com/baztian/tox-gh-actions/archive/allow-env-override.tar.gz doesn't work
run: pip install coveralls tox git+https://github.com/baztian/tox-gh-actions.git@allow-env-override
- name: Test with tox for Jython only
if: matrix.jython
run: tox -e "${{ matrix.toxenv }}"
run: |
python -m pip install --upgrade pip
python -m pip install coveralls tox tox-gh-actions
- name: Test with tox for non Jython only
if: ${{ ! matrix.jython }}
run: tox
- name: Coveralls
uses: baztian/coveralls-python-action@new-merged-changes
with:
parallel: true
flag-name: ${{ matrix.plattform }}-${{ matrix.python-version }}
coverage-version: 4.5.4

coveralls_finish:
needs: test
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: baztian/coveralls-python-action@new-merged-changes
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: always() # always run even if tests fail
with:
parallel-finished: true
report_paths: '**/build/test-reports/*.xml'
detailed_summary: true
include_passed: true
# - name: Coveralls
# uses: baztian/coveralls-python-action@new-merged-changes
# with:
# parallel: true
# flag-name: ${{ matrix.plattform }}-${{ matrix.python-version }}
# coverage-version: 4.5.4
#
# coveralls_finish:
# needs: test
# runs-on: ubuntu-latest
# steps:
# - name: Coveralls Finished
# uses: baztian/coveralls-python-action@new-merged-changes
# with:
# parallel-finished: true
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ env/
mem.*
*.log
JayDeBeApi.egg-info
JayDeBeApiArrow.egg-info
target/
.classpath
.project
Expand All @@ -22,3 +23,9 @@ target/
.settings/
.jython_cache/
.vscode/
jars/
*.DS_Store
*/jars
*/lib/*.jar
benchmark/results/
benchmark/profiles/
3 changes: 2 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
recursive-include src/test *.py *.sql
recursive-include test/ *.py *.sql
recursive-include jaydebeapiarrow/ arrow-jdbc-extension*.jar
prune *~
include README*.rst COPYING*
Loading