Skip to content

v0.2.0-beta

Choose a tag to compare

@DefinetlyNotAI DefinetlyNotAI released this 11 Aug 21:39
· 53 commits to main since this release
27787c6

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.py that 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.md for 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__.py for proper package setup, refactored imports, and simplified DLL entry points.
  • Additional Resources: Added CODE_OF_CONDUCT.md, TODO.md, and .gitattributes to 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