Commit Graph
100 Commits
Author SHA1 Message Date
xixu-me 37af38e8bd Update README.ar.md 2025-06-08 11:30:16 +08:00
xixu-me 6476e2445a Update README.ja.md 2025-06-08 11:29:59 +08:00
xixu-me d9ca6d0d4e Update README.es.md 2025-06-08 11:29:38 +08:00
xixu-me 641256a133 Update README.zh.md 2025-06-08 11:29:19 +08:00
xixu-me 0b37b707b2 Update README.md 2025-06-08 11:27:22 +08:00
xixu-me 069ac67eea Update examples.md 2025-06-07 00:30:24 +08:00
xixu-me 7e3bb1cf6a Update quickstart.md 2025-06-07 00:12:44 +08:00
xixu-me 57c5fd0e6c Update development.md 2025-06-07 00:00:49 +08:00
xixu-me 7dc51f18c1 Add docs/_static/tzst-square-logo.png 2025-06-06 22:55:37 +08:00
xixu-me 2e40a77f29 Delete docs/_static/tzst-square-logo.png 2025-06-06 22:53:58 +08:00
xixu-me e60f252abc Update development.md 2025-06-06 22:41:45 +08:00
xixu-me 56b39fea44 Update index.md 2025-06-06 22:31:44 +08:00
xixu-me ce061aa396 Update index.md 2025-06-06 22:19:41 +08:00
xixu-me 8de8ec0356 Add social media metadata to documentation
Updated multiple documentation files to include Open Graph and Twitter metadata for better social media sharing. Added a new logo image to the static assets folder and referenced it in the metadata.
2025-06-06 22:15:54 +08:00
xixu-me 6c48d80d9a Update badges in documentation
Added new badges for PyPI downloads and GitHub stars to the documentation. Updated the GitHub license badge link to point to the correct URL.
2025-06-06 22:02:50 +08:00
xixu-me 44843e0035 Update documentation and add new guides
This commit updates multiple documentation files to improve clarity, remove emojis, and add new sections. Key changes include the addition of 'development.md' and 'performance.md', updates to the quickstart guide, and enhancements to the API and CLI documentation. These changes aim to provide better guidance for users and contributors.
2025-06-06 22:00:11 +08:00
xixu-me 42180498e0 Fix broken link in documentation index
Replaced `{doc}` with `{ref}` for the 'genindex' link to ensure proper rendering and functionality in the documentation.
2025-06-06 20:34:57 +08:00
xixu-me 9b9ad446c1 Update docs and remove CLI interactive option
Updated the Sphinx configuration to set 'includehidden' to False and revised the documentation index to streamline content. Removed the '--interactive' option from CLI commands 'extract' and 'extract_flat' as it is no longer supported.
2025-06-06 20:27:47 +08:00
xixu-me af7bef5371 Update documentation index with hidden toctree
Added a hidden toctree section in docs/index.md to include 404 and README entries. This improves the structure and navigation of the documentation.
2025-06-06 20:05:49 +08:00
xixu-me 27e1809bf9 Update documentation URLs to new domain
Replaced all occurrences of the old domain 'xixu-me.github.io/tzst' with the new domain 'tzst.xi-xu.me' in layout.html and conf.py for improved SEO and consistency.
2025-06-06 19:59:46 +08:00
xixu-me 4d3d34051f Update Sphinx config and documentation index
Added 'sphinx.ext.coverage' to the Sphinx extensions in conf.py to enable coverage reporting. Removed 'README' and '404' entries from the documentation index in index.md for cleanup.
2025-06-06 19:50:17 +08:00
xixu-me 526ddb76ea Update logo image in documentation
Replaced the existing logo image in the documentation static files with an updated version.
2025-06-06 19:35:32 +08:00
xixu-me 199fe41293 Update documentation references and add anchors
Updated internal references in the documentation to use simplified anchor names. Added missing anchors for sections in 'examples.md' and 'quickstart.md'. Minor formatting adjustments were also made for consistency.
2025-06-06 19:07:31 +08:00
xixu-me 6a9a783ad3 Update documentation workflow and 404 page
Added a new 404.md file for handling 'Page Not Found' errors in the documentation. Updated the publish_docs.yml workflow to include a 'cname' parameter. Removed the CNAME file from the docs directory as it is now managed in the workflow.
2025-06-06 18:55:00 +08:00
xixu-me 571809c36f Add CNAME file for custom domain
Added a CNAME file to configure the custom domain tzst.xi-xu.me for the documentation site.
2025-06-06 18:40:40 +08:00
xixu-me 8b39da60da Update documentation structure and metadata
Added favicon and logo to the static assets. Updated layout.html for improved SEO and performance. Migrated metadata in documentation files to use 'myst' format for consistency. Adjusted configuration in conf.py and fixed formatting issues.
2025-06-06 18:34:17 +08:00
xixu-me b5f7fa8dca Enhance documentation with SEO metadata and layout
Added a new custom layout template for SEO and social media meta tags. Updated multiple documentation files with metadata for improved search engine optimization and social sharing. Enhanced Sphinx configuration with additional HTML options and meta tags.
2025-06-06 17:50:43 +08:00
xixu-me abbeab83f1 Update documentation with indexing and references
Added the ':no-index:' directive to CLI, core, and exceptions API documentation to exclude them from indexing. Updated examples documentation to use Sphinx references for better navigation and added section anchors for improved structure.
2025-06-06 17:39:15 +08:00
xixu-me ef5d06cb0e Enhance documentation for tzst library
- Updated the introduction to provide a clearer overview of tzst's capabilities and features.
- Expanded the Key Features section with detailed descriptions and icons for better readability.
- Improved the Quick Example section to include both command line and Python API usage.
- Added installation options with detailed steps for PyPI, standalone binaries, and source installation.
- Enhanced the Quick Start Guide with structured installation methods and basic usage examples.
- Introduced advanced features like security filters, conflict resolution, and performance optimization.
- Provided comprehensive error handling and common patterns for backup scripts and archive verification.
- Updated the requirements and reference links for better navigation.
2025-06-06 17:31:08 +08:00
xixu-me d0e09347eb Update documentation URL in CLI script
Replaced the outdated GitHub README URL with the new documentation URL (https://tzst.xi-xu.me) in the CLI script for better reference.
2025-06-06 16:23:25 +08:00
xixu-me 76e56c984f Update Sphinx build ignore rules
Removed '_static/' from .gitignore to allow tracking of the '_static' directory. Added a .gitkeep file in '_static' to ensure the directory is included in the repository.
2025-06-06 16:05:45 +08:00
xixu-me d3e5b4e064 Remove duplicate CLI function documentation
Eliminated redundant sections for `format_size` and `validate_compression_level` in the CLI documentation to improve clarity and avoid repetition.
2025-06-06 16:04:34 +08:00
xixu-me 23dcdab305 Update documentation structure and configuration
Revised Sphinx directives in CLI and exceptions API docs to use ':no-index' instead of ':members', ':undoc-members', and ':show-inheritance'. Removed 'display_version' from Sphinx configuration. Added 'README' to the index page for better navigation.
2025-06-06 15:47:38 +08:00
xixu-me 2777fea4fc Add linkify-it-py to documentation requirements
Added the linkify-it-py package (version 2.0.0 or higher) to the docs/requirements.txt file to support automatic linkification in the documentation.
2025-06-06 15:26:27 +08:00
xixu-me 2ca81e0918 Update docs workflow and improve documentation scripts
Modified the GitHub Actions workflow to trigger on push and pull requests to the main branch. Updated `.gitignore` to include additional Sphinx build outputs. Refactored `build_docs.py` for better formatting and error handling. Removed 'changelog' from the documentation index.
2025-06-06 15:15:52 +08:00
xixu-me eb3f66f85e Update README.zh.md 2025-06-06 00:23:20 +08:00
xixu-me 028c7e3650 Update README.ru.md 2025-06-06 00:23:06 +08:00
xixu-me 9e5a677155 Update README.pt.md 2025-06-06 00:22:55 +08:00
xixu-me 19356b819f Update README.md 2025-06-06 00:22:43 +08:00
xixu-me bac2f44072 Update README.ko.md 2025-06-06 00:22:30 +08:00
xixu-me ffb6981965 Update README.ja.md 2025-06-06 00:22:19 +08:00
xixu-me 15d0828fae Update README.fr.md 2025-06-06 00:22:08 +08:00
xixu-me 710c22f605 Update README.es.md 2025-06-06 00:21:55 +08:00
xixu-me 7c268be215 Update README.de.md 2025-06-06 00:21:32 +08:00
xixu-me b92b5c8652 Update README.ar.md 2025-06-06 00:21:18 +08:00
xixu-me af0159a9fe Update language links in README files
Replaced '🇬🇧 English' with 'us English' in all README files and standardized placeholder text for version numbers in the Arabic README. These changes improve consistency across documentation.
2025-06-05 15:29:12 +08:00
xixu-me f6d1ff631d Add Portuguese, Russian, etc. translations for README files 2025-06-05 12:19:39 +08:00
xixu-me b5a654c187 Update README.zh.md 2025-06-05 10:34:33 +08:00
xixu-me 9b30a8657c Update README.ko.md 2025-06-05 02:05:03 +08:00
xixu-me 7f2e53c9d0 Create README.ko.md 2025-06-05 02:03:47 +08:00
xixu-me 58400c8f42 Update README.ja.md 2025-06-05 01:51:28 +08:00
xixu-me cd56764f84 Update README.ja.md 2025-06-05 00:55:16 +08:00
xixu-me 8b3e4d2429 Create README.ja.md 2025-06-05 00:54:04 +08:00
xixu-me 22a879a002 Update README.es.md 2025-06-05 00:51:21 +08:00
xixu-me ac14a4bca7 Create README.es.md 2025-06-05 00:42:39 +08:00
xixu-me f89a10ec50 Update README.zh.md 2025-06-05 00:31:31 +08:00
xixu-me 518e90f0ee Create README.zh.md 2025-06-05 00:03:31 +08:00
xixu-me 194037b87c Update README.md 2025-06-05 00:01:14 +08:00
xixu-me 47d6504f39 Update README.md 2025-06-04 22:33:38 +08:00
xixu-me a15a497c52 Update PyPI badge and README formatting
Modified the PyPI version badge URL in the CI workflow and README to simplify the URL. Enhanced README with emojis for better visual appeal and added detailed installation instructions for standalone binaries.
2025-06-04 22:16:41 +08:00
xixu-me f866f30b7e Bump version to 1.2.3
CI/CD / test (macos-latest, 3.12) (push) Waiting to run
CI/CD / test (macos-latest, 3.13) (push) Waiting to run
CI/CD / test (ubuntu-latest, 3.12) (push) Waiting to run
CI/CD / test (ubuntu-latest, 3.13) (push) Waiting to run
CI/CD / test (windows-latest, 3.12) (push) Waiting to run
CI/CD / test (windows-latest, 3.13) (push) Waiting to run
Updated the `__version__` in `__init__.py` from 1.2.2 to 1.2.3 to reflect the latest changes or release.
2025-06-04 21:39:18 +08:00
xixu-me b2eebdedb2 Simplify GitHub release notes in CI workflow
Updated the GitHub release creation step to use a simplified title format and removed detailed release notes. This change streamlines the release process by omitting installation instructions and commit history links.
2025-06-04 21:39:02 +08:00
xixu-me eb4d29e503 Bump version to 1.2.2
Updated the `__version__` in `__init__.py` from 1.2.1 to 1.2.2 to reflect the latest changes or release.
2025-06-04 21:27:09 +08:00
xixu-me 76963aaf9f Fix indentation in CI workflow script
Corrected the indentation in the Python script within the CI workflow to ensure proper execution of the version assignment and file writing logic.
2025-06-04 21:26:38 +08:00
xixu-me 8035a77c10 Bump version to 1.2.1
Updated the `__version__` in `__init__.py` from 1.2.0 to 1.2.1 to reflect the latest changes or release.
2025-06-04 21:18:57 +08:00
xixu-me d95f173308 Update PyInstaller command in CI workflow
Modified the PyInstaller command in the CI configuration to specify 'src/main.py' as the entry point for building binaries across macOS, Windows, and Linux ARM64 platforms.
2025-06-04 21:12:43 +08:00
xixu-me 637f1d2562 Update CI workflow and add main entry point
Modified the CI workflow to correctly specify the path to the main script for PyInstaller builds. Added a new standalone entry point in src/main.py to serve as the executable script for tzst.
2025-06-04 21:08:33 +08:00
xixu-me d2f11636be Revert "Add standalone entry point for tzst"
This reverts commit 69918b4be5.
2025-06-04 21:05:15 +08:00
xixu-me 69918b4be5 Add standalone entry point for tzst
Created a new main.py file as the standalone entry point for tzst, intended for PyInstaller builds. This script sets up the Python path and invokes the CLI main function.
2025-06-04 21:04:24 +08:00
xixu-me 7d688d420b Bump version to 1.2.0
Updated the `__version__` in `__init__.py` to reflect the new release version 1.2.0.
2025-06-04 20:54:49 +08:00
xixu-me 56a10bc038 Update CI workflow for macOS and binary verification
This commit updates the CI workflow to use macOS-14 for ARM-based runners, adds binary verification steps for Linux, macOS, and Windows, and improves release asset upload handling with success checks. Additionally, it refines the README badge update process for PyPI version.
2025-06-04 20:54:31 +08:00
xixu-me 1dd3cde654 Enhance CI/CD workflow for versioned tags
Updated the CI/CD pipeline to support versioned tags for releases. Added new jobs for building binaries across multiple platforms and architectures, creating release assets, and uploading them to GitHub. Improved conditional logic for triggering workflows based on tags and streamlined badge updates.
2025-06-04 20:42:48 +08:00
xixu-me a1de2e1855 Remove unused report configuration in Codecov
The 'report.exclude_labels' section was removed from the Codecov configuration as it is no longer needed. This simplifies the configuration file.
2025-06-04 20:06:18 +08:00
xixu-me 6397968a4d Improve conflict resolution in archive extraction
Updated the `extract_archive` function to handle string-based conflict resolution by converting it to an enum. Added fallback to `ConflictResolution.REPLACE` for invalid values, ensuring safer and more predictable behavior.
2025-06-04 19:27:41 +08:00
xixu-me cb5c198d16 Refactor tests and enhance coverage for conflict resolution and edge cases
- Removed outdated tests for missing lines in core.py.
- Added comprehensive tests for conflict resolution functionality, including various resolution strategies and edge cases.
- Improved error handling tests for archive creation and extraction processes.
- Enhanced unit tests for basic functionality and convenience functions with pytest markers.
- Introduced tests for unique filename generation and conflict handling scenarios.
- Added edge case tests for archive extraction and error conditions to improve overall test coverage.
2025-06-04 18:55:53 +08:00
xixu-me afe5d738a6 Merge pull request #5 from xixu-me/alert-autofix-5
Potential fix for code scanning alert no. 5: Workflow does not contain permissions
2025-06-02 22:02:55 +08:00
xixu-me e65a56c00b Bump version to 1.1.1
Updated the library version in __init__.py from 1.1.0 to 1.1.1 to reflect the latest changes or improvements.
2025-06-02 22:00:49 +08:00
xixu-meandCopilot Autofix powered by AI 06eac113fa Potential fix for code scanning alert no. 5: Workflow does not contain permissions
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-06-02 21:46:34 +08:00
xixu-me d300760799 Remove references to changelog and delete file
Removed all references to `CHANGELOG.md` in documentation and templates, and deleted the `docs/changelog.md` file. This change reflects a shift away from maintaining a changelog in favor of other documentation practices.
2025-06-02 21:39:24 +08:00
xixu-me a5f342f556 Final documentation cleanup and refinements 2025-06-02 21:26:20 +08:00
xixu-me cfb8290dea Add comprehensive Sphinx documentation with GitHub Pages deployment
- Complete documentation structure with index, quickstart, examples, and API reference
- Sphinx configuration with RTD theme, MyST parser, and autodoc
- GitHub Actions workflow for automated documentation building and deployment
- Local development tools (Makefile, build scripts)
- Comprehensive examples covering basic usage, security, and performance
- API documentation for core, CLI, and exceptions modules
2025-06-02 21:11:45 +08:00
xixu-me 654d9f1666 Improve cleanup and exception handling in tests
Enhanced cleanup logic in `temp_dir` fixture to handle Windows-specific file locking issues. Updated tests to ensure suppressed exceptions during context manager exit and added manual cleanup for mocked objects to prevent resource leaks.
2025-06-02 20:23:09 +08:00
xixu-me 172ec6cb29 Add validation for invalid commands in CLI
Introduced `_validate_command_in_argv` to check for invalid commands in CLI arguments. Updated compression level validation to include the new `-c` flag. Adjusted tests to reflect changes in error handling, ensuring argparse error codes are maintained for invalid inputs.
2025-06-02 20:11:15 +08:00
xixu-me 94b7a5b31a Add error handling and extractall method in TzstArchive
Enhanced the TzstArchive class with improved error handling for cleanup and file addition operations. Introduced a new extractall method with filtering options for secure extraction. Updated tests to reflect changes in extraction behavior and error handling.
2025-06-02 19:43:50 +08:00
xixu-me 1d98650d3b Refactor test cases for clarity and consistency
Updated test cases in `test_cli_missing_lines.py`, `test_core_missing_lines.py`, and `test_core_missing_lines_fixed.py` to improve readability and consistency. Changes include replacing redundant comments, simplifying code structure, and ensuring proper function usage (e.g., `_validate_files` instead of `validate_files`).
2025-06-02 17:09:03 +08:00
xixu-me 1cad021539 Add comprehensive test cases for CLI and core
Introduced new test files to improve coverage for CLI and core functionalities. Added edge case tests for CLI commands, conftest fixtures, and core archive handling, including error handling, streaming mode, and verbose listing.
2025-06-02 16:39:04 +08:00
xixu-me aef5d90a3a Handle KeyboardInterrupt in CLI commands
Added handling for KeyboardInterrupt in `cmd_list` and `cmd_test` functions to gracefully terminate operations and return exit code 130 when interrupted by the user.
2025-06-02 15:54:00 +08:00
xixu-me 8aa893827b Add type casting and improve extraction logic
Introduced type casting with `Literal` in CLI extraction commands to ensure stricter type safety for filter arguments. Updated extraction logic in `core.py` to differentiate parameters for `extract` and `extractall` methods, improving compatibility and handling of attributes during extraction.
2025-06-02 15:22:13 +08:00
xixu-me 0ecbdb3ea0 Add tests for edge cases and coverage improvements
Introduced new test cases in `test_convenience_functions.py` and `test_security_and_errors.py` to cover edge cases, improve code coverage, and validate specific scenarios such as invalid modes, compression levels, and operations on closed archives. These changes address missing lines from the coverage report and enhance robustness.
2025-06-02 07:54:27 +08:00
xixu-me a4ddd106f8 Add comprehensive CLI test coverage
Introduced new test cases for CLI commands to cover verbose and simple listing functionalities, exception handling, and edge cases. This includes tests for missing files, decompression errors, keyboard interrupts, and advanced scenarios to ensure robust behavior.
2025-06-02 07:14:17 +08:00
xixu-me 35df0a4a44 Update project description and docstring
Revised the project description in pyproject.toml and the module docstring in src/tzst/__init__.py to reflect the library's focus on modern archive management and Zstandard compression.
2025-06-02 06:48:46 +08:00
xixu-me 4e0ec638cc Add handling for extreme compression levels
Introduced `_is_extreme_compression_level_in_argv` to detect extreme compression levels (>=1000) and updated `_handle_parsing_errors` to return exit code 1 for such cases. Adjusted related tests to validate the new behavior and fixed inconsistencies in test assertions for compression level and filter validation.
2025-06-02 06:29:33 +08:00
xixu-me da2baa46c5 Add integration and unit tests for tzst library functionality
- Created integration tests for complex scenarios in `tests/integration/test_complex_scenarios.py`.
- Added unit tests for core functionality, convenience functions, security features, and error handling in `tests/unit/test_archive_basics.py`, `tests/unit/test_convenience_functions.py`, `tests/unit/test_security_and_errors.py`.
- Implemented tests for temporary file exclusion, large file operations, and complex directory structures.
- Included tests for atomic operations and compression level validation.
- Established a structure for integration and unit tests with appropriate docstrings and assertions.
2025-06-02 05:40:42 +08:00
xixu-me b1c165f473 Update repository URL in CONTRIBUTING.md
The repository URL in the CONTRIBUTING.md file was updated to reflect the correct GitHub username 'xixu-me' instead of 'your-username'.
2025-06-02 02:51:20 +08:00
xixu-me 028bb3f1b9 Add version command handler
Introduced a `cmd_version` function to handle the `--version` flag, replacing the previous implementation that used `argparse`'s `action='version'`. Updated the argument parser and command execution logic to support the new version handling.
2025-06-02 02:31:02 +08:00
xixu-me 86582c9d49 Bump library version to 1.1.0
Updated the `__version__` in `__init__.py` to reflect the new version of the tzst library, indicating changes or improvements in the library.
2025-06-02 01:20:37 +08:00
xixu-me 44c8b20e9f Update repository URL in README
The repository URL in the README was updated to reflect the correct GitHub username, changing from 'your-username' to 'xixu-me'.
2025-06-02 01:08:28 +08:00
xixu-me b83d320afc Update CI workflow to ignore specific paths
Modified the CI/CD workflow to ignore changes to markdown files, LICENSE, documentation, and .gitignore files for push and pull request events. This helps optimize the workflow by skipping unnecessary builds.
2025-06-02 01:05:46 +08:00
xixu-me de7d3d735e Update README for clarity and consistency
Improved phrasing and formatting in the README to enhance clarity and consistency. Removed redundant sections, streamlined explanations, and updated examples for better readability and usability.
2025-06-02 00:54:42 +08:00
xixu-me 260ba1f66e Fix README link in question issue template
Updated the relative path to the README.md file in the question issue template to ensure the link resolves correctly.
2025-06-02 00:32:42 +08:00