Because this pulls in flutter, it is needlessly dependency heavy for users that only use the CLI. Consider doing something like:
[project]
dependencies = [
"click",
"requests"
]
[project.optional-dependencies]
gui = [
"PySide6",
"qtpy",
"mpv"
]
and
pip install rclone-decrypt
pip install "rclone-decrypt[gui]"
Then only pull in the deps specified:
def main():
parser = argparse.ArgumentParser()
parser.add_argument("--gui", action="store_true")
args = parser.parse_args()
if args.gui:
from rclone_decrypt.gui import run_gui
run_gui()
else:
from rclone_decrypt.cli import run_cli
run_cli()
Consider also splitting up into 2 packages but that's not necessarily required.
rclone_decrypt/
core/
decrypt.py
cli/
main.py
gui/
app.py
Because this pulls in flutter, it is needlessly dependency heavy for users that only use the CLI. Consider doing something like:
and
Then only pull in the deps specified:
Consider also splitting up into 2 packages but that's not necessarily required.