Commit Graph
32 Commits
Author SHA1 Message Date
xixu-me 7deb6f335d Bump version to 1.0.0
Updated the library version from 0.4.0 to 1.0.0 in __init__.py to reflect a major release.
v1.0.0
2025-06-01 02:20:31 +08:00
xixu-me 48fb66a957 Update README with --no-atomic option
Added documentation for the '--no-atomic' option in the 'create' command, including its usage and a note that it is not recommended. This improves clarity for users regarding atomic file operations.
2025-06-01 01:02:44 +08:00
xixu-me 841b8973bd Update CI script to use GITHUB_OUTPUT
Modified the CI workflow to write the version output to the GITHUB_OUTPUT file instead of using the deprecated 'set-output' command. Added 'os' module import to support this change.
2025-06-01 00:55:16 +08:00
xixu-me 40eae4df14 Refactor archive listing logic
Extracted verbose and simple archive listing logic into separate helper functions `_print_verbose_listing` and `_print_simple_listing` to improve code readability and maintainability in `cmd_list`.
2025-06-01 00:45:27 +08:00
xixu-me f2d8e6ad03 Refactor CLI command argument handling in tests
Updated test cases to use unpacking syntax (*file_paths) for passing file paths to CLI commands. This improves readability and ensures consistent argument handling across all test scenarios.
2025-06-01 00:37:25 +08:00
xixu-me afc20b794c Enhance documentation and update config
Updated `pyproject.toml` to include additional Ruff configuration options and improved linting rules. Enhanced docstrings in `cli.py` and `core.py` with `See Also` references for better code navigation and understanding.
2025-06-01 00:27:54 +08:00
xixu-me 6cc8f28175 Refactor CLI and update CI workflow
Updated the CI workflow to use 'ruff format' instead of 'black' for format checks. Enhanced docstrings across CLI commands and exception classes for better clarity and documentation. Adjusted pyproject.toml to remove 'black' from dev dependencies and added new files to sdist include list.
2025-05-31 22:49:41 +08:00
xixu-me 4a0ff4c500 Refine error messages and remove Python 3.14 fix
Updated error messages in `cli.py` for consistency and clarity by replacing colons with dashes. Removed compatibility fix for Python 3.14 in `core.py` as it is no longer needed.
2025-05-31 18:48:02 +08:00
xixu-me 9b411a3f28 Update zstandard dependency version
Lowered the minimum required version of the zstandard dependency from 0.23.0 to 0.19.0 in pyproject.toml to improve compatibility.
2025-05-31 17:43:06 +08:00
xixu-me af2659facf Update Python version support and dependencies
Removed support for Python 3.14 pre-release across CI workflows, README, and pyproject.toml. Updated zstandard dependency version in README and adjusted Ruff target version to Python 3.12.
2025-05-31 17:22:03 +08:00
xixu-me bca4bfaea8 Update dependencies and remove compatibility fix
Updated the zstandard dependency version in pyproject.toml to allow versions starting from 0.23.0. Removed a compatibility fix for Python 3.14 in src/tzst/__init__.py as it is no longer needed.
2025-05-31 17:15:19 +08:00
xixu-me adee9dbdd5 Update zstandard dependency and add Python 3.14 fix
Updated the zstandard dependency to version 0.23.1 in README.md and pyproject.toml. Added a compatibility fix in src/tzst/core.py for Python 3.14 due to the removal of ByteString from the typing module.
2025-05-31 17:10:45 +08:00
xixu-me e6af81c3ac Fix Python 3.14 compatibility issue
Removed unnecessary version check and simplified compatibility fix for Python 3.14 by directly importing ByteString from collections.abc and assigning it to typing.ByteString.
2025-05-31 16:59:01 +08:00
xixu-me 7c36b7ac34 Update zstandard dependency and add Python 3.14 fix
Updated the zstandard dependency to version 0.23.0 in README.md and pyproject.toml. Added a compatibility fix in src/tzst/__init__.py for Python 3.14 due to the removal of ByteString from typing.
2025-05-31 16:54:01 +08:00
xixu-me aa39f7641d Add support for Python 3.14
Updated CI workflows to include Python 3.14 with pre-release support. Modified README and pyproject.toml to reflect compatibility with Python 3.14. Adjusted ruff target version to Python 3.14.
2025-05-31 16:41:15 +08:00
xixu-me c53637aaf7 Add strict mode to zip iteration in tests
Updated tests in `test_core.py` to use the `strict=True` parameter in `zip` for better error handling when iterating over buffered and streaming contents. This ensures mismatched lengths are caught during testing.
2025-05-31 15:53:56 +08:00
xixu-me 6b57409712 Update Python version support to 3.12+
This commit updates the CI configuration, pyproject.toml, and codebase to drop support for Python versions below 3.12 and add support for Python 3.13. Type hints are updated to use modern syntax, and redundant checks for extraction filter support are removed as Python 3.12+ always supports filters.
2025-05-31 15:48:13 +08:00
xixu-me 5de5036bba Remove backward compatibility for Python < 3.12
Dropped custom extraction filter implementations and related exception classes for older Python versions in `core.py`. Updated README to reflect the new minimum Python version requirement (3.12) and removed outdated support section.
2025-05-31 01:39:56 +08:00
xixu-me 4e155d0e05 Refactor test argument order in CLI security tests
Reordered arguments in the test_filter_with_other_options method for better readability and consistency. This change improves clarity in the test setup.
2025-05-31 01:01:24 +08:00
xixu-me e81ac01161 Add security filters for archive extraction
Introduced security filters for extracting `.tzst` archives, including backward compatibility for Python < 3.12. Updated README with documentation on filter usage and added implementation for 'data', 'tar', and 'fully_trusted' filters in `core.py`. Bumped version to 0.4.0 in `__init__.py`.
2025-05-31 00:51:18 +08:00
xixu-me 4c4235ee87 Add security filters for archive extraction
Introduced security filters ('data', 'tar', 'fully_trusted') to enhance safety during archive extraction. Updated CLI commands, core extraction logic, and added comprehensive tests to ensure proper handling of filters and security warnings.
2025-05-31 00:12:39 +08:00
xixu-me 1fb4782009 Add streaming and no-atomic options to CLI
Updated the CLI to support a `--streaming` option for memory-efficient operations and a `--no-atomic` option to disable atomic file operations. Adjusted related functions to handle these new arguments and updated the documentation accordingly. Also bumped the library version to 0.3.1.
2025-05-30 15:52:00 +08:00
xixu-me 34263a2265 Update project status to stable in pyproject.toml
Changed the 'Development Status' classifier from 'Beta' to 'Production/Stable' to reflect the project's maturity.
2025-05-30 15:02:39 +08:00
xixu-me 9c4cf715d4 Update README with streaming mode details
Enhanced the README to include detailed information about streaming mode for large archives, atomic file operations, and improved error handling. Added examples, CLI options, and Python API usage for memory-efficient processing and recovery mechanisms.
2025-05-30 14:47:52 +08:00
xixu-me 521a6858fb Add streaming mode and atomic operations
Introduced streaming mode for memory-efficient handling of large archives and added atomic file operations for reliable archive creation. Updated CLI commands, core functionality, and tests to support these features. Improved error handling and documentation for append mode and compression level validation.
2025-05-30 14:22:07 +08:00
xixu-me 56b427caba Update issue templates 2025-05-30 13:30:06 +08:00
xixu-me 4d6efc4402 Update issue templates 2025-05-30 13:18:21 +08:00
xixu-me 12fe2a8d5e Add funding info and update workflows
Added a FUNDING.yml file to specify sponsorship details. Updated the CI workflow to include a new job for updating badges and improved PyPI version handling. Modified README badges and CLI to include a banner print function and adjusted version display.
2025-05-30 12:01:34 +08:00
xixu-me c26273fd79 Update README.md 2025-05-29 22:31:21 +08:00
xixu-me 6d57fc0203 Update __init__.py 2025-05-29 22:15:47 +08:00
xixu-me 66961164a4 Create dependabot.yml 2025-05-29 22:14:36 +08:00
xixu-me 6a3cdd48b8 Initial commit 2025-05-29 21:59:21 +08:00