florinpatrascu / bolt_sips

Neo4j driver for Elixir
Apache License 2.0
259 stars 49 forks source link

Looking for new maintainers #109

Open florinpatrascu opened 2 years ago

florinpatrascu commented 2 years ago

Hi there,

As you may have noticed, the project has been stalled for some time. The main reason for this is me.

I don't have time to pursue neo4j anymore and besides, I don't use it that much. neo4J is an exciting technology, I still remember spending many long nights and 2 whole vacations designing and building this driver, I don't regret a second because I learned a lot and this project helped me to meet wonderful people - all of you ❤️ All this effort and work was based only on passion, not gaining any monetary value or material advantages. This driver is free and completely independent from neo4j.

Eventually, I came back to focus on relational databases again, devoting a lot of attention and energy to PostgreSQL and SQLite and, of course, Elixir and Erlang.

Since I can no longer provide the level of support I used to, I'm relying on the community and on the users passionate for neo4j and Elixir, so I'm looking for new maintainers.

Thank you for your support and understanding,
ッFlorin

kristofka commented 2 years ago

Hi Florin,

I’m looking into using neo4j in large-ish project.  I don’t know that I could become a maintainer, but I could certainly contribute more than I have in the past couple of years. If no one is interested, I need this library to be maintained so I could help taking on that role.  Thank you for your work. 

-- Kristof Semjen PGP KEY :  0CADA5225BF34510 https://keys.openpgp.org/vks/v1/by-fingerprint/AF2A59051AF71944934E4C090CADA5225BF34510

22 Oct 2022, 17:39 by @.***:

Hi there,

As you may have noticed, the project has been stalled for some time. The main reason for this is me.

I don't have time to pursue neo4j anymore and besides, I don't use it that much. neo4J is an exciting technology, I still remember spending many long nights and 2 whole vacations designing and building this driver, I don't regret a second because I learned a lot and this project helped me to meet wonderful people - all of you ❤️ All this effort and work was based only on passion, not gaining any monetary value or material advantages. This driver is free and completely independent from neo4j.

Eventually, I came back to focus on relational databases again, devoting a lot of attention and energy to PostgreSQL and SQLite and, of course, Elixir and Erlang.

Since I can no longer provide the level of support I used to, I'm relying on the community and on the users passionate for neo4j and Elixir, so I'm looking for new maintainers.

Thank you for your support and understanding, ッFlorin

— Reply to this email directly, > view it on GitHub https://github.com/florinpatrascu/bolt_sips/issues/109> , or > unsubscribe https://github.com/notifications/unsubscribe-auth/AABCIQQZ4NO5FYXJHNDYKX3WEQDCLANCNFSM6AAAAAARL4RTKY> . You are receiving this because you are subscribed to this thread.> Message ID: > <florinpatrascu/bolt_sips/issues/109> @> github> .> com>

kristofka commented 2 years ago

PS, let me know if you’re interested about my ideas regarding what I’d like to implement in the next few months.  Cheers

-- Kristof Semjen PGP KEY :  0CADA5225BF34510 https://keys.openpgp.org/vks/v1/by-fingerprint/AF2A59051AF71944934E4C090CADA5225BF34510

22 Oct 2022, 17:39 by @.***:

Hi there,

As you may have noticed, the project has been stalled for some time. The main reason for this is me.

I don't have time to pursue neo4j anymore and besides, I don't use it that much. neo4J is an exciting technology, I still remember spending many long nights and 2 whole vacations designing and building this driver, I don't regret a second because I learned a lot and this project helped me to meet wonderful people - all of you ❤️ All this effort and work was based only on passion, not gaining any monetary value or material advantages. This driver is free and completely independent from neo4j.

Eventually, I came back to focus on relational databases again, devoting a lot of attention and energy to PostgreSQL and SQLite and, of course, Elixir and Erlang.

Since I can no longer provide the level of support I used to, I'm relying on the community and on the users passionate for neo4j and Elixir, so I'm looking for new maintainers.

Thank you for your support and understanding, ッFlorin

— Reply to this email directly, > view it on GitHub https://github.com/florinpatrascu/bolt_sips/issues/109> , or > unsubscribe https://github.com/notifications/unsubscribe-auth/AABCIQQZ4NO5FYXJHNDYKX3WEQDCLANCNFSM6AAAAAARL4RTKY> . You are receiving this because you are subscribed to this thread.> Message ID: > <florinpatrascu/bolt_sips/issues/109> @> github> .> com>

