Skip to content

Releases: DefinetlyNotAI/PyCTools

v0.3.0-beta

16 Aug 23:15
d5b1fe4
Compare
Choose a tag to compare

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 both C and Python Lib Wrappers
  • Improved processInspect with new feature that is sessions, which allows a sort of constant data update pipeline with custom intervals all C 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

13 Aug 13:43
0.2.1-beta
143fa81
Compare
Choose a tag to compare

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 in bdist_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

11 Aug 21:39
27787c6
Compare
Choose a tag to compare

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