Skip to content

Add Backblaze B2 artifact store flavor#4791

Open
goanpeca wants to merge 1 commit into
zenml-io:developfrom
goanpeca:feature/b2-artifact-store-flavor
Open

Add Backblaze B2 artifact store flavor#4791
goanpeca wants to merge 1 commit into
zenml-io:developfrom
goanpeca:feature/b2-artifact-store-flavor

Conversation

@goanpeca
Copy link
Copy Markdown

@goanpeca goanpeca commented Apr 30, 2026

Describe changes

Implemented #4786 Add Backblaze B2 artifact store flavor and documentation.

Pre-requisites

Please ensure you have done the following:

  • I have read the CONTRIBUTING.md document.
  • I have added tests to cover my changes.
  • I have based my new branch on develop and the open PR is targeting develop. If your branch wasn't based on develop read Contribution guide on rebasing branch to develop.
  • IMPORTANT: I made sure that my changes are reflected properly in the following resources:
    • ZenML Docs
    • Dashboard: Needs to be communicated to the frontend team.
    • Templates: Might need adjustments (that are not reflected in the template tests) in case of non-breaking changes and deprecations.
    • Projects: Depending on the version dependencies, different projects might get affected.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Other (add details above)

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Apr 30, 2026

CLA assistant check
All committers have signed the CLA.

@htahir1 htahir1 added enhancement New feature or request core-team Issues that are being handled by the core team release-notes Release notes will be attached and used publicly for this PR. labels May 4, 2026
@bcdurak bcdurak linked an issue May 4, 2026 that may be closed by this pull request
1 task
@bcdurak
Copy link
Copy Markdown
Contributor

bcdurak commented May 6, 2026

hey @goanpeca, is the PR ready for review? or is it in the draft stage?

@goanpeca goanpeca force-pushed the feature/b2-artifact-store-flavor branch from 4cd4f23 to 4d92ba5 Compare May 6, 2026 18:28
@goanpeca goanpeca marked this pull request as ready for review May 6, 2026 18:28
Copilot AI review requested due to automatic review settings May 6, 2026 18:28
@goanpeca goanpeca force-pushed the feature/b2-artifact-store-flavor branch from 4d92ba5 to 95ea42c Compare May 6, 2026 18:29
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new b2 integration that provides a Backblaze B2 artifact store flavor by subclassing the existing S3 artifact store implementation, plus unit tests and documentation for users to configure B2 via its S3-compatible API.

Changes:

  • Introduce zenml.integrations.b2 with a b2 artifact store flavor/config that injects a default B2 S3 endpoint and supports B2-specific credential env vars.
  • Add a thin B2 artifact store subclass to ensure config_kwargs are applied consistently to both s3fs and the boto3.resource path.
  • Add docs page + TOC entry and unit tests for the new flavor/config behavior.

Reviewed changes

Copilot reviewed 22 out of 23 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tests/unit/integrations/b2/test_b2_artifact_store_flavor.py Adds unit tests for the B2 flavor/config defaults and env var credential mapping.
tests/unit/integrations/b2/init.py Marks the new unit-test package.
src/zenml/integrations/constants.py Registers the b2 integration constant.
src/zenml/integrations/b2/flavors/b2_artifact_store_flavor.py Implements B2 flavor + config defaults (endpoint, env var creds, config kwargs).
src/zenml/integrations/b2/flavors/init.py Exposes the B2 flavor/config exports.
src/zenml/integrations/b2/artifact_stores/b2_artifact_store.py Adds the B2 artifact store implementation (S3 subclass + boto3 config handling).
src/zenml/integrations/b2/artifact_stores/init.py Exposes the B2 artifact store export.
src/zenml/integrations/b2/init.py Declares the B2Integration and its requirements/flavors.
docs/book/component-guide/toc.md Adds Backblaze B2 to the component guide TOC.
docs/book/component-guide/artifact-stores/backblaze.md Adds user-facing documentation for configuring and using the B2 artifact store flavor.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/zenml/integrations/b2/flavors/b2_artifact_store_flavor.py
Comment thread src/zenml/integrations/b2/flavors/b2_artifact_store_flavor.py
Comment thread src/zenml/integrations/b2/artifact_stores/b2_artifact_store.py Outdated
Comment thread src/zenml/integrations/b2/artifact_stores/b2_artifact_store.py
@goanpeca goanpeca force-pushed the feature/b2-artifact-store-flavor branch 3 times, most recently from bd97dcf to 60c2f88 Compare May 6, 2026 19:30
@goanpeca
Copy link
Copy Markdown
Author

goanpeca commented May 6, 2026

Hi @bcdurak thanks for the ping, I think we are good to review, however I will need to have the remaining CI tests that need approval to run to see if I need to fix something. I could not test all locally.

Thanks!

@goanpeca goanpeca force-pushed the feature/b2-artifact-store-flavor branch from 60c2f88 to 3e1f48d Compare May 6, 2026 19:54
@goanpeca goanpeca force-pushed the feature/b2-artifact-store-flavor branch from 3e1f48d to 782ab14 Compare May 14, 2026 23:46
@goanpeca
Copy link
Copy Markdown
Author

Hi @bcdurak I think none of the previous failing tests were related to this PR, I rebased the branch with latest develop and made a push. Ready for review

Thanks!

@bcdurak
Copy link
Copy Markdown
Contributor

bcdurak commented May 15, 2026

Thanks @goanpeca, you are right. Our CI had some errors unrelated to this PR. They should already be fixed now. We will try to take a look as soon as possible. 👍

@github-actions
Copy link
Copy Markdown
Contributor

⚠️ This PR has been inactive for 2 weeks and has been marked as stale.
Timeline:

  • Week 2 (now): First reminder - PR marked as stale
  • Week 4: PR will be automatically closed if no activity
    Please update this PR or leave a comment to keep it active. Any activity will reset the timer and remove the stale label.

@github-actions github-actions Bot added the stale label May 30, 2026
@bcdurak bcdurak removed the stale label Jun 1, 2026
@bcdurak bcdurak self-requested a review June 1, 2026 11:31
@goanpeca goanpeca force-pushed the feature/b2-artifact-store-flavor branch from 782ab14 to c7a134a Compare June 2, 2026 01:21
@goanpeca goanpeca force-pushed the feature/b2-artifact-store-flavor branch from c7a134a to 93b06f3 Compare June 2, 2026 01:21
@goanpeca
Copy link
Copy Markdown
Author

goanpeca commented Jun 2, 2026

Updated to the latest develop.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core-team Issues that are being handled by the core team enhancement New feature or request release-notes Release notes will be attached and used publicly for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add native Backblaze B2 artifact store flavor (following S3 pattern)

5 participants