Head back to Documentation



PyPI version Codacy Badge Build Status GPL3 licensed

WARNING: This is work in progress, changes might not be backward compatible.

This library (derived from xmr-stak) currently exposes the following functionality:

  • Python Wrapper for Cryptonight hash
  • Mining thread and hybrid callback

Platform support

  Linux OSX
Python 3 &#10004 &#10004 &#10004 &#63
Webassembly (JS) &#63 &#63 &#63 &#63
Golang - - - -



# Install Dependencies
sudo apt -y install swig3.0 python3-dev build-essential cmake libhwloc-dev libboost-dev

# Install pyqryptonight
pip3 install pyqryptonight


If you don’t have brew yet, we think you should :) Install brew:

# Install brew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

This will prompt you through a few questions while it installs. You can also follow these instructions here: https://brew.sh/

Now install some dependencies

brew install cmake python3 swig hwloc boost
pip3 install pyqryptonight



Building from Source


For the purposes of these instructions the following were used:

  • Build Tools for Visual Studio 2017
  • CMake 3.10.2
  • Ninja 1.8.2
  • Python 3.6
  • SWIG 3.0.12

Also c:\src was used for source files and c:\opt for other dependencies, adjust accordingly if choosing differently.

Note: You can use Microsoft MSBuild instead of Ninja Build by setting environment variable

CMAKE_VS_GENERATOR=Visual Studio 15 2017 Win64

However if you choose to install the pyqrllib package Python setuptools currently will not install it correctly.


Package Required Notes
Visual Studio Build Tools for Visual Studio select the ‘Visual C++ build tools’ option
  Visual Studio Community Edition select the ‘Desktop Development for C++ workload’
Git Git for Windows keep the default option to use git from the command prompt
CMake CMake x64 for Windows Make sure to add CMake to system or user PATH
Python 3 Python 3 Windows x86-64 Add Python 3.x to PATH Optionally change the install location to c:\python36, install the debugging symbols/binaries, Disable the path length limit.
SWIG SWIG (download swigwin) and extract archive to c:\opt
Ninja Build Ninja Build extract ninja.exe to c:\opt\bin

Install vcpkg:

From the start menu run the x64 Native Tools Command Prompt for VS 2017 and issue these commands:

git clone https://github.com/Microsoft/vcpkg.git c:\opt\vcpkg
cd c:\opt\vcpkg
vcpkg.exe install hwloc:x64-windows boost-multiprecision:x64-windows

Build Qrytonight:

git clone --recursive https://github.com/theQRL/qryptonight.git c:\src\qryptonight
cd \src\qryptonight
set PATH=c:\opt\bin;c:\opt\swigwin-3.0.12;%PATH%
set CMAKE_PREFIX_PATH=C:/opt/vcpkg/installed/x64-windows
set CC=cl.exe
set CXX=cl.exe

python setup.py build

If the build succeeded you can perform further steps, issue the command

python setup.py --help-commands

# to see other options, e.g.:
python setup.py test
python setup.py install


This library is distributed under the GPL3 software license

Some of the code is based on the xmr-stak implementation. Most of third party code has been included as git submodules for future reference.

Still stuck? There's help over on Discord!