facultyai / faculty-sync

Synchronise a local directory with your Faculty platform workspace
https://pypi.org/project/faculty_sync/
Apache License 2.0
10 stars 1 forks source link

Use dependency links #8

Closed janfreyberg closed 6 years ago

janfreyberg commented 6 years ago

Adds prompt_toolkit to setup.py dependencies and a link to the github of prompt_toolkit to install the dev version of it.

pbugnion commented 6 years ago

Thanks for this! I played with installing this using:

pip install git+https://github.com/ASIDataScience/sml-sync.git@use-dependency-links --process-dependency-links

That worked on my laptop, but for some reason it installs a stale version when I try it on Sherlock (either with pip 9 or pip 10). I expect the problem is due to my lack of understanding of how pip works with git repositories, rather than something caused by this PR, though.

Is that the same command you used?

janfreyberg commented 6 years ago

I actually installed from my local folder containing the repository, which is maybe why it worked. Surprising that it's different between MacOS and Ubuntu.

I just ran this on Sherlock and got:

Successfully installed argh-0.26.2 bcrypt-3.1.4 daiquiri-1.3.0 inflect-0.3.1 paramiko-2.4.1 pathtools-0.1.2 prompt-toolkit-2.0.0 pyasn1-0.4.2 pynacl-1.2.1 semantic-version-2.6.0 sml-0.8.2 sml-sync-0.2.3 tabulate-0.8.2 watchdog-0.8.3

I was using pip 9.

janfreyberg commented 6 years ago

Yes - but I don't see anywhere a recommended way to do this in the future. Maybe they want to deprecate the ability to install from specific URLs entirely, but maybe they'll have a better way of managing this down the line.

For now, I think we can stick with this and hope that prompt_toolkit updates before pip does.

I'll wait until we have a new version to release before I merge, since otherwise the install instructions don't make sense.

pbugnion commented 6 years ago

The setup.py wasn't declaring sml_sync.cli as a module, so it wasn't getting bundled in source distributions. Not sure why it worked when you were installing off a local directory.

To move it closer to the flow we're going to have on PyPi, I pushed the tag 0.2.4-alpha3. This generates a zip of the source that we can install directly, without pip having to do a checkout. I've tried this:

pip install https://github.com/asidatascience/sml-sync/archive/0.2.4-alpha3.zip --process-dependency-links

... and it worked fine, both locally and on SherlockML.

I think this now looks good to me. Jan -- feel free to squash my commits and tags if you want. If you care about history (I don't really mind), you could also cherry-pick 2ea1176 onto master, since it's not really conceptually part of this PR.

janfreyberg commented 6 years ago

I also don't really mind about the history - it's still part of the installation process, so not too far.

Thanks for rooting that bug out and thanks for testing!