You can run this in either a Jupyter Notebook or with the main file.
The only requirement outside of the core python libaries is numpy
This repo contains code the demonstrates the Bitcoin SHA256 POW algorithm in python. In this code, the data being hashed is not transaction data, but it could easily be. This code demonstrates the ability to hash different data, demonstrates the impact of increasing difficulty, and demonstrates the benifits of parrallel computing for hashing POW algorithms.
Run python main.py -h for run flags
The Jupyter Notebook goes along with this video. You can run in either colab or locally.