ronaldoussoren / py2app

py2app is a Python setuptools command which will allow you to make standalone Mac OS X application bundles and plugins from Python scripts.
Other
350 stars 35 forks source link

Design configuration file and command-line interface #431

Open ronaldoussoren opened 2 years ago

ronaldoussoren commented 2 years ago

Design a clean and modern configuration file for py2app, separate from setuptools. Also design a command-line interface separate from setuptools.

My current idea for the configuration file is to use the TOML format, and I haven't decided yet if this configuration should be in pyproject.toml or some other configuration file ("pyapp.toml").

The command-line interface will likely be something like python3 -m py2app build [--config=py2app.toml] (with a subcommand interface for future flexibility, I hope to add at least a "lint" command and possibly others)

Out of scope: a programmatic interface to py2app, this would constrain code development too much at this point in time.

The implementation will use the same internal interface as #428 to invoke the actual builder, and may longer term support features that aren't present in setuptoolsl command.

hasii2011 commented 2 years ago

👍

ronaldoussoren commented 2 years ago

Some things to look into:

ronaldoussoren commented 2 years ago

note that the writing is on the wall: the setuptools project has deprecated the "python setup.py ..." interface for setuptools, currently primarily for building wheels/extensions and installing. I'm assuming that this will in the long run lead to more and more problems for tools that use the older and established interface with custom commands.