Releases: DefinetlyNotAI/PyCTools
v0.3.0-beta
pyCTools Release - Ultimate Rework of RNG
Installation of v0.3.0-beta
Here is the pip command:
pip install https://github.com/DefinetlyNotAI/PyCTools/releases/download/0.3.0-beta/pyctools-0.3.0b0-py3-none-any.whl
PyCTools v0.3.0-beta
Core Enhancements
- Implemented configurable RNG with advanced entropy sources and output options. Fully upgraded for stronger randomness and security.
- Introduced advanced RNG configuration methods for custom random data generation.
hRng.cnow integrates audio-based entropy, with timing-based fallback for robust RNG behaviour.- Fully reworked
hRngin bothCandPython Lib Wrappers - Improved
processInspectwith new feature that is sessions, which allows a sort of constant data update pipeline with custom intervals allCnative
Metrics & Monitoring
- Added metrics monitoring functionality with call-back support.
- Provides stable streams of data at configurable intervals for a set duration or until explicitly stopped.
- Updated C implementation, Python library wrapper, and example scripts for seamless usage.
Tooling & Scripts
- Refactored
compilerHelper.ps1to restrict.cfile searches to../srconly, and improved error messages. - Enhanced
compilerHelper.ps1to support auto-accept and command-line file selection for compilation. - Updated
distributionHelper.ps1to revert back to the tool directory after execution (QoL).
Documentation & Examples
- Re-introduced the example directory for clarity and testing.
- Updated PyCTools package documentation workflow via the wiki, simplifying future doc updates.
- Wiki fully updated to reflect current features.
Miscellaneous
- Added issue templates and refreshed TODO list.
- Noted version bump to
0.3.0-betain__init__.py. - Updated
SECURITY.mdfor project compliance.
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 | 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.3.0b0-py3-none-any.whl |
WHL File for pip to install the library | Allows easy pip installation |
Full Changelog: 0.2.1-beta...0.3.0-beta
v0.2.1-beta
pyCTools Release - v0.2.1
Installation of v0.2.1
Here is the pip command:
pip install https://github.com/DefinetlyNotAI/PyCTools/releases/download/0.2.1-beta/pyctools-0.2.1b0-py3-none-any.whlThis release addresses accidental inclusion of __pycache__ in the main branch, adds minor quality-of-life improvements, and continues refactoring setup and distribution processes for better reliability and user experience.
Highlights:
- Pycache Cleanup: Re-added from git history and removed accidental
__pycache__files; minor QoL improvements. - Contribution Guidelines: Added
CONTRIBUTING.mdto provide clear project contribution instructions. - Setup Refactor: Streamlined
setup.py, implemented proper cleanup inbdist_wheelcommand, and improved error handling. - Distribution Updates: Updated
distributionHelper.ps1and.gitignoreto ensure consistent binary packaging and Windows support. - Documentation Improvements: README.md enhanced with installation instructions, wheel creation steps, and project structure details.
Additional minor updates include removal of example files (now documented in Wiki), restricting package usage to Windows, refactoring DLL loading logic, and updating entropy test results after critical bug fixes.
Note
This update has not changed how the library works, but rather QoL changes to documentation, and the developer experience
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 | 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.1b0-py3-none-any.whl |
WHL File for pip to install the library | Allows easy pip installation |
Full Changelog: https://github.com/DefinetlyNotAI/PyCTools/commits/0.2.1-beta
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