-
Notifications
You must be signed in to change notification settings - Fork 552
Use pure-sasl in python 3.11 #454
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Use pure-sasl in python 3.11 #454
Conversation
5bd0564
to
0421cda
Compare
Stumbled upon this while doing some general py3.11 upgrades across some projects (transitive dep here via dbt-spark hive extras). Very keen for an installation path to be available, anything I can do to help? |
52f9340
to
dd62269
Compare
1e48903
to
36e6364
Compare
36e6364
to
0bd6f5b
Compare
9539992
to
2c9a6fe
Compare
f6b2dce
to
e38eb23
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LG%nit
78691ce
to
1eef88b
Compare
Awesome work! Thanks you guys! Looking forward to a release ASAP! |
Any idea when this is going to be released? |
@JimNero009 @tyong920 @colin-rogers-dbt @mb-m This is released in 0.7.1.dev0. You are requested to test with the dev version and report any bugs in the PyHive GitHub repository before 0.7.1 is released in a month or so. PyHive now supports pure-sasl via additional extras 'pyhive[hive_pure_sasl]' which supports Python 3.11 in addition to previous Python versions. See #454 |
@mdeshmu still planning on releasing in the next week or two? |
@colin-rogers-dbt this is released in 0.7.0 |
* feat: add HTTP and HTTPS to hive (dropbox#385) * feat: add https protocol * support HTTP * fix: make hive https py2 compat (dropbox#389) * fix: make hive https py2 compat * fix lint * Update README.rst (dropbox#423) * chore: rename Trino entry point (dropbox#428) * Support for Presto decimals (dropbox#430) * Support for Presto decimals * lower * Use str type for driver and name in HiveDialect (dropbox#450) PyHive's HiveDialect usage of bytes for the name and driver fields is not the norm is causing issues upstream: apache/superset#22316 Even other dialects within PyHive use strings. SQLAlchemy does not strictly require a string, but all the stock dialects return a string, so I figure it is heavily implied. I think the risk of breaking something upstream with this change is low (but it is there ofc). I figure in most cases we just make someone's `str(dialect.driver)` expression redundant. Examples for some of the other stock sqlalchemy dialects (name and driver fields using str): https://github.com/zzzeek/sqlalchemy/blob/main/lib/sqlalchemy/dialects/sqlite/pysqlite.py#L501 https://github.com/zzzeek/sqlalchemy/blob/main/lib/sqlalchemy/dialects/sqlite/base.py#L1891 https://github.com/zzzeek/sqlalchemy/blob/main/lib/sqlalchemy/dialects/mysql/base.py#L2383 https://github.com/zzzeek/sqlalchemy/blob/main/lib/sqlalchemy/dialects/mysql/mysqldb.py#L113 https://github.com/zzzeek/sqlalchemy/blob/main/lib/sqlalchemy/dialects/mysql/pymysql.py#L59 * Correcting Iterable import for python 3.10 (dropbox#451) * changing drivers to support hive, presto and trino with sqlalchemy>=2.0 (dropbox#448) * Revert "changing drivers to support hive, presto and trino with sqlalchemy>=2.0 (dropbox#448)" (dropbox#452) This reverts commit b0206d3. * Update __init__.py (dropbox#453) dropbox@1c1da8b dropbox@1f99552 * use pure-sasl with python 3.11 (dropbox#454) * minimal changes for sqlalchemy 2.0 support (dropbox#457) * update readme to reflect recent changes (dropbox#459) * Update README.rst (dropbox#475) * Update README.rst (dropbox#476) * feat: JWT support * Add CI to build package --------- Co-authored-by: Daniel Vaz Gaspar <danielvazgaspar@gmail.com> Co-authored-by: Bogdan <b.kyryliuk@gmail.com> Co-authored-by: serenajiang <serena.jiang@airbnb.com> Co-authored-by: Usiel Riedl <usiel.riedl@gmail.com> Co-authored-by: Multazim Deshmukh <57723564+mdeshmu@users.noreply.github.com> Co-authored-by: nicholas-miles <nicholas.miles6@gmail.com>
There is a known issue with installing sasl lib in Python 3.11.
Maintainers of the sasl repo haven't contributed to it since 2021.
This PR adds additional extras pyhive[hive_pure_sasl] which uses pure-sasl allowing end user to choose what sasl library they want to use.
Existing pyhive[hive] extras will continue to use sasl library.
With these code changes, pyhive can work with both python-sasl and pure-sasl with sasl being preferred first.
Please refer below links for the CI test logs from apache/superset repository:
3.11 (pure-sasl) -> https://github.com/apache/superset/actions/runs/5302603180/jobs/9597648049
3.10 (pure-sasl) -> https://github.com/apache/superset/actions/runs/5302917493/jobs/9598184738
3.9 (pure-sasl) -> https://github.com/apache/superset/actions/runs/5303030643/jobs/9598385720
3.10 (sasl) -> https://github.com/apache/superset/actions/runs/5302756384/jobs/9597916446
3.9 (sasl) -> https://github.com/apache/superset/actions/runs/5302964104/jobs/9598269981?pr=24157