dashingsoft/pyarmor

A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 44 minutes ago
Added to GitGenius on September 13th, 2026
Created on August 26th, 2017
Open Issues & Pull Requests: 14 (+0)
GitHub issues: Enabled
Number of forks: 364
Total Stargazers: 5,187 (+0)
Total Subscribers: 47 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.4 hours
Mean response time: 26.1 hours
90th percentile: 19.0 hours
Tracked items: 319

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 14% of issues opened in the past year have been closed. Three people close 92% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 8
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 269 days
Stale 30+ days: 4
Stale 90+ days: 4

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • invalid (122)
  • bug (92)
  • documented (46)
  • wrong usage (17)
  • wontfix (8)
  • can't reproduced (3)
  • enhancement (3)
  • duplicate (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Pyarmor is a command-line tool for obfuscating Python scripts, binding them to specific machines, and setting expiration dates on obfuscated code.

Pyarmor addresses the need to protect Python source code from inspection and unauthorized use. It works by renaming functions, methods, classes, variables, and arguments to make code unreadable, and optionally converts selected Python functions to C functions compiled into machine instructions for irreversible obfuscation. The tool produces standard .py files that can replace originals in most deployment scenarios. It supports binding obfuscated scripts to specific machines by hardware identifier and can enforce expiration dates, causing scripts to stop running after a set time. On Windows, it can additionally apply Themida protection to obfuscated code.

Pyarmor suits projects where source code confidentiality is a business requirement, such as commercial libraries, proprietary applications, or scripts containing sensitive logic. It works across Python 2 and Python 3 on Windows, Linux distributions including embedded systems and Raspberry Pi, and macOS on both Intel and Apple Silicon architectures. The tool offers multiple obfuscation modes to balance between security strength and runtime performance. Adoption requires understanding that the free trial version never expires but has feature limitations; full capabilities require a purchased license.

The project maintains active development with regular updates addressing compatibility across multiple Python versions and architectures. Documentation is extensive, covering getting started, detailed feature explanations, and troubleshooting resources. The maintainers provide multiple support channels including a learning system, FAQ, and direct email contact for business inquiries. A third-party AI assistant focused on Pyarmor questions is available, though responses from it do not represent official team positions.