Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need a new maintainer for this project #48

Open
codeforkjeff opened this issue Jul 13, 2023 · 9 comments
Open

Need a new maintainer for this project #48

codeforkjeff opened this issue Jul 13, 2023 · 9 comments

Comments

@codeforkjeff
Copy link
Owner

Due to some personal issues, I unfortunately don't have time to maintain this project anymore. This adapter works with dbt 1.4.0 but there have been two minor versions since then that probably require changes for full compatibility.

If anyone wants to take this over, please let me know and we can coordinate it somehow.

@lordirah
Copy link

I can help in maintaining it

@DustinMoriarty
Copy link

@codeforkjeff : Are you still looking for a maintainer? I would be happy to help.

@codeforkjeff
Copy link
Owner Author

@lordirah @DustinMoriarty Terribly sorry for ignoring this for so long. Might either of you be interested in taking over this repository as the primary maintainer? Not sure how best to do that (is it possible to transfer ownership of repositories?).

Also tagging @tom-juntunen: I see you recently forked this repo and reviewed a MR, do you have any interest in this role?

This repo is waaay behind the latest version of dbt at this point and probably needs a lot of work. 😞

@tom-juntunen
Copy link
Collaborator

tom-juntunen commented Apr 18, 2024 via email

@codeforkjeff
Copy link
Owner Author

@tom-juntunen Much appreciated! I'm always surprised by how much interest and use dbt-sqlite gets, so you would be helping out a lot of people.

Let's use this github issue to continue discussing it. If you have any private concerns, you can email me directly, My address is on my website (listed on my profile).

@tom-juntunen
Copy link
Collaborator

tom-juntunen commented Apr 19, 2024

Hi @codeforkjeff I have done the following work today:

Evaluate current state:

  • dbt-core is at v1.8 as of April 2024.
  • dbt-sqlite is using dbt-core v1.4, which has reached end of life for support.
  • dbt-sqlite should be updated for dbt-core v1.5 prior to April 27th, which is the date of end of life for support for 1.5.
  • Then, dbt-sqlite should be updated for dbt-core v1.6, and 1.7, prior to the end of life for support for 1.6 and 1.7.
  • For the latest dbt-core releases and dates see: https://docs.getdbt.com/docs/dbt-versions/core#latest-releases

Run current tests:

  • dbt-core v1.4 tests run successfully.
  • dbt-core v1.5 tests failed.

Looked into v1.5 failures, which all tied back to the missing self.host attribute on the SQLiteCredentials object.

  • after making this change, the v1.5 tests ran successfully.

Learned of an open PR for v1.5 compatibility, which is a bit ahead of where I'm at considering it has picked up these items already:

  • include python 3.11 in test matrix
  • elegantly stub model contracts as per dbt instructions
  • move timestamp macros

Since I didn't need this PR to pass the dbt-sqlite tests using dbt-core v1.5, there needs to be a new unit test added for the new model contracts feature that fails without this PR, and succeeds with it. Our version of sqlite3 does not support STRICT tables, so we did not support model contract enforcement with dbt v1.5 and left a stub instead.

Next steps

  • Continue to test v1.5 compatibility PR and work with Matthew and Jeff to approve and merge.
  • Scope out v1.6 and v1.7 compatibility by following these steps:
  1. Naively run tests for new dbt-version using prior dbt-sqlite version
  2. Identify any new warnings or errors and find the root causes
  3. Review dbt release notes and commit history for files of interest to contextualize the root cause further
  4. Come up with a potential solutions for fixes and review PRs with other contributors
  5. Add any missing unit tests based on new features in dbt-core
  6. Ensure all tests run successfully
  7. Prepare for deployment and publishing an updated release

Also I will go through the Issues list and see if there is more context I can pick up there about the current state.

I think if we can get dbt-sqlite upted to v1.5.x before 4/27 that would be good progress.

@codeforkjeff
Copy link
Owner Author

Thanks for all this work so far! You're super organized. This big picture view is extremely valuable.

I would say that #51 with your suggested adjustment is good enough for cutting a 1.5.0 release. It's not worth any more effort after that, since dbt-core 1.5 is so close to end of life. If users report bugs with 1.5.0, we can evaluate from there and decide on further bug fix releases for 1.5.x.

After that, it might be best to jump straight to 1.7. It will still be important to look at the release notes for 1.6 to see what has cumulatively changed, but skipping a release/maintenance for 1.6 could save time and work on something whose end of life date is pretty soon, Jul 30th. I'm happy to leave it up to you to decide what's best.

I've sent an invite making you a maintainer of this repo. Feel free to branch, commit, merge, tag releases. We can coordinate uploading packages to PyPI when it comes time to do that.

I'll do my best to advise and keep in touch as much as I can, but I can't contribute too much beyond that right now, unfortunately.

@tom-juntunen
Copy link
Collaborator

I would say that #51 with your suggested adjustment is good enough for cutting a 1.5.0 release. It's not worth any more effort after that, since dbt-core 1.5 is so close to end of life. If users report bugs with 1.5.0, we can evaluate from there and decide on further bug fix releases for 1.5.x.

Sounds good. I have pinged Matthew for making that final adjustment so we can have the 1.5.0 release ready for next week.

After that, it might be best to jump straight to 1.7. It will still be important to look at the release notes for 1.6 to see what has cumulatively changed, but skipping a release/maintenance for 1.6 could save time and work on something whose end of life date is pretty soon, Jul 30th. I'm happy to leave it up to you to decide what's best.

Sure thing. I will investigate the release notes and upgrade notes for maintainers for 1.6 and 1.7 listed here:

And if I have any questions will use existing issues here:

Thanks @codeforkjeff for your helpful comments and advice!

@DustinMoriarty
Copy link

DustinMoriarty commented May 1, 2024

@tom-juntunen: You appear to be very organized. That is great! I am still happy to pitch in to help @codeforkjeff and @tom-juntunen .

I have actually been pretty surprised that DBT Labs has not prioritized keeping one in-memory solution working well. I would think that they would swoop in to help with a project like this. It appears that they do a lot of their local testing with postgresql, which I get for an e2e level test, though I would think that one would always start with an in-memory solution that can be set up entirely in python for unit tests. I saw duckdb in some of the DBT Labs docs, which makes me think that they are using duckdb instead for quick in-memory use cases, which also seems like an odd choice compared to something as well supported and with as much history as sqlite.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants