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

Refactor Backend concept for data persistence #370

Open
wants to merge 24 commits into
base: develop
Choose a base branch
from

Conversation

s-heppner
Copy link
Contributor

@s-heppner s-heppner commented Jan 20, 2025

Warning

These changes are not backward compatible and therefore require a 2.0.0 release!

Previously, we tried to use the Backend concept for both data persistence and data integration.
This led to complicated cross-dependencies, architectures and badly maintainable code.

Now, we decided to split these two concepts and use the existing Backend ObjectStores for just the data persistence.

Concretely, this PR does the following:

  1. Remove the abstract Backend class (backends.py), as well as their concrete implementations (CouchDBBackend, LocalFileBackend), as they are no longer needed
  2. Remove the Referable.source attribute, as it was only needed for the Backend class
  3. Remove methods related to the Referable.source attribute, such as Referable.update() and Referable.commit() (base.py), as they were used together to perform the data integration.
  4. Adapt other related codes such as tutorials and tests to reflect these changes
  5. Adapt documentation to reflect these changes

@s-heppner s-heppner added enhancement Enhancement of an existing feature sdk Something to do with the `sdk` package labels Jan 20, 2025
@s-heppner s-heppner changed the title Improve/data persistence Refactor Backend concept for data persistence Jan 20, 2025
@s-heppner
Copy link
Contributor Author

For reference: Some of the discussions of this PR are at rwth-iat/basyx-python-sdk#58 as well.

@shenchenruwo
Copy link

Looks good to me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement of an existing feature sdk Something to do with the `sdk` package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants