pex-tool/pex

A tool for generating .pex (Python EXecutable) files, lock files and venvs.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 16 minutes ago
Added to GitGenius on September 16th, 2026
Created on July 21st, 2014
Open Issues & Pull Requests: 56 (+0)
GitHub issues: Enabled
Number of forks: 321
Total Stargazers: 4,224 (+0)
Total Subscribers: 50 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 0.8 hours
Mean response time: 131.3 days
90th percentile: 18.9 days
Tracked items: 160

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Practically every issue opened in the past year has drawn a reply. 97% of issues opened in the past year have since been closed. Three people close 94% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 14
New in 7 days: 2
Closed in 7 days: 2
Avg open age: 900 days
Stale 30+ days: 13
Stale 90+ days: 12

Recent activity

Opened in 7 days: 2
Closed in 7 days: 2
Comments in 7 days: 2
Events in 7 days: 10

Top labels

  • bug (89)
  • question (29)
  • answered (27)
  • feature request (23)
  • enhancement (20)
  • resolver (14)
  • tech-debt (14)
  • in progress (5)

Detailed Description

PEX is a tool for generating .pex files, lock files, and virtual environments from Python projects.

The tool solves the problem of distributing Python applications as self-contained executables without requiring users to install Python or manage dependencies. PEX packages a Python interpreter, application code, and all dependencies into a single .pex file that can run on any compatible system. It also generates lock files for reproducible dependency resolution and can create virtual environments, giving developers multiple options for packaging and distribution based on their deployment needs.

PEX suits projects that need portable, hermetic Python applications or require reproducible builds across different environments. It works well for command-line tools, microservices, and scenarios where dependency management must be deterministic. Teams should consider it when they want to eliminate "works on my machine" problems or need to distribute applications to systems where Python installation is restricted or inconsistent. The tool is particularly valuable for organizations managing complex dependency graphs that must remain stable across deployments.

The project maintains active engagement with its issue tracker, responding to user reports and feature requests. Development includes regular updates to handle evolving Python packaging standards and ecosystem changes. The maintainers actively refine the tool's core functionality around .pex generation, lock file handling, and virtual environment creation based on user feedback. The project demonstrates sustained attention to compatibility across Python versions and platforms, ensuring the tool remains functional as the broader Python ecosystem evolves.