Skip to main content

Installation

Obfy installs as a single package. It gives you the obfy CLI that you run at build time and bundles the native runtime that gets packaged into your protected output — no second install.

Requirements

  • CPython 3.10–3.13. The marshal/bytecode format is version-specific, so you must build with the same Python version you ship for.
  • A supported platform: macOS (Apple Silicon or Intel), Linux (x86_64 / aarch64), or Windows (x64).

1. Install Obfy

pip install obfy

Install it into the interpreter you will ship for — obfy build bundles the runtime from this install into every distribution. Verify it:

obfy --help
Match your Python version

If you ship for Python 3.11, build with Python 3.11. A dist built against one CPython version will not import under another.

2. Authorize this machine

Obfy is licensed per seat. Authorize this machine once — sign in, then claim a seat slot (obfy build is refused until both are done):

obfy login      # opens your browser to authorize the device
obfy register # claims a seat slot for this machine

On an air-gapped machine, use the offline flow instead (obfy register --offlineobfy activate <file>); see Seats and devices. On success, the machine holds a seat and caches credentials locally. Check who you're signed in as:

obfy whoami

To sign out and forget the cached credentials:

obfy logout

Next steps

You're ready to protect a project — continue to the Tutorial.