Legrandin/pycryptodome

A self-contained cryptographic library for Python

View on GitHub ↗Jump to charts ↓Open shareable report →

Legrandin/pycryptodome has 3k+ stars and 550+ forks on GitHub, is written in Python, and was last pushed on Oct 18, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 minute ago
Added to GitGenius on September 21st, 2026
Created on May 2nd, 2014
Open Issues & Pull Requests: 59 (+0)
GitHub issues: Enabled
Number of forks: 578
Total Stargazers: 3,276 (+0)
Total Subscribers: 62 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.5 days
Mean response time: 193.6 days
90th percentile: 463.5 days
Tracked items: 86

How this project is maintained

Work labelled "bug" is answered fastest, typically in about 3 days, while "fix_available" waits about 6 weeks. Three people close 95% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 17
New in 7 days: 0
Closed in 7 days: 16
Avg open age: 1,430 days
Stale 30+ days: 14
Stale 90+ days: 14

Recent activity

Opened in 7 days: 0
Closed in 7 days: 16
Comments in 7 days: 3
Events in 7 days: 19

Top labels

  • fix_available (17)
  • feature request (14)
  • bug (10)
  • enhancement (3)
  • documentation (1)
  • waiting_for_feedback (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

PyCryptodome is a self-contained cryptographic library for Python that provides low-level cryptographic primitives.

The library solves the problem of needing modern, well-maintained cryptographic functionality in Python by offering a fork of the older PyCrypto with substantial enhancements. It implements algorithms primarily in pure Python, with performance-critical components like block ciphers written as C extensions. This hybrid approach balances portability with speed. The tool sources random numbers directly from the operating system rather than relying on userspace CSPRNGs, and it can be installed either as a drop-in replacement for PyCrypto under the Crypto package namespace or as an independent library under the Cryptodome namespace to allow coexistence with PyCrypto.

Developers should choose this library if they need authenticated encryption modes, elliptic curve cryptography including modern curves like Ed25519 and Curve25519, or modern hash algorithms such as SHA-3 and BLAKE2. It suits projects requiring comprehensive cryptographic coverage without external dependencies like OpenSSL. The tool supports Python 2.7, Python 3.7 and newer versions, and PyPy. On Unix systems, installing GMP separately can accelerate public key operations. The independent Cryptodome namespace installation is recommended when PyCrypto coexistence is needed, while the Crypto namespace option works best in isolated virtual environments.

Development activity shows consistent integration testing through automated workflows and active package maintenance across multiple distribution channels. The project maintains a dedicated security contact for vulnerability reporting, indicating a structured approach to handling security issues.