vapoursynth / vsrepo

A simple package repository for VapourSynth
MIT License
113 stars 29 forks source link

Pypi package? #135

Closed rlaphoenix closed 3 years ago

rlaphoenix commented 3 years ago

Could you please host a Pypi package for vsrepo to simplify installation, usage, distribution, AND documentation efforts.

Example real cases of the benefit

Choosing which python environment to use

Since VapourSynth doesn't support 3.9 yet (not in the official releases anyway), I have 3.8 installed alongside it (python3.8 binary in path). Running vsrepo will use whichever python is the first come in the path, which will be 3.9. This then causes installation issues and confusion.

If it was a PyPI package I could simply do python3.8 -m pip install vsrepo and then python3.8 -m vsrepo install pvsfunc, solving the issue.

Documentation for VapourSynth and other peoples projects (like my own)

The above example CAN be used with 3.8, e.g. python3.8 vsrepo.py ... but I would need to either cd to the directory of vsrepo.py, or I would need to provide the full path to vsrepo.py. Both ways are really really annoying for the user and for documentation purposes.

E.g. if I wanted to instruct a user to install dependencies with vsrepo (which I do currently on most of my vs projects), I would need to re-iterate all these annoying ways to run vsrepo multiple times, which may just confuse the user considering just typing vsrepo may work (but install to the wrong python installation) and then blame me for stuff or make annoying github issues.

If it was a PyPI package I could simply tell them to pip install vsrepo and use it as a package like I already showed above.

Benefits for the official distributions of VapourSynth too!

Cons:

rlaphoenix commented 3 years ago

I would also like to mention that it's incredibly easy to push to pypi if you use the newer PEP517 packaging recommendations, and from there simplify it even more with github actions to build, test, and upload to pypi for you when you make a github release.

Setuptools docs now primarily explain the new PEP517 pyproject.toml and setup.cfg files and setup rather than the outdated setup.py. And a quick example for the github actions and PEP517 system and how to build, install, e.t.c. can be found on my pvsfunc project to spare you time, feel free to copy paste and edit what is necessary.

myrsloik commented 3 years ago

Maybe, I'll think about it

myrsloik commented 3 years ago

Nah