Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What? When did that go away? What is the alternative?


In a pyproject.toml file you can create/define scripts that reference an entry function. E.g.:

    # myapp/app.py
    def main():
        print('Hello!')
and in the pyproject.toml:

    [project.scripts]
    app = "myapp.app:main"
You can still use the __name__ check at the end of the file, e.g.:

    if __name__ == '__main__':
        main()
That way it works both as a standalone and when installed via pip/uv. -- Note: The scripts created by the installer are slightly more complicated versions of that __name__ check that handle the application argument (arg 0) and the exit code as the return value from main().




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: