You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PySQL Connector split into connector and sqlalchemy (#444)
* Modified the gitignore file to not have .idea file
* [PECO-1803] Splitting the PySql connector into the core and the non core part (#417)
* Implemented ColumnQueue to test the fetchall without pyarrow
Removed token
removed token
* order of fields in row corrected
* Changed the folder structure and tested the basic setup to work
* Refractored the code to make connector to work
* Basic Setup of connector, core and sqlalchemy is working
* Basic integration of core, connect and sqlalchemy is working
* Setup working dynamic change from ColumnQueue to ArrowQueue
* Refractored the test code and moved to respective folders
* Added the unit test for column_queue
Fixed __version__
Fix
* venv_main added to git ignore
* Added code for merging columnar table
* Merging code for columnar
* Fixed the retry_close sesssion test issue with logging
* Fixed the databricks_sqlalchemy tests and introduced pytest.ini for the sqla_testing
* Added pyarrow_test mark on pytest
* Fixed databricks.sqlalchemy to databricks_sqlalchemy imports
* Added poetry.lock
* Added dist folder
* Changed the pyproject.toml
* Minor Fix
* Added the pyarrow skip tag on unit tests and tested their working
* Fixed the Decimal and timestamp conversion issue in non arrow pipeline
* Removed not required files and reformatted
* Fixed test_retry error
* Changed the folder structure to src / databricks
* Removed the columnar non arrow flow to another PR
* Moved the README to the root
* removed columnQueue instance
* Revmoved databricks_sqlalchemy dependency in core
* Changed the pysql_supports_arrow predicate, introduced changes in the pyproject.toml
* Ran the black formatter with the original version
* Extra .py removed from all the __init__.py files names
* Undo formatting check
* Check
* Check
* Check
* Check
* Check
* Check
* Check
* Check
* Check
* Check
* Check
* Check
* Check
* Check
* BIG UPDATE
* Refeactor code
* Refractor
* Fixed versioning
* Minor refractoring
* Minor refractoring
* Changed the folder structure such that sqlalchemy has not reference here
* Fixed README.md and CONTRIBUTING.md
* Added manual publish
* On push trigger added
* Manually setting the publish step
* Changed versioning in pyproject.toml
* Bumped up the version to 4.0.0.b3 and also changed the structure to have pyarrow as optional
* Removed the sqlalchemy tests from integration.yml file
* [PECO-1803] Print warning message if pyarrow is not installed (#468)
Print warning message if pyarrow is not installed
Signed-off-by: Jacky Hu <[email protected]>
* [PECO-1803] Remove sqlalchemy and update README.md (#469)
Remove sqlalchemy and update README.md
Signed-off-by: Jacky Hu <[email protected]>
* Removed all sqlalchemy related stuff
* generated the lock file
* Fixed failing tests
* removed poetry.lock
* Updated the lock file
* Fixed poetry numpy 2.2.2 issue
* Workflow fixes
---------
Signed-off-by: Jacky Hu <[email protected]>
Co-authored-by: Jacky Hu <[email protected]>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,10 @@
1
1
# Release History
2
2
3
+
# 4.0.0 (TBD)
4
+
5
+
- Split the connector into two separate packages: `databricks-sql-connector` and `databricks-sqlalchemy`. The `databricks-sql-connector` package contains the core functionality of the connector, while the `databricks-sqlalchemy` package contains the SQLAlchemy dialect for the connector.
6
+
- Pyarrow dependency is now optional in `databricks-sql-connector`. Users needing arrow are supposed to explicitly install pyarrow
7
+
3
8
# 3.7.0 (2024-12-23)
4
9
5
10
- Fix: Incorrect number of rows fetched in inline results when fetching results with FETCH_NEXT orientation (databricks/databricks-sql-python#479 by @jprakash-db)
The Databricks SQL Connector for Python allows you to develop Python applications that connect to Databricks clusters and SQL warehouses. It is a Thrift-based client with no dependencies on ODBC or JDBC. It conforms to the [Python DB API 2.0 specification](https://www.python.org/dev/peps/pep-0249/) and exposes a [SQLAlchemy](https://www.sqlalchemy.org/) dialect for use with tools like `pandas` and `alembic` which use SQLAlchemy to execute DDL. Use `pip install databricks-sql-connector[sqlalchemy]` to install with SQLAlchemy's dependencies. `pip install databricks-sql-connector[alembic]` will install alembic's dependencies.
6
+
The Databricks SQL Connector for Python allows you to develop Python applications that connect to Databricks clusters and SQL warehouses. It is a Thrift-based client with no dependencies on ODBC or JDBC. It conforms to the [Python DB API 2.0 specification](https://www.python.org/dev/peps/pep-0249/).
7
7
8
-
This connector uses Arrow as the data-exchange format, and supports APIs to directly fetch Arrow tables. Arrow tables are wrapped in the `ArrowQueue` class to provide a natural API to get several rows at a time.
8
+
This connector uses Arrow as the data-exchange format, and supports APIs (e.g. `fetchmany_arrow`) to directly fetch Arrow tables. Arrow tables are wrapped in the `ArrowQueue` class to provide a natural API to get several rows at a time. [PyArrow](https://arrow.apache.org/docs/python/index.html) is required to enable this and use these APIs, you can install it via `pip install pyarrow` or `pip install databricks-sql-connector[pyarrow]`.
9
9
10
10
You are welcome to file an issue here for general use cases. You can also contact Databricks Support [here](help.databricks.com).
11
11
@@ -22,7 +22,12 @@ For the latest documentation, see
22
22
23
23
## Quickstart
24
24
25
-
Install the library with `pip install databricks-sql-connector`
25
+
### Installing the core library
26
+
Install using `pip install databricks-sql-connector`
27
+
28
+
### Installing the core library with PyArrow
29
+
Install using `pip install databricks-sql-connector[pyarrow]`
30
+
26
31
27
32
```bash
28
33
export DATABRICKS_HOST=********.databricks.com
@@ -60,6 +65,18 @@ or to a Databricks Runtime interactive cluster (e.g. /sql/protocolv1/o/123456789
60
65
> to authenticate the target Databricks user account and needs to open the browser for authentication. So it
61
66
> can only run on the user's machine.
62
67
68
+
## SQLAlchemy
69
+
Starting from `databricks-sql-connector` version 4.0.0 SQLAlchemy support has been extracted to a new library `databricks-sqlalchemy`.
0 commit comments