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.c
now integrates audio-based entropy, with timing-based fallback for robust RNG behaviour.- Fully reworked
hRng
in bothC
andPython Lib Wrappers
- Improved
processInspect
with new feature that is sessions, which allows a sort of constant data update pipeline with custom intervals allC
native
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.ps1
to restrict.c
file searches to../src
only, and improved error messages. - Enhanced
compilerHelper.ps1
to support auto-accept and command-line file selection for compilation. - Updated
distributionHelper.ps1
to 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-beta
in__init__.py
. - Updated
SECURITY.md
for 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.whl
This 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.md
to provide clear project contribution instructions. - Setup Refactor: Streamlined
setup.py
, implemented proper cleanup inbdist_wheel
command, and improved error handling. - Distribution Updates: Updated
distributionHelper.ps1
and.gitignore
to 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.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