Zoom2Youtube icon indicating copy to clipboard operation
Zoom2Youtube copied to clipboard

Allow running tool as package or script

Open patcon opened this issue 3 years ago • 0 comments

Hi! Thank for this!

Previously, this tool was intended to run as a script, but not a python package.

I wanted to use it in another repo that has a suite of Python CLI tools, so it made most sense to install it as a package. This adds enough to get that working :)

Here's what I did:

  • migrated src/ to src/zoom2youtube, aligning with Python packaging recommendations
    • fixed crontab path to match
  • Fixed bug where ZOOM_PAGE_SIZE was missing from settings.py
  • Moved the main chunk of code in main.py into a function main(), so that it could be run as a console_script
  • added minimal setup.py for packaging
  • added pipenv-setup to help manage setup.py deps (incl adding pipenv)
    • https://github.com/Madoshakalaka/pipenv-setup
  • added new makefile targets for packaging tasks
  • updated README to mention this method

Main things to note:

The one opinionated thing I did was add pipenv support, since I prefer to use it for package isolation instead of virtualenv directly. It just generated its pipfile from requirements.txt (requirements.txt could be removed if y'all wanted to go officially all-in with pipenv on this. (I also use poetry sometimes as pkg manager, but opted not to use this as per reason below)

I also added pipenv-setup, to autogenerate the setup.py installed packages based on the pipenv.lock, so there's no need to keep the package spec in sync with requirements/pipfile. (this was the main reason i added pipenv, to make maintenance burden of package+script less)

Curious if you'd be willing to merge this...! Thanks for considering!

patcon avatar May 11 '21 17:05 patcon