Package: dunderhell
dunderhellTurn your Python code entirely into dunders.InstallationpipinstalldunderhellUsage$catfoo.pyprint(1)$dunderhellfoo.py__chr__=__builtins__.__getattribute__(__name__.__reduce__.__name__[__name__.__len__().__floordiv__(__name__.__len__()).__add__(__name__.__len__().__floordiv__(__name__.__len__())).__add__(__name__.__len__().__floordiv__(__name__.__len__())).__add__(__name__.__len__().__floordiv__(__name__.__len__())).__add__(__name__.__len__().__floordiv__(__name__.__len__())).__add__(__name__.__len__().__floordiv__(__name__.__len__()))].__add__(__name__.__add__.__class__.__name__[__name__.__len__().__floordiv__(__name__.__len__()).__add__(__name__.__len__().__floordiv__(__name__.__len__())).__add__(__name__.__len__().__floordiv__(__name__.__len__()))]).__add__(__name__.__class__.__name__[__name__.__len__().__floordiv__(__name__.__len__()).__neg__()]))__builtins__.__getattribute__(__chr__(__name__.__len__().__mul__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__())).__add__(__chr__(__name__.__len__().__mul__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__().__floordiv__(__name__.__len__()).__add__(__name__.__len__().__floordiv__(__name__.__len__()))))).__add__(__chr__(__name__.__len__().__mul__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__().__floordiv__(__name__.__len__())))).__add__(__chr__(__name__.__len__().__mul__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__().__floordiv__(__name__.__len__()).__add__(__name__.__len__().__floordiv__(__name__.__len__())).__add__(__name__.__len__().__floordiv__(__name__.__len__())).__add__(__name__.__len__().__floordiv__(__name__.__len__())).__add__(__name__.__len__().__floordiv__(__name__.__len__())).__add__(__name__.__len__().__floordiv__(__name__.__len__()))))).__add__(__chr__(__name__.__len__().__mul__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__()).__add__(__name__.__len__().__floordiv__(__name__.__len__()).__add__(__name__.__len__().__floordiv__(__name__.__len__())).__add__(__name__.__len__().__floordiv__(__name__.__len__())).__add__(__name__.__len__().__floordiv__(__name__.__len__()))))))(__name__.__len__().__floordiv__(__name__.__len__()))Local Development / TestingCreate and activate a virtual environmentRunpip install -r requirements-dev.txtto do an editable installRunpytestto run testsType CheckingRunmypy .Create and upload a package to PyPIMake sure to bump the version insetup.cfg.Then run the following commands:rm-rfbuilddist
pythonsetup.pysdistbdist_wheelThen upload it to PyPI usingtwine:twineuploaddist/*