unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: zimoun <zimon.toutoune@gmail.com>
To: Malte Frank Gerdes <malte.f.gerdes@gmail.com>, guix-devel@gnu.org
Subject: Re: usage of pypi-uri in the pypi importer
Date: Mon, 26 Oct 2020 16:22:03 +0100	[thread overview]
Message-ID: <861rhl57xg.fsf@gmail.com> (raw)
In-Reply-To: <86r1pwu0ff.fsf@gmail.com>

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



  reply	other threads:[~2020-10-26 15:22 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-17 19:17 usage of pypi-uri in the pypi importer Malte Frank Gerdes
2020-10-26 15:22 ` zimoun [this message]
2020-10-27 17:04   ` Malte Frank Gerdes
2020-10-27 21:58     ` zimoun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=861rhl57xg.fsf@gmail.com \
    --to=zimon.toutoune@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=malte.f.gerdes@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).