Subject: Re: bug#62765: Python importer gets confused about network access

From: Jack Hill <[email-masked]>
Date: Tue, 11 Apr 2023 10:50:59 -0400 (EDT)

On Tue, 11 Apr 2023, Stephen Paul Weber wrote:

>> I cannot reproduce.
>
> Does the import work when you run it?

Works for me (guix c1262edba9118af6507dc47ce6ad61ffdec02384):

```
$ guix import pypi -r gruut

Starting download of /tmp/guix-file.glzbrJ
>From https://files.pythonhosted.org/packages/4c/74/40e0bff02cf4daa3908c440e2111b20490c82080259f0114d0cfe07ce126/gruut-2.3.4.tar.gz...
  ….4.tar.gz  72KiB                    1.1MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.IZKz4B
>From https://files.pythonhosted.org/packages/51/9f/7eff478e38913cc9930527ff40c9ebcb04744dfcd0ddd43bd5a1eb9565b7/gruut-ipa-0.13.0.tar.gz...
  ….13.0.tar.gz  99KiB                 2.0MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.EVbIBD
>From https://files.pythonhosted.org/packages/76/c5/9dcb07bb44c7c66f89bdfb554d433c071ef7fed38d39d164716901db12b1/gruut_lang_en-2.0.0.tar.gz...
  …-2.0.0.tar.gz  14.5MiB              4.4MiB/s 00:03 ▕██████████████████▏ 100.0%
guix import: warning: Cannot guess requirements from source archive: no requires.txt file found.

Starting download of /tmp/guix-file.vlMVNT
>From https://files.pythonhosted.org/packages/2a/c8/efdb87403dae07cf20faf75449eae41898b71d6a8d4ebaf9c80d5be215f5/jsonlines-3.1.0.tar.gz...
  ….1.0.tar.gz  8KiB                   5.6MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.jDheDU
>From https://files.pythonhosted.org/packages/68/32/290ca20eb3a2b97ffa6ba1791fcafacb3cd2f41f539c96eb54cfc3cfcf47/jsonlines-3.1.0-py3-none-any.whl...
  …py3-none-any.whl  8KiB              3.0MiB/s 00:00 ▕██████████████████▏ 100.0%
guix import: warning: Failed to extract file: jsonlines-3.1.0.dist-info/METADATA from wheel.

Starting download of /tmp/guix-file.EPOrXf
>From https://files.pythonhosted.org/packages/74/67/3008e4f0b97d9a5701c8ef3bf95f1941c5b0a620c8f88f32e849117f8dc0/num2words-0.5.12.tar.gz...
  ….5.12.tar.gz  280KiB                3.3MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.tOdRgu
>From https://files.pythonhosted.org/packages/eb/09/b14d798bc02411b1e5a9896d680f8f417cadc53232bbf7ae9d30263dcf45/num2words-0.5.12-py3-none-any.whl...
  …-py3-none-any.whl  122KiB           2.1MiB/s 00:00 ▕██████████████████▏ 100.0%
guix import: warning: Failed to extract file: num2words-0.5.12.dist-info/METADATA from wheel.

Starting download of /tmp/guix-file.sgNV9f
>From https://files.pythonhosted.org/packages/3b/f4/6ca74fe5a38da704687cb1c4d4ad60e1b31c3123e1498de450530042c7f5/python-crfsuite-0.9.9.tar.gz...
  …e-0.9.9.tar.gz  430KiB              3.0MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.ihTx8n
>From https://files.pythonhosted.org/packages/7e/2f/0a1e4c279d2b01ab3080ea40d14fa051fd867ab87c9ffb42420eb87feed1/python_crfsuite-0.9.9-cp310-cp310-macosx_10_9_x86_64.whl...
  …cp310-macosx_10_9_x86_64.whl  180KiB 2.9MiB/s 00:00 ▕██████████████████▏ 100.0%
guix import: warning: Failed to extract file: python_crfsuite-0.9.9.dist-info/METADATA from wheel.
guix import: warning: Cannot guess requirements from source archive: no requires.txt file found.
(define-public python-crfsuite
   (package
     (name "python-crfsuite")
     (version "0.9.9")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "python-crfsuite" version))
               (sha256
                (base32
                 "0vd7ndi9q4hc336bbgg3ccln4l7xskxzrdw6z5b6fijmd4fjd9na"))))
     (build-system python-build-system)
     (home-page "https://github.com/scrapinghub/python-crfsuite")
     (synopsis "Python binding for CRFsuite")
     (description "Python binding for CRFsuite")
     (license license:expat)))

(define-public python-num2words
   (package
     (name "python-num2words")
     (version "0.5.12")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "num2words" version))
               (sha256
                (base32
                 "120938q7h6syn16ybf0pmcxz0fqbm4f2plyr3lxal184107hnz3y"))))
     (build-system python-build-system)
     (propagated-inputs (list python-docopt))
     (home-page "https://github.com/savoirfairelinux/num2words")
     (synopsis "Modules to convert numbers to words. Easily extensible.")
     (description "Modules to convert numbers to words.  Easily extensible.")
     (license #f)))

(define-public python-jsonlines
   (package
     (name "python-jsonlines")
     (version "3.1.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "jsonlines" version))
               (sha256
                (base32
                 "0zy3llabmxsq559s73x1c84xlch3dcz9wql1xfq1by4nim4cny95"))))
     (build-system python-build-system)
     (propagated-inputs (list python-attrs))
     (home-page "https://github.com/wbolster/jsonlines")
     (synopsis "Library with helpers for the jsonlines file format")
     (description "Library with helpers for the jsonlines file format")
     (license license:bsd-3)))

(define-public python-gruut-lang-en
   (package
     (name "python-gruut-lang-en")
     (version "2.0.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "gruut_lang_en" version))
               (sha256
                (base32
                 "0lhy2z6y98djmg229jzd3ylay3jwg1s3js20l1zais7bvnvg63w9"))))
     (build-system python-build-system)
     (home-page "https://github.com/rhasspy/gruut")
     (synopsis "English language files for gruut tokenizer/phonemizer")
     (description "English language files for gruut tokenizer/phonemizer")
     (license #f)))

(define-public python-gruut-ipa
   (package
     (name "python-gruut-ipa")
     (version "0.13.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "gruut-ipa" version))
               (sha256
                (base32
                 "0vn6pvqm3aqijynnnbyc0wv165s3ylvfbm6k2jmikqa6kywnwxvi"))))
     (build-system python-build-system)
     (home-page "https://github.com/rhasspy/gruut-ipa")
     (synopsis
      "Library for manipulating pronunciations using the International Phonetic Alphabet (IPA)")
     (description
      "Library for manipulating pronunciations using the International Phonetic
Alphabet (IPA)")
     (license #f)))

(define-public python-gruut
   (package
     (name "python-gruut")
     (version "2.3.4")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "gruut" version))
               (sha256
                (base32
                 "1mqvvpaxwp42zink9h1nj0zjr9rs589rhghfrdhspxp4d3xdc43p"))))
     (build-system python-build-system)
     (propagated-inputs (list python-babel
                              python-crfsuite
                              python-dateparser
                              python-gruut-ipa
                              python-gruut-lang-en
                              python-jsonlines
                              python-networkx
                              python-num2words
                              python-numpy))
     (home-page "https://github.com/rhasspy/gruut")
     (synopsis
      "A tokenizer, text cleaner, and phonemizer for many human languages.")
     (description
      "This package provides a tokenizer, text cleaner, and phonemizer for many human
languages.")
     (license #f)))
```