[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Packaging Python projects managed with Poetry
From: |
Tanguy Le Carrour |
Subject: |
Re: Packaging Python projects managed with Poetry |
Date: |
Fri, 23 Oct 2020 08:47:38 +0200 |
Hi Christopher,
Thanks for your answer!
Le 10/22, Christopher Baines a écrit :
> Tanguy Le Carrour <tanguy@bioneland.org> writes:
> > I've been happily working with Poetry to manage my Python projects, but
> > now, for the first time, I would like to package one of those projects
> > for Guix.
> >
> > The Python packages I build do not contain any tests or specs, because
> > to me, they don't belong there. But, I need those tests to make sure
> > that my package works with the versions of the dependencies available on
> > Guix.
> >
> > The problem is that the source code that I fetch from the git repository
> > contains the test, but does not contain a `setup.py` file –because Poetry
> > does not use it!—, and the `python-build-system` fails.
> >
> > I haven't wrap my head around this yet and I'm not sure what would be
> > the proper way to do it? Write a `python-poetry-build-system`? I hope not!
> > Just put the d**n tests in the Python package? This would look like a
> > failure to me! :-(
> >
> > Any thought, help, guidance welcome! Thanks! :-)
>
> My first thought, is what would it require for the existing
> python-build-system to detect and support building the things you
> describe?
Mmmm… I guess it would require fixing some of the phases, like stopping
it from trying to patch `setup.py`.
The tests would have to be run from the source directory, but the command
could be anything: `pytest`, `nosetest`, `invoke test`, `mamba`…
Then, instead of running `python setup.py`, one should run `poetry build`
and `pip install dist/name-of-the-package`.
So I guess Danny is right and a poetry-build-system would make sense.
> I haven't used Poetry myself, have you got a project that can be used as
> an example?
```
$ git clone https://github.com/tlc28/test-poetry.git
$ cd test-poetry/
$ poetry build
$ pip install dist/test_poetry-0.1.0-py3-none-any.whl
```
> It looks like the python-build-system already has some functionality
> that's dependent on the use-setuptools? argument.
I guess I'll have to dig into it! Thanks for pointing out!
--
Tanguy