International Obfuscated Python Code Competition
-
Obfuscate: tr.v. -cated, -cating, -cates.
-
- To render obscure.
- To darken.
- 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.
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License
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 2024, 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!)
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 namedremarks.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 currently closed for the 2nd (2024) IOPCC.
Sign up for our mailing list to get updates for next year's competition.Judges
1st International Obfuscated Python Code Contest (2023)
2023.zip all of the data for 2023 (5.2MB)
4evnyuij - Most roundabout-
animtest.py
remarks.md
spoiler.mov
-
_.py
explanation.py
remarks.md
run.py
spoiler.txt
-
main.py
remarks.md
spoiler.png
-
fibonacci.py
remarks.md
spoiler.txt
-
nirmo.py
remarks.md
spoiler.mov
-
original.py
remarks.md
step1.py
step2.py
step2obf.py
spoiler.txt