-
Notifications
You must be signed in to change notification settings - Fork 89
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
Cannot install awkward from HEAD: awkward-cpp==3 not found #2003
Comments
We bump our The problem here is really that we have a monorepo, so you realistically need to clone the repo in order to build the packages. Related to this is our two-phase build; there's a I think practically speaking one has to do this in a two phase build, e.g. pushd $(mktemp -d)
git clone --depth=1 --recurse-submodules --shallow-submodules https://github.com/scikit-hep/awkward.git
cd awkward
pipx run nox -s prepare
mkdir wheels
pipx run --python $(which python3) build -w -o wheels awkward-cpp
pipx run --python $(which python3) build -w -o wheels . However, I'm curious as to why the built |
We won't be able to support pip install git+https://github.com/scikit-hep/awkward.git installations anymore, at least not in a way that will always work. (We never claimed to support this before, but I guess it would have worked if you had all of the build tools installed.) We still need to figure out a policy for when PRs that touch C++ get merged and when the But anyway, ANY decision we make on coordinating C++ changes with Since pip-installing from git must fail in time intervals between (a) and (b), we shouldn't claim that it's a supported installation mechanism in general. Perhaps C++ updates are rare, but we don't want people to rely on something that we know won't work sometimes. The actual build and upload of an Beyond the coordination issue, I think pip installing from git also won't work because some of the files need to be built with nox, as @agoose77 described. Some of these generated files are part of the So as an action item for this issue, we need a sentence in Actually, I'll go add this now. |
Just to add on our conversation earlier - we can have scripts running in pyproject.toml through plugins, but it adds complexity that we don't have a strong justification for. In particular, our sdists are simple because they don't bundle any dev scripts - everything is generated for them. This is a nice distinction that is prefer to keep, hence the 'declarative' point. I.e, at the 'package' level, awkward and awkward-cpp are totally distinct. |
That's what I meant in my
paragraph. If that were the only thing preventing pip install through git, we'd want to reconsider it: weighing developer experience versus user experience. (One is not automatically more important than the other, but we'd have to think about the relative value.) However, since it must be the case that installation through git will be broken in time intervals between (a) and (b), it's obvious: we're not going to recommend an installation procedure that necessarily must be broken some of the time. So we don't have to consider sacrificing the declarativeness of pyproject.toml. |
Oh absolutely! I just wanted to clarify the technical possibility of running scripts in our build chain! :) |
Version of Awkward Array
1e475cf (current HEAD)
Description and code to reproduce
Hi, installing the HEAD of
awkward
viapip
currently fails while trying to findawkward-cpp==3
:From a brief look at the history it seems like this may be due to 307fa10 raising the version number to 3.
I ran the above in a
python:3.10-slim
container to reproduce, but presumably this is not specifically an environment issue.The text was updated successfully, but these errors were encountered: