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

saw-remote-api python client install needs ../../deps/cryptol/cryptol-remote-api/python #1818

Closed
weaversa opened this issue Feb 9, 2023 · 4 comments
Labels
subsystem: saw-remote-api Issues related to the SAW server and its RPC bindings

Comments

@weaversa
Copy link
Contributor

weaversa commented Feb 9, 2023

$ wget https://github.com/GaloisInc/saw-script/archive/refs/heads/master.zip && unzip master.zip
$ cd saw-script-master/saw-remote-api/python
$ poetry install

This complains about not being able to find ../../deps/cryptol/cryptol-remote-api/python, which is a new error, and kind of strange.

If I do go grab cryptol and stick it in ../../deps, the install goes fine. It's worth noting that this error happens even if I have already installed the cryptol-remote-api python client.

@RyanGlScott RyanGlScott added the subsystem: saw-remote-api Issues related to the SAW server and its RPC bindings label Feb 9, 2023
@RyanGlScott
Copy link
Contributor

The key line in question is here:

cryptol = { path = "../../deps/cryptol/cryptol-remote-api/python/", develop = true }

We are depending on a development version of cryptol-remote-api that is not yet released on PyPI. This is by design, as the cryptol submodule commit we are depending on is also a development version. As such, you will need to have cryptol checked out as a submodule (or, as you've done, placed it under deps).

@RyanGlScott
Copy link
Contributor

Does #1818 (comment) resolve this issue for you, @weaversa?

@weaversa
Copy link
Contributor Author

Does #1818 (comment) resolve this issue for you, @weaversa?

I can install the python client, but it's awkward. I'm putting the client in a Dockerfile, and rather than git clone the repo, I am downloading the master.zip. The zip file doesn't have a deps folder, so I have to create one and then manually grab the cryptol master.zip and unzip it to the correct spot. I also delete everything except the python folders (I'm trying to keep the layers small).

Ideally, it would be nice if I could pip install saw-client (or something) and know that I'm getting a recent working version that is synced w/ a same pip install cryptol-client as well as apt-get install recent versions of Cryptol and SAW. I realize I could use the pip versions, but so many new features are added to Cryptol and SAW all the time, and the release schedule is not regular (the last release for SAW was Oct 7, 2021, 1360 commits ago), so I'm forced to use the nightlies for everything we do. It might be a lot to ask, but it would be nice to have shorter scheduled releases (monthly?) for Cryptol and SAW (even if only the minor version number changes).

@RyanGlScott
Copy link
Contributor

As of commit 550e66e, we now depend on the cryptol-3.0.0 from PyPI, so we are no longer vendoring in a copy of the Python cryptol bindings from GitHub.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
subsystem: saw-remote-api Issues related to the SAW server and its RPC bindings
Projects
None yet
Development

No branches or pull requests

2 participants