Skip to content

Conversation

@totonga
Copy link
Collaborator

@totonga totonga commented Feb 5, 2026

This pull request introduces chunked file download support to the file_access_download method, improving memory efficiency when downloading large files. It also adds comprehensive tests for the new chunked download functionality, updates dependencies and CI workflows, and makes minor documentation and compatibility improvements.

Chunked file download support and tests:

  • Refactored file_access_download in src/odsbox/con_i.py to stream file downloads in chunks (default 8KB), reducing memory usage and adding a chunk_size parameter. The HTTP request now uses stream=True, and file writing iterates over non-empty chunks. [1] [2] [3] [4]
  • Added tests/test_con_i_chunked_download.py with extensive tests covering chunk size handling, data integrity, Content-Disposition, and binary data preservation for chunked downloads.
  • Updated existing tests in tests/test_con_i_file_access.py to use iter_content instead of content for compatibility with the new chunked download implementation. [1] [2] [3] [4] [5]

Dependency and workflow updates:

  • Updated bandit and black to latest versions in pyproject.toml for test dependencies.
  • Updated actions/checkout to v6.0.2 in GitHub Actions workflow files for improved CI reliability. (.github/workflows/schedule-update-actions.yml, .github/workflows/template-sync.yml) [1] [2]
  • Added ipython to documentation requirements in docs/requirements.txt.

Other improvements:

  • Incremented package version to 1.0.17 in src/odsbox/__init__.py.
  • Improved dtype compatibility check in a test for string columns to support future pandas versions.
  • Removed the Microsoft SECURITY.md file.

dependabot bot and others added 6 commits January 25, 2026 17:09
Bumps [black](https://github.com/psf/black) from 25.12.0 to 26.1.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@25.12.0...26.1.0)

---
updated-dependencies:
- dependency-name: black
  dependency-version: 26.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [bandit[toml]](https://github.com/PyCQA/bandit) from 1.9.2 to 1.9.3.
- [Release notes](https://github.com/PyCQA/bandit/releases)
- [Commits](PyCQA/bandit@1.9.2...1.9.3)

---
updated-dependencies:
- dependency-name: bandit[toml]
  dependency-version: 1.9.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6.0.1...v6.0.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andreas K <totonga@gmail.com>
Co-authored-by: a.krantz <a.krantz@peak-solution.de>
* feat: implement chunked download for large files and add corresponding tests

* fix: correct formatting in docstring

* fix: remove microsoft file derived from template

---------

Co-authored-by: a.krantz <a.krantz@peak-solution.de>
@totonga totonga added the enhancement New feature or request label Feb 5, 2026
@totonga totonga merged commit 9d64824 into main Feb 5, 2026
45 of 47 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant