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

Release/0.9 #97

Merged
merged 33 commits into from
Nov 29, 2024
Merged

Release/0.9 #97

merged 33 commits into from
Nov 29, 2024

Conversation

dannymeijer
Copy link
Member

This PR is to merge the 0.9 release work up to main (for final release) once we are ready to do so.

mikita-sakalouski and others added 3 commits October 29, 2024 22:14
Refactor code to support Spark Connect

---------

Co-authored-by: Danny Meijer <[email protected]>
<!--- Provide a general summary of your changes in the Title above -->

## Description
Adjust Output class and fix getting of attributes from Step classes.

## Related Issue
#81 

## Motivation and Context
Get correct behavior for class attributes and also raise Exception in
proper manner

## How Has This Been Tested?
Existing tests


## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] 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)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
- [ ] I have added tests to cover my changes.
- [x] All new and existing tests passed.

---------

Co-authored-by: Danny Meijer <[email protected]>
Allow setting File Encoding in Box implementation
@dannymeijer
Copy link
Member Author

marking this as blocked until we feel ready enough to actuate the release.

@dannymeijer

This comment was marked as outdated.

@dannymeijer

This comment was marked as resolved.

dannymeijer and others added 4 commits November 18, 2024 18:47
<!--- Provide a general summary of your changes in the Title above -->

## Description
Enhanced the Step class and its metaclass StepMetaClass to ensure that
the execute method is wrapped only once, even when inherited multiple
times. Added tests to verify that the log and wrapper are called only
once in such scenarios. Also, included custom metaclass examples and
their respective tests.

## Related Issue
N/A

## Motivation and Context
It was established that (under the right conditions) our code allowed
the execute method to be wrapped multiple times, even though we had code
in place to prevent that. This reflected outwardly by seeing log
duplication. For example like this:

#### Wrong output:
```bash
    [1111] [2024-11-18 14:22:18,355] [INFO] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_start_message:307} - Start running step
    [1111] [2024-11-18 14:22:18,355] [DEBUG] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_start_message:308} - Step Input: name='MyCustomGreatGrandChildStep' description='MyCustomGreatGrandChildStep' foo='foo' bar='bar' qux='qux'
    [1111] [2024-11-18 14:22:18,355] [INFO] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_start_message:307} - Start running step
    [1111] [2024-11-18 14:22:18,355] [DEBUG] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_start_message:308} - Step Input: name='MyCustomGreatGrandChildStep' description='MyCustomGreatGrandChildStep' foo='foo' bar='bar' qux='qux'
    [1111] [2024-11-18 14:22:18,355] [INFO] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_start_message:307} - Start running step
    [1111] [2024-11-18 14:22:18,355] [DEBUG] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_start_message:308} - Step Input: name='MyCustomGreatGrandChildStep' description='MyCustomGreatGrandChildStep' foo='foo' bar='bar' qux='qux'
    [1111] [2024-11-18 14:22:18,356] [DEBUG] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_end_message:329} - Step Output: name='MyCustomGreatGrandChildStep.Output' description='Output for MyCustomGreatGrandChildStep' baz='foobar'
    [1111] [2024-11-18 14:22:18,356] [INFO] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_end_message:330} - Finished running step
    [1111] [2024-11-18 14:22:18,356] [DEBUG] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_end_message:329} - Step Output: name='MyCustomGreatGrandChildStep.Output' description='Output for MyCustomGreatGrandChildStep' baz='foobar'
    [1111] [2024-11-18 14:22:18,356] [INFO] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_end_message:330} - Finished running step
    [1111] [2024-11-18 14:22:18,356] [DEBUG] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_end_message:329} - Step Output: name='MyCustomGreatGrandChildStep.Output' description='Output for MyCustomGreatGrandChildStep' baz='foobar'
    [1111] [2024-11-18 14:22:18,356] [INFO] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_end_message:330} - Finished running step
```

#### Expected output:
```bash
    [1111] [2024-11-18 14:22:18,355] [INFO] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_start_message:307} - Start running step
    [1111] [2024-11-18 14:22:18,355] [DEBUG] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_start_message:308} - Step Input: name='MyCustomGreatGrandChildStep' description='MyCustomGreatGrandChildStep' foo='foo' bar='bar' qux='qux'
    [1111] [2024-11-18 14:22:18,356] [DEBUG] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_end_message:329} - Step Output: name='MyCustomGreatGrandChildStep.Output' description='Output for MyCustomGreatGrandChildStep' baz='foobar'
    [1111] [2024-11-18 14:22:18,356] [INFO] [koheesio.MyCustomGreatGrandChildStep] {__init__.py:_log_end_message:330} - Finished running step
```

## How Has This Been Tested?
Tested by adding unit tests in tests/steps/test_steps.py to verify that
the execute method is wrapped only once and that the log messages are
called in the correct order. The tests also cover custom metaclass
functionality and ensure that the output validation and logging work as
expected.

