International Obfuscated Python Code Competition

6 min read Original article ↗

Winners are announced for the 3rd (2025) IOPCC!

    Obfuscate: tr.v. -cated, -cating, -cates.
      1. To render obscure.
      2. To darken.
    1. To confuse: his emotions obfuscated his judgment.
      [LLat. obfuscare, to darken : ob(intensive) + Lat. fuscare,
      to darken < fuscus, dark.] -obfuscation n. obfuscatory adj

Goals of the Contest

  • To write the most Obscure/Obfuscated Python program within the rules.
  • To show the importance of programming style, in an ironic way.
  • To stress Python interpreters with unusual code.
  • To illustrate some of the subtleties of the Python language.
  • To provide a safe forum for poor Python code. :~)

This competition is an homage to/adaptation of the IOCCC, which was created by Leo Broukhis, Simon Cooper, and Landon Curt Noll

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License

© Copyright 2025, Julius Park -- All rights reserved.

  • This seems exactly like the IOCCC but for Python?


    This contest is a complete rip-off the IOCCC idea and purpose and rules. If you like this contest, you will almost certainly love the IOCCC. Check it out!
  • What Python version should I use?


    For this contest, we will be recommending that entries successfully run in some CPython version 3.8+. However, if you have a very cool idea for a script that requires some version older, that can be accommodated.
  • Will any information about judging rounds and/or number of entries be released?


    Yes, but it will be in an AES-256 encrypted file and all of the judges will burn the USB drive containing the private key in a cult-like ceremony.
  • One of the winner's solutions doesn't run in my Python X.X interpreter!?


    Every solution will specify a Python version that it will run in. If it does not run in a version not supported that is unfortunately not our problem.
  • I found a bug!


    All code released as part of this contest is provided on an AS-IS basis. If you would like to email the authors you can do that.
  • Are there types of entries that are so common in obfuscated code competitions they should not be submitted?


    Yes, please check out the IOCCC FAQ page which lists a variety of common submissions. While this is a new contest, we would like to minimize the number of derivative submissions, thus Python versions of IOCCC programs will not be accepted unless some significant additional functionality is added. Furthermore, bear in mind that entries that are common CAN win, it just requires an interesting twist on the common trope.

We like programs that:

  • use strange or cursed methods to implement an algorithm
  • OR
  • are very tiny
  • OR
  • are unique or novel in their obfuscation style
  • OR
  • make us laugh and/or throw up :-) (humor really helps!)

Because this is a Python competition, there will also be consideration for clever uses of the Python interpreter internals. The weirder, more obscure, more obfuscated your program is, the more likely it is to win. However, each of those axes are weighted equally by the judges.

Rules

  • your program must run and produce output without any human intervention.
  • your program must run without network access (besides the installation of any libraries).
  • you can only use CPython versions >=3.8, except under extenuating circumstances (it has to be a very cool entry). Please use the builds provided on python.org as there are minor inconsistencies with other builds of CPython (eg. pyenv builds).
  • your entry must have at least one executable .py file, and must contain a file named remarks.md in which you can explain to the judges how your program works and why it is cool. This is also where you can explain any Easter Eggs in your code, and potential uses that may not be obvious.
  • remarks.md MUST contain the Python version(s) the submission is intended to be run on, in addition to any arguments/environment variables that need to be supplied to the Python script to make it function correctly.
  • remarks.md MUST contain the operating system, the OS version, any external libraries that are required (and their versions), and any usage of platform-dependent APIs.
  • remarks.md may also contain the email addresses and names of the submitter, but if any/all of them are omitted the entry will simply lack that information, but you can still win anonymously.
  • If the judges can't get your submission to run on the Python version specified, with the information provided in remarks.md, we will email the address provided in the submission explaining how the program does not work. The contestant will then be able to rectify any errors. Winning entries will be published to a public GitHub repo once winners are announced. It will be published on the IOPCC homepage.

    If your entry demonstrates a bug in CPython, it will be given considerable extra consideration.

Submissions are closed for the 4th (2026) IOPCC.

Sign up for our mailing list to stay in the loop.

Judges

3rd International Obfuscated Python Code Contest (2025)

2025.zip all of the data for 2025 (13.6MB)

livinnector2001 - Most mind-boggling
seabomb - Least not-not-not excessive
dawnstar1024 - Smelliest colon
bulmenisaurus+orthoplex - Most portable
dsetera24 - Most isopolar

2nd International Obfuscated Python Code Contest (2024)

2024.zip all of the data for 2024 (18.2MB)

commandz - Best punchline
mindiell - Best use of deprecated software
kefalonia - Reddest herring
changlu1106 - Most unlikely to give you up
warrenusui - Most fully functional
calculatorcoder42 - Most complex

1st International Obfuscated Python Code Contest (2023)

2023.zip all of the data for 2023 (5.2MB)

4evnyuij - Most roundabout
denballakh - Most understated
lippmann - Most introspective
mindiell - Most reproducible
moshe - Most puzzling
vuksan - Tallest house of cards