v0.2.0-beta
pyCTools Release - Major Update
Installation of v0.2.0-beta
Here is the pip command:
pip install https://github.com/DefinetlyNotAI/PyCTools/releases/download/0.2.0-beta/pyctools-0.2.0b0-py3-none-any.whl
This release marks a significant milestone for pyCTools, transforming it into a fully functional, easy-to-install Python library with robust features and improved security.
Highlights:
- Installation Made Simple: Added comprehensive installation instructions and a new
setup.pythat supports version prompting, DLL checks, and seamless pip installation. - Windows-Only Support: The package now explicitly restricts usage to Windows OS for stability and compatibility.
- Security Fixes: Fixed a critical RNG security vulnerability where the random buffer was incorrectly soft-clamped to 32 bytes, preventing dangerous repeating patterns. Added
SECURITY.mdfor vulnerability reporting. - Enhanced RNG Functionality: Implemented unique random byte generation for large buffers with multi-threaded RNG sampling and detailed analysis showing promising results.
- Code Refactoring & Cleanup: Improved DLL loading logic, moved binary files for better packaging, enhanced error handling, and optimized both Python and C code for efficiency and readability.
- Documentation & Examples: Updated README with clear build instructions, added thorough docstrings, and provided comprehensive examples showcasing MaxRNG and process metrics features.
- Project Structure Improvements: Introduced
__init__.pyfor proper package setup, refactored imports, and simplified DLL entry points. - Additional Resources: Added
CODE_OF_CONDUCT.md,TODO.md, and.gitattributesto mark generated test files.
This release prepares pyCTools for broader adoption, ensuring stability, security, and ease of use. Thank you to everyone who contributed!
Important
Attached will be a ZIP file that contains the built DLL's required by the python scripts,
YOU MUST keep the DLL structure the same: dist/{architecture_type}/{name}_{architecture_type}.dll
You will still find the other generated files if you want to play around with them, attached is also the ZIP's hash if you want to check the validity
This supports Windows - both the x86 (32-bit) and x64 (64-bit) architecture, and the python wrappers also auto-detect the required architecture to use for your system, so as long as the dist is available, all is good
You can place the dist folder in the same directory as the Python library.
Tip
You can also just run the tool/compilerHelper.ps1 tool where as long as you have the cl.exe from Microsoft Visual Studio MSVC toolchain.
You can just check the source code of the ps1 tool for the paths it checks for the files!
| File Name | Description | Notes |
|---|---|---|
dist.zip |
Compressed archive containing required binaries as mentioned above | Uses ZIP compression. Contains all DLLs needed for the Python wrapper |
dist.zip.sha256 |
SHA-256 hash file for verifying dist.zip integrity |
Ensure file hasn't been tampered with or corrupted |
pyctools-0.2.0b0-py3-none-any.whl |
WHL File for pip to install the library | Allows easy pip installation |
Full Changelog: v0.1.0...0.2.0-beta