## Screenshots (if appropriate):
...

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] 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)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
- [x] I have added tests to cover my changes.
- [x] All new and existing tests passed.

---------

Co-authored-by: Danny Meijer <[email protected]>
<!--- Provide a general summary of your changes in the Title above -->

## Description
Fix github action for fetching correct branch in case of fork

## How Has This Been Tested?
Github action run

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x ] 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)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
- [x] I have added tests to cover my changes.
- [x] All new and existing tests passed.
Fix broken import statements and updated `hello-world.md`

## Description
This pull request addresses documentation errors in the `hello-world.md`
(spark) example as part of fixing issue
[#104](#104).
- The changes involve updating the hello_world.md file; a paragraph was
added explaining the need of setting up a SparkSession prior to invoking
- Additionally, any other import errors that were present were addressed

## Related Issue

#104 

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
N/A

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->
N/A

## Screenshots (if appropriate):
N/A

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] 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)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
- [ ] I have added tests to cover my changes.
- [x] All new and existing tests passed.

---------

Co-authored-by: Danny Meijer <[email protected]>
mikita-sakalouski and others added 5 commits November 21, 2024 11:15
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->

## Related Issue
<!--- This project only accepts pull requests related to open issues -->
<!--- If suggesting a new feature or change, please discuss it in an
issue first -->
<!--- If fixing a bug, there should be an issue describing it with steps
to reproduce -->
<!--- Please link to the issue here: -->

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->

## Screenshots (if appropriate):

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] 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)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have read the **CONTRIBUTING** document.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
Add an `overwrite` flag to the `BoxFileWriter` class
…ting (#111)

<!--- Provide a general summary of your changes in the Title above -->

## Description
Introduce private attributes for batch and stream readers to enable
adding options to DeltaReader both streaming and writing.

## Related Issue
#110 

## Motivation and Context
Provide possibility to override readers, e.g. add more options to
readers.

## How Has This Been Tested?
Current tests


## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
- [x] I have added tests to cover my changes.
- [x] All new and existing tests passed.
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Refer to #113 

## Related Issue
<!--- This project only accepts pull requests related to open issues -->
<!--- If suggesting a new feature or change, please discuss it in an
issue first -->
<!--- If fixing a bug, there should be an issue describing it with steps
to reproduce -->
<!--- Please link to the issue here: -->
#113 

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
Exposing HyperProcess parameters allow certain customizations to how the
Hyper process runs.

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->
Unit tests

## Screenshots (if appropriate):

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
- [x] I have added tests to cover my changes.
- [x] All new and existing tests passed.

Co-authored-by: Maxim Mityutko <[email protected]>
mikita-sakalouski and others added 4 commits November 25, 2024 14:11
<!--- Provide a general summary of your changes in the Title above -->

## Description
Fix usage of RunQuery

## Related Issue
#120 

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->

## How Has This Been Tested?
Existing tests

## Screenshots (if appropriate):

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] 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)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
- [ ] I have added tests to cover my changes.
- [x] All new and existing tests passed.
<!--- Provide a general summary of your changes in the Title above -->

## Description
Snowflake python connector have a logic to get default[ root directory
for
configurations](https://github.com/snowflakedb/snowflake-connector-python/blob/9ddb2050cde13819a289fb6982b48431f253a53e/src/snowflake/connector/sf_dirs.py#L47):
```python
def _resolve_platform_dirs() -> PlatformDirsProto:
    """Decide on what PlatformDirs class to use.

    In case a folder exists (which can be customized with the environmental
    variable `SNOWFLAKE_HOME`) we use that directory as all platform
    directories. If this folder does not exist we'll fall back to platformdirs
    defaults.

    This helper function was introduced to make this code testable.
    """
    platformdir_kwargs = {
        "appname": "snowflake",
        "appauthor": False,
    }
    snowflake_home = pathlib.Path(
        os.environ.get("SNOWFLAKE_HOME", "~/.snowflake/"),
    ).expanduser()
    if snowflake_home.exists():
        return SFPlatformDirs(
            str(snowflake_home),
            **platformdir_kwargs,
        )
    else:
        # In case SNOWFLAKE_HOME does not exist we fall back to using
        # platformdirs to determine where system files should be placed. Please
        # see docs for all the directories defined in the module at
        # https://platformdirs.readthedocs.io/
        return PlatformDirs(**platformdir_kwargs)
```

Currently in databricks jobs execution this one is being set to
`'/root/.snowflake'` which is not allowed to be accessed.

The fix is to catch the error and provide `tmp` folder instead of
`root`.

## Related Issue
#124 

## Motivation and Context
Be able to use snowflake python in databricks

## How Has This Been Tested?
Added new tests

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] 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)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have read the **CONTRIBUTING** document.
- [x] I have added tests to cover my changes.
- [x] All new and existing tests passed.
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Additonal fixes for #101 and #102

