pauldex / sqlalchemy-firebird

A Firebird dialect for SQLAlchemy using the firebird-driver and/or fdb python Firebird driver
MIT License
22 stars 15 forks source link

add support for firebird 3 / python 3 driver #29

Closed mariuz closed 1 year ago

mariuz commented 3 years ago

The firebird-driver package provides driver for Python 3.8+ and Firebird 3+. This driver uses new Firebird OO API provided by fbclient library. You can download it or install directly from Python Package Index.

https://pypi.org/project/firebird-driver/ https://firebird-driver.readthedocs.io/en/latest/

via

https://firebirdsql.org/en/python-driver/

fdcastel commented 2 years ago

Any plans to migrate to this package?

pauldex commented 2 years ago

Yes, we will add support for the firebird-driver package in addition to fdb. The connectivity page for Firebird with python (https://firebirdsql.org/en/python-driver), indicates that fdb is the legacy driver and firebird-driver is the package to use going forward.

pcisar commented 2 years ago

@pauldex If you would need any assistance with firebird-driver support, feel free to contact me. While I'm not an expert on SQLAlchemy, I could definitely help you to resolve any issues arising due to differences between fdb and firebird-driver.

pauldex commented 2 years ago

That would be awesome, I can definitely use your assistance with this. I have some ideas, but not a lot of experience with this level of Python.

Paul

From: Pavel Císař @.> Sent: Thursday, October 14, 2021 9:16 AM To: pauldex/sqlalchemy-firebird @.> Cc: Paul Graves-DesLauriers @.>; Mention @.> Subject: Re: [pauldex/sqlalchemy-firebird] add support for firebird 3 / python 3 driver (#29)

@pauldex https://github.com/pauldex If you would need any assistance with firebird-driver support, feel free to contact me. While I'm not an expert on SQLAlchemy, I could definitely help you to resolve any issues arising due to differences between fdb and firebird-driver.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/pauldex/sqlalchemy-firebird/issues/29#issuecomment-943509674 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABX7Z654KHLTH6J2WNB7R7TUG364RANCNFSM4UARK44Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub . https://github.com/notifications/beacon/ABX7Z63NCMYRAHGAKZT77FTUG364RA5CNFSM4UARK442YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHA6NBKQ.gif

carloslockward commented 2 years ago

I'm interested on building a flask website using Firebird 4.0. Support for the firebird driver would be necessary for this. Perhaps we should start a new branch and start experimenting with this.

hmoffatt commented 2 years ago

Please support the old (current) API as well, else you lose support for Firebird 2.5.

fdcastel commented 1 year ago

I've started a new dialect for SQLAlchemy 2.0 using firebird-driver.

I expect to submit a PR in ~10 days.

fdcastel commented 1 year ago

Given that both KInterbasDB and Firebird 1.5 are long dead now, I intend to remove KInterbasDB support for the next version.

This will keep only fdb (using FDB package) and fdb3 (using firebird-driver package) dialects in this project.

@pauldex @pcisar @mariuz opinions?

mariuz commented 1 year ago

@fdcastel makes sense , please do the KInterbasDB cleanup :)

fdcastel commented 1 year ago

BTW: What should we name the new dialect?

I'm using fdb3 for now but it may cause some confusion with fdb driver.

driver could be an option. The url would be firebird+driver://. but I'm still unsure...

Also, the idea would be to change the default firebird:// url to the new dialect when all tests pass.

fdcastel commented 1 year ago

I pushed my current work in this repository.

36 tests failing, yet. Tested with 5 combinations:

Soon...

pauldex commented 1 year ago

I was planning on naming it firebird. The url would be firebird+firebird://.

My reasoning is that the name used as the base in the fdb dbapi (reference here https://fdb.readthedocs.io/en/v2.0/genindex.html ) is fdb and the name used as the base for the firebird driver dbapi (reference here https://firebird-base.readthedocs.io/en/latest/genindex.html ) is firebird. Using the name of the dbapi for the dialect name makes it easy to look things up and to document references.

Agree, we’ll update the default setting for the dialect when enough tests are passing. Since Python 3.8+ and Firebird 3+ are required for firebird-driver, that could be the default choice when those conditions are met. All other conditions would use the fallback of fdb. Either could be chosen as a default as well.

From: F.D.Castel @.> Sent: Monday, April 24, 2023 10:33 AM To: pauldex/sqlalchemy-firebird @.> Cc: Paul Graves-DesLauriers @.>; Mention @.> Subject: Re: [pauldex/sqlalchemy-firebird] add support for firebird 3 / python 3 driver (#29)

BTW: What should we name the new dialect?

I'm using fdb3 for now but it may cause some confusion with fdb driver.

driver could be an option. The url would be firebird+driver://. but I'm still unsure...

Also, the idea would be to change the default firebird:// url to the new dialect when all tests pass.

— Reply to this email directly, view it on GitHub https://github.com/pauldex/sqlalchemy-firebird/issues/29#issuecomment-1520567672 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABX7Z66S4Q6A7WV6GLTLY7DXC22MLANCNFSM4UARK44Q . You are receiving this because you were mentioned. https://github.com/notifications/beacon/ABX7Z66545OXATTRUIZIWCLXC22MLA5CNFSM4UARK442YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOLKRAK6A.gif Message ID: @. @.> >

pauldex commented 1 year ago

This is with SQLAlchemy 2.0, correct? We’ll need to test it with 1.4 as well.

From: F.D.Castel @.> Sent: Monday, April 24, 2023 3:30 PM To: pauldex/sqlalchemy-firebird @.> Cc: Paul Graves-DesLauriers @.>; Mention @.> Subject: Re: [pauldex/sqlalchemy-firebird] add support for firebird 3 / python 3 driver (#29)

I pushed my current work in this repository https://github.com/fdcastel/sqlalchemy-firebird/tree/v2 .

36 tests failing, yet. Tested with 5 combinations:

Soon...

— Reply to this email directly, view it on GitHub https://github.com/pauldex/sqlalchemy-firebird/issues/29#issuecomment-1520908424 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABX7Z6Z2XS3EVFFSR2RG7J3XC35E3ANCNFSM4UARK44Q . You are receiving this because you were mentioned. https://github.com/notifications/beacon/ABX7Z66DXYV42YSLLJVBOXDXC35E3A5CNFSM4UARK442YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOLKTTRCA.gif Message ID: @. @.> >

fdcastel commented 1 year ago

This is with SQLAlchemy 2.0, correct? We’ll need to test it with 1.4 as well.

Agreed. I will revert my changes to require SQLAlchemy 1.4+.

fdcastel commented 1 year ago

Done in #48.

pauldex commented 1 year ago

I'm closing this issue due to the release of sqlalchemy-firebird 2.0