conda-forge / poetry-feedstock

A conda-smithy repository for poetry.
BSD 3-Clause "New" or "Revised" License
3 stars 13 forks source link

[DEV] update to v1.2.0rc2 #71

Closed xylar closed 2 years ago

xylar commented 2 years ago

Checklist

closes #67

conda-forge-linter commented 2 years ago

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.

Here's what I've got...

For recipe:

xylar commented 2 years ago

@conda-forge-admin, please rerender

conda-forge-linter commented 2 years ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

xylar commented 2 years ago

I don't see any reason this won't have the same circular dependency problem as in #67 :-(

xylar commented 2 years ago

I'm including a patch for https://github.com/python-poetry/poetry/pull/5980. Without that one, we can't make any headway here.

xylar commented 2 years ago

@maresb, any objection to me merging this including the patch to remove poetry-plugin-export? I think this is a decent intermediate solution even though https://github.com/python-poetry/poetry/pull/5980 is still being debated.

maresb commented 2 years ago

I feel pretty uneasy about it. I commented about it some minutes ago, but I'm not finding it.

maresb commented 2 years ago

Ah, I wrote it in https://github.com/conda-forge/poetry-feedstock/issues/70#issuecomment-1231979495

drhagen commented 2 years ago

I am willing to test this build in various circumstances and report back, but I can't find instructions on how to install from a build. Is that possible?

maresb commented 2 years ago

@drhagen, it's a bit tricky. I just enabled an option for the GitHub Actions jobs to store the outputs as artifacts. Once it finishes, you should be able to download the package as a .tar.bz2 and mamba install it.

Thanks! It's much appreciated.

xylar commented 2 years ago

@maresb, can you now provide instructions on downloading the build artifacts? I couldn't figure it out.

maresb commented 2 years ago

Ah, sorry, I forgot to rerender!

maresb commented 2 years ago

@conda-forge-admin, please rerender

maresb commented 2 years ago

If you open the logs there should be an obvious option to download artifacts, when the artifacts actually build.

maresb commented 2 years ago

See "1 artifact produced": image

xylar commented 2 years ago

@maresb I'm not sure how much it will help with #72 but what do you see as the downside of merging this PR (1.2.0rc2) with the patch to remove poetry-plugin-export? I agree that merging #72 with that patch is probably too risky but it seems like few folks are using the dev version and those who are won't be surprised if it's a little experimental. It would probably help @drhagen to be able to play around with it.

maresb commented 2 years ago

Ah, right, that makes sense. I was getting confused between the main release branch and the dev prerelease branch. I agree that rc2 is experimental, so we can break. Let's merge!

drhagen commented 2 years ago

Installing this release was quite the trip, but in the end was possible with this Mambaforge command:

conda install --channel "conda-forge/label/poetry_dev" --channel "conda-forge/label/cleo_dev" poetry=1.2.0rc2

I tested the following Poetry commands and everything seems to be working fine:

I did these tests both in the base environment as well as in a project-specific environment, because Poetry behaves differently when it is in a Conda environment.

The base environment worked exactly as expected.

Strangely, Poetry seems to ignore the conda environment and make its own environment. It does not look like this code changed in 1.2.0, and it does the same thing if I install rc2 from pip or install 1.1.14. This either broke a long time ago or I am doing something wrong.

Also, if I do poetry export, I get a The command "export" does not exist. error as one would expect given the patch.

maresb commented 2 years ago

Installing this release was quite the trip

Ya, I wrote instructions in https://github.com/conda-forge/poetry-feedstock/issues/64

Strangely, Poetry seems to ignore the conda environment and make its own environment.

I work mostly Dockerized, and I usually run

poetry config virtualenvs.create false

which prevents virtualenv creation.

xylar commented 2 years ago

@drhagen, thanks for this testing!

Sorry the installation gave you trouble but it's true that it's tricky to install dev packages, particularly like here with dev dependencies.

Also, if I do poetry export, I get a The command "export" does not exist. error as one would expect given the patch.

Is that no longer true if you manually install poetry-plugin-export?

xylar commented 2 years ago

To answer my own question, it seems to work. I will work on getting https://github.com/conda-forge/poetry-plugin-export-feedstock/pull/4 to build so we have the "right" version of poetry-plugin-export to install alongside poetry 1.2.0rc2.

xylar commented 2 years ago

@maresb, how are you feeling at this point about moving forward with a patched 1.2.0? Still feeling like it's better not to have 1.2.0 at all?

xylar commented 2 years ago

I guess the answer is that we're still blocked by not having a compatible release of cleo, so no worries for now.

maresb commented 2 years ago

In general I feel very reluctant to patch non-Conda-specific functionality in the packages we're building. I worry that it might cause more confusion than it solves, but that's just my opinion.

If the cleo issue clears up, perhaps it'd be worthwhile to seek another opinion from someone wiser and more experienced than me, like ocefpaf.

xylar commented 2 years ago

I understand that. I see this case as being a little different because pip/pypi support circular dependencies whereas conda doesn't and we're trying to get around it. Even so, there's certainly a high risk of confusion or unintended consequences.

I worry that there will be a great deal of confusion and frustration if we just say folks can't use poetry 1.2.0. But we can see.

We can certainly ask ocefpaf when the time comes. I think he would agree with my assessment that he's not necessarily the most cautious person when it comes to this kind of thing. I think he'd be okay with patching and dealing with the consequences. But we can certainly ask.

maresb commented 2 years ago

I think he's be okay with patching and dealing with the consequences.

It's more than I'd personally want to take on, but since you seem motivated I certainly don't want to stop you. :smile:

drhagen commented 2 years ago

Also, if I do poetry export, I get a The command "export" does not exist. error as one would expect given the patch.

Is that no longer true if you manually install poetry-plugin-export?

poetry export works fine if I conda install poetry-plugin-export.