Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wrapper around train.py, ... scripts and release on pypi #56

Open
alsa64 opened this issue Mar 25, 2024 · 1 comment
Open

wrapper around train.py, ... scripts and release on pypi #56

alsa64 opened this issue Mar 25, 2024 · 1 comment
Labels
discussion Discussion about something enhancement New feature or request

Comments

@alsa64
Copy link

alsa64 commented Mar 25, 2024

That would heavily simplify the management of updates for users and make the installation much simpler, just run pip install neosr and one would be ready to go.

As the config templates wouldn't be available locally anymore a neosr template ls and neosr template write command may also be of interest.

@neosr-project neosr-project added enhancement New feature or request discussion Discussion about something labels Mar 25, 2024
@neosr-project
Copy link
Owner

neosr-project commented Oct 18, 2024

I have been thinking about this idea, and kinda decided not to proceed with this for now. I would like to hear opinions though. Reasons:

  • PyPI packages don't follow the .lock hashes. This means the env can't be reproduced, contrary to using poetry like it is right now.
  • The options/ would be awkward to work with (neosr template --otf span... would be weird)
  • No benefit (afaik) other than having a pretty name in the terminal. If the project had a public api having a package on pypi would really have benefits, but it doesn't

So instead of publishing on pypi, maybe a better solution would be to provide scripts for installing, updating and uninstalling.
For example, a single command (windows) irm "https://github.com/neosr-project/neosr/install" | iex or (linux) curl -s https://github.com/neosr-project/neosr/install | sh, would download and execute a powershell or shell, respectively. That script would check for CUDA version, python version and git. If they are not installed or have an unsupported version, attempt to use a package manager to install it, or fail with a message. Then after that the script executes successfully, a python script is executed, that will install poetry and use it to install neosr (as described on Installation Instructions). That way, the env is completely reproducible by obeying the lock file, and we don't need the complexity that comes with making it a package.

Opinions?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Discussion about something enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants