Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Pure python implementation of the ARGON2 password hash

Project description


Pure Python implementation of Argon2 v1.3.

You probably want to use the argon2_cffi or pyargon2 bindings instead.


>>> import argon2pure
>>> from binascii import hexlify
>>> hexlify(argon2pure.argon2('password', 'randomsalt', time_cost=1, memory_cost=16, parallelism=2))



pip install argon2pure


  • Optimize.
  • Cover corner-cases in tests.

argon2pure Changelog

1.3 (2016-12-27)

  • Support ARGON2ID.
  • Add ARGON2_TYPES constant.
  • Python 3.6 support.

1.2.4 (2016-06-25)

  • Close worker pool explicitly. For CPython this makes no difference, but for a Python implementation without reference counting, like PyPy, this will drastically decrease memory usage. (Eli Collins)

1.2.3 (2016-06-23)

  • Add use_threads flag to use threads instead of processes. (Eli Collins)

1.2.2 (2016-06-18)

  • Add ARGON2_VERSIONS constant. (Eli Collins)

1.2 (2016-06-17)

  • Support and switch the default to Argon2 v1.3

1.1.1 (2016-06-17)

  • Fix typo. (Fixes #1)

Thanks to: Eli Collins

1.1 (2016-02-06)

Performance improvements.

  • Faster XORing of blocks.
  • Use multiple threads if possible.

1 (2016-01-21)

  • Initial release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for argon2pure, version 1.3
Filename, size File type Python version Upload date Hashes
Filename, size argon2pure-1.3.tar.gz (8.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page