Feature request: allow `decompress` to decompress stream data without content size in the header
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 42/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- backend-api-design
Hướng nghiên cứu
Tái hiện các ví dụ với zstd.decompress, max_output_size và ZstdDecompressor.stream_reader để so sánh hành vi hiện tại. Bắt đầu từ điểm vào của API decompress và các bài kiểm thử của nó; được xem là hoàn tất khi có thể giải nén các frame không có kích thước nội dung mà không yêu cầu biết trước kích thước đầu ra, với độ bao phủ cho trường hợp đã được báo cáo.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Edit: this is documented, but I think it would be an useful addition. Maybe by passing max_output_size=-1?
The example below raises ZstdError: could not determine content size in frame header
import io
import zstandard as zstd
data = b'some data'
input_buffer = io.BytesIO(data)
with zstd.ZstdCompressor().stream_reader(input_buffer) as r:
compressed = r.read()
decompressed = zstd.decompress(compressed)
assert decompressed == data
Passing max_output_size to the decompress call works as expected:
...
decompressed = zstd.decompress(compressed, max_output_size=len(data))
assert decompressed == data
Using ZstdDecompressor.stream_reader also works:
...
with zstd.ZstdDecompressor().stream_reader(io.BytesIO(compressed)) as r:
decompressed = r.read()
assert decompressed == data
I think decompress should handle this case as well, since it's not always possible to known how the data was compressed.
The package version I use is zstandard 0.15.2 on windows 10 (but I don't think it's os dependent)
- Ngôn ngữ chính
- C
- Star
- 641
- Fork
- 117
- Merge trung bình
- 1 ngày 14 giờ
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của indygreg/python-zstandard
-
`multi_decompress_to_buffer([])` terminates the process with SIGFPECó thể đã có người làm @mikamikasuki đã nhận 7 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
indygreg/python-zstandard#335 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Silent data-correctness bug: `readinto()` / `readinto1()` on `stream_reader` return `tell() == 0` after successful readsCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
indygreg/python-zstandard#295 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 64/100
indygreg/python-zstandard#345 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 55/100
indygreg/python-zstandard#334 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 54/100
indygreg/python-zstandard#333 ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của indygreg/python-zstandard
Issue tương tự
-
encoding.binary: bounds check guard is compiled away, so decode functions read past the sliceĐang mở
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 5 ngày
-
constants.h: M_PI / M_PI_2 fallbacks cause -Wambiguous-macro when H3 is compiled as a Clang moduleĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area:backend bug launch:p2 scope:core
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Chelis-Lang/chelis#3494 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
zephyrproject-rtos/zephyr#121740 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày