[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: usage of pypi-uri in the pypi importer
From: |
zimoun |
Subject: |
Re: usage of pypi-uri in the pypi importer |
Date: |
Mon, 26 Oct 2020 16:22:03 +0100 |
Dear,
On Sat, 17 Oct 2020 at 21:17, Malte Frank Gerdes <malte.f.gerdes@gmail.com>
wrote:
> i noticed that the python pypi importer generates packages definitions
> which rely on the pypi-uri function declared in the python build
> system. I observed that the python build system itself doesn't use this
> function at all, so why is it defined there and not in the python
> importer, which seems to be the only piece of software using it?
Because, “pypi-uri” is used by *a lot* of Python packages – packages
using ’python-build-system’. For example,
gnu/packages/python-science.scm:
--8<---------------cut here---------------start------------->8---
[..]
#:use-module (guix build-system python))
(define-public python-scipy
(package
(name "python-scipy")
(version "1.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scipy" version))
(sha256
(base32 "192d8dsybvhv19igkrsafbdafx198nz7pibkjgrqjhlr66s3jfd0"))))
(build-system python-build-system)
[..]
--8<---------------cut here---------------end--------------->8---
In what you are proposing, if I read correctly, the
gnu/packages/python-science.scm should have to also import ’(guix import
pypi)’.
> Also: I tried to package pyinstrument-cext and noticed that the importer
> generated function isn't able to find the source package - only
> 404's. The importer uses PyPI's json API to get information about a
> given package (this includes it's url - called source-url), so is the
> pypi-uri function needed at all? the necessary information is available
> even without it. Or are there any specific reasons why things are as
> they are?
I am not sure to understand. Using Guix 353bdae, I get:
--8<---------------cut here---------------start------------->8---
$ guix import pypi pyinstrument-cext
Starting download of /tmp/guix-file.5tmgen
>From
>https://files.pythonhosted.org/packages/b6/95/0a391322dd7f2f97f553373659a787b7428dfe15fc2a8e01844c8768f45e/pyinstrument_cext-0.2.2.tar.gz...
…xt-0.2.2.tar.gz 5KiB 704KiB/s 00:00 [##################] 100.0%
Starting download of /tmp/guix-file.cZDsRo
>From
>https://files.pythonhosted.org/packages/13/2e/d548d3727aa3c5b77eb79f667e7212de1acf93087ddce5274887abbe217d/pyinstrument_cext-0.2.2-cp27-cp27m-macosx_10_6_intel.whl...
…-cp27m-macosx_10_6_intel.whl 7KiB 679KiB/s 00:00 [##################] 100.0%
(package
(name "python-pyinstrument-cext")
(version "0.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyinstrument-cext" version))
(sha256
(base32
"0nycf7nhx2xzba49m8208agx5xghzxkma3iim5f43h3l3pvjb7pj"))))
(build-system python-build-system)
(home-page
"https://github.com/joerick/pyinstrument_cext")
(synopsis
"A CPython extension supporting pyinstrument")
(description
"A CPython extension supporting pyinstrument")
(license #f))
--8<---------------cut here---------------end--------------->8---
BTW, ’pypi-uri’ eases the management of all the packages coming from
PyPI. If the URL of PyPI change or is mirrored, it is easy to switch or
add the mirror; otherwise one would have to go package by package.
Well, if I understand correctly what you mean.
All the best,
simon