florinpatrascu commented 2 years ago

Hi @kristofka - glad to hear that you are still interested in this field, and I wish you success with your project you mentioned above. For ideas, perhaps it would be good to convert them into a series of public proposals and share them with the community here in the form of improvements, or with the future team of maintainers.

kristofka commented 2 years ago

Will do by the end of next week.  -- Kristof Semjen PGP KEY :  0CADA5225BF34510 https://keys.openpgp.org/vks/v1/by-fingerprint/AF2A59051AF71944934E4C090CADA5225BF34510

22 Oct 2022, 19:45 by @.***:

Hi > @kristofka https://github.com/kristofka> - glad to hear that you are still interested in this field, and I wish you success with your project you mentioned above. For ideas, perhaps it would be good to convert them into a series of public proposals and share them with the community here in the form of improvements, or with the future team of maintainers.

— Reply to this email directly, > view it on GitHub https://github.com/florinpatrascu/bolt_sips/issues/109#issuecomment-1287867820> , or > unsubscribe https://github.com/notifications/unsubscribe-auth/AABCIQTQ5WUXUNULDFCIC7TWEQR3RANCNFSM6AAAAAARL4RTKY> . You are receiving this because you were mentioned.> Message ID: > <florinpatrascu/bolt_sips/issues/109/1287867820> @> github> .> com>

kristofka commented 1 year ago

@florinpatrascu I’m almost done with support for bolt v4+. It’ll imply some breaking changes, I’ll soon make an unfinished pull request, I’ve made a few controversial changes in the process. If what I’ve done interests you, I’m fine with project maintenance afterwards. Because I don’t want to keep you in the dark a few things:

TODO :

A massive, breaking pull request should come by the end of the week.

larshei commented 1 year ago

@kristofka Just stumbled over this. Based on the age of the comment, you probably did not pursue this any further?

Edit: I may have found an answer in the elixir forums: https://elixirforum.com/t/who-s-using-graph-databases-today/56172/10

sagastume commented 1 year ago

Hello, I've been working on refactoring certain parts of the project with the goal of separating responsibilities and making maintenance easier.

My current priority is to reduce cognitive complexity so that newcomers to the project can understand it more easily. This involves aligning more closely with the definitions in the Bolt protocol documentation. Additionally, I am working to make the implementation of messages easy to modify for new versions when the Bolt protocol undergoes changes.

Currently, I'm focusing on three main aspects: messages, connection, and the client:

  1. Client: Its role is to send and receive information to/from the server.
  2. Connection: Responsible for maintaining the connection using DBConnection.
  3. Protocol: It's divided into different modules for each message, and each one is responsible for encoding and decoding the messages.
  4. Configuration Flexibility: It's now possible to configure the agent and the Bolt version.
  5. Testing: I've created an auxiliary script to test each Bolt version using Neo4j or Memgraph engines, and I've also improved test labels.To test a specific version, you can use the following commands:

./scripts/test-runner.sh -d "neo4j" -b "1.0" or

./scripts/test-runner.sh -d "memgraph" -b "5.0"

I have several refactoring ideas in mind, such as decoupling Packstream from Bolt versions since they are distinct aspects. However, I plan to tackle this effort later.

At the moment, I've only implemented two messages, "Init" and "Hello." Although there is much work left to do, I believe this refactoring is essential to simplify the maintenance of different Bolt versions.

Currently, I am busy working on setting up GitHub workflows to run tests on each pull request towards the "master" branch.

I plan to label this as version 3 because I am not currently focused on ensuring backward compatibility. My primary goal is to significantly improve the project to make maintenance easier.

You can track my progress and contributions in my GitHub repository: https://github.com/sagastume/bolt_sips

If you agree, I would be willing to create a pull request to a v3 branch of this project.

florinpatrascu commented 1 year ago

Hi @sagastume - several modifications have been bundled together. I suggest, if you wish to continue maintaining this repository, to establish a new one where you'll have complete autonomy, including the ability to publish to Hex and manage user requests, upgrades, PRs and the gh issues. If this aligns with your preferences, please let me know, and I'll incorporate a link to your repository in the README for this one. Thanks.

sagastume commented 1 year ago

Hi @florinpatrascu , I agree with the proposal, sounds good. My new repository is https://github.com/sagastume/boltx. Thanks!