## Related Issue
<!--- This project only accepts pull requests related to open issues -->
<!--- If suggesting a new feature or change, please discuss it in an
issue first -->
<!--- If fixing a bug, there should be an issue describing it with steps
to reproduce -->
<!--- Please link to the issue here: -->
#101, #102

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->

## Screenshots (if appropriate):

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] 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)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
- [ ] I have added tests to cover my changes.
- [x] All new and existing tests passed.

---------

Co-authored-by: Danny Meijer <[email protected]>
@mikita-sakalouski mikita-sakalouski marked this pull request as ready for review November 26, 2024 22:32
@mikita-sakalouski mikita-sakalouski requested a review from a team as a code owner November 26, 2024 22:32
mikita-sakalouski

This comment was marked as resolved.

- Final version bump
- Documentation update
- Ran ruff (2 files changed)

---------

Co-authored-by: Danny Meijer <[email protected]>
@dannymeijer dannymeijer requested review from mikita-sakalouski and a team November 27, 2024 14:12
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
This pull request aims to make transformations callable within the
Koheesio framework.

## Related Issue
<!--- This project only accepts pull requests related to open issues -->
<!--- If suggesting a new feature or change, please discuss it in an
issue first -->
<!--- If fixing a bug, there should be an issue describing it with steps
to reproduce -->
<!--- Please link to the issue here: -->
N/A

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->
Added applicable unit test.

## Screenshots (if appropriate):

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
- [x] I have added tests to cover my changes.
- [x] All new and existing tests passed.

---------

Co-authored-by: Danny Meijer <[email protected]>
Copy link
Contributor

@riccamini riccamini left a comment

Choose a reason for hiding this comment

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

Some comments mostly related to imports

src/koheesio/integrations/spark/sftp.py Show resolved Hide resolved
src/koheesio/integrations/spark/snowflake.py Show resolved Hide resolved
src/koheesio/integrations/spark/snowflake.py Show resolved Hide resolved
src/koheesio/spark/__init__.py Show resolved Hide resolved
src/koheesio/spark/readers/delta.py Show resolved Hide resolved
tests/spark/readers/test_jdbc.py Outdated Show resolved Hide resolved
dannymeijer and others added 2 commits November 28, 2024 14:06
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->
Small fix for a tiny bug

## Related Issue
<!--- This project only accepts pull requests related to open issues -->
<!--- If suggesting a new feature or change, please discuss it in an
issue first -->
<!--- If fixing a bug, there should be an issue describing it with steps
to reproduce -->
<!--- Please link to the issue here: -->

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->

## Screenshots (if appropriate):

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] 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)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
- [ ] I have added tests to cover my changes.
- [x] All new and existing tests passed.

Co-authored-by: Danny Meijer <[email protected]>
…133)

<!--- Provide a general summary of your changes in the Title above -->

## Description
`DataBricksSecret` class can be used to get secrets from DataBricks
scopes.

## Related Issue
#66 

## Motivation and Context
Support secret scope in Databricks

## How Has This Been Tested?
Add mocked test

## Screenshots (if appropriate):

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
- [x] I have added tests to cover my changes.
- [ ] All new and existing tests passed.

---------

Co-authored-by: Danny Meijer <[email protected]>
Co-authored-by: Danny Meijer <[email protected]>
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->

## Related Issue
<!--- This project only accepts pull requests related to open issues -->
<!--- If suggesting a new feature or change, please discuss it in an
issue first -->
<!--- If fixing a bug, there should be an issue describing it with steps
to reproduce -->
<!--- Please link to the issue here: -->
#135 

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->

## Screenshots (if appropriate):

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] 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)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
- [ ] I have added tests to cover my changes.
- [x] All new and existing tests passed.
…sts (#140)

<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->

## Related Issue
<!--- This project only accepts pull requests related to open issues -->
<!--- If suggesting a new feature or change, please discuss it in an
issue first -->
<!--- If fixing a bug, there should be an issue describing it with steps
to reproduce -->
<!--- Please link to the issue here: -->
#139

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->

## Screenshots (if appropriate):

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] 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)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [x] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
- [x] I have added tests to cover my changes.
- [x] All new and existing tests passed.

Co-authored-by: Danny Meijer <[email protected]>
Copy link
Contributor

@riccamini riccamini left a comment

Choose a reason for hiding this comment

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

Looks good to me 🛫

@dannymeijer dannymeijer merged commit d98745b into main Nov 29, 2024
15 checks passed
@dannymeijer dannymeijer deleted the release/0.9 branch November 29, 2024 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[FEATURE] - DBR 14.3 support - foreachbatch impacts
6 participants