unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#42792] [PATCH] gnu: Add python-pydantic.
@ 2020-08-10  8:43 Tanguy Le Carrour
  2020-08-10 10:05 ` bug#42792: " Mathieu Othacehe
  0 siblings, 1 reply; 5+ messages in thread
From: Tanguy Le Carrour @ 2020-08-10  8:43 UTC (permalink / raw)
  To: 42792; +Cc: Tanguy Le Carrour

* gnu/packages/python-xyz.scm (python-pydantic): New variable.
---
 gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4026d13f2d..a36e99aa32 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3820,6 +3820,41 @@ Language (TOML) configuration files.")
      "This package provides a JSON RPC 2.0 server library for Python.")
     (license license:expat)))
 
+(define-public python-pydantic
+  (package
+    (name "python-pydantic")
+    (version "1.6.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/samuelcolvin/pydantic")
+              (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256 (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         ;; Reported upstream: <https://github.com/samuelcolvin/pydantic/issues/1580>
+         ;; Not sure how to apply the suggested fix!?
+         (add-before 'check 'disable-test
+           (lambda _
+             (substitute* "tests/test_validators.py"
+               (("test_assert_raises_validation_error")
+                 "_test_assert_raises_validation_error"))
+             #t))
+         (replace 'check
+           (lambda _ (invoke "pytest" "-vv" "tests"))))))
+    (native-inputs
+     `(("python-pytest" ,python-pytest)))
+    (home-page "https://github.com/samuelcolvin/pydantic")
+    (synopsis "Data validation and settings management using python type hinting")
+    (description
+      "Pydantic enforces type hints at runtime, and provides user friendly errors
+when data is invalid.")
+    (license license:expat)))
+
 (define-public python-pydocstyle
   (package
     (name "python-pydocstyle")
-- 
2.28.0





^ permalink raw reply related	[flat|nested] 5+ messages in thread

* bug#42792: [PATCH] gnu: Add python-pydantic.
  2020-08-10  8:43 [bug#42792] [PATCH] gnu: Add python-pydantic Tanguy Le Carrour
@ 2020-08-10 10:05 ` Mathieu Othacehe
  2020-08-10 14:19   ` [bug#42792] " Tanguy Le Carrour
  0 siblings, 1 reply; 5+ messages in thread
From: Mathieu Othacehe @ 2020-08-10 10:05 UTC (permalink / raw)
  To: Tanguy Le Carrour; +Cc: 42792-done


Hello Tanguy,

> * gnu/packages/python-xyz.scm (python-pydantic): New variable.

Applied with the following diff:

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a36e99aa32..4102902465 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3829,30 +3829,32 @@ Language (TOML) configuration files.")
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/samuelcolvin/pydantic")
-              (commit (string-append "v" version))))
+             (commit (string-append "v" version))))
        (file-name (git-file-name name version))
-       (sha256 (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
+       (sha256
+        (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
        (modify-phases %standard-phases
-         ;; Reported upstream: <https://github.com/samuelcolvin/pydantic/issues/1580>
-         ;; Not sure how to apply the suggested fix!?
+         ;; Reported upstream:
+         ;; <https://github.com/samuelcolvin/pydantic/issues/1580>.
+         ;; Disable the faulty test as the fix is unclear.
          (add-before 'check 'disable-test
            (lambda _
              (substitute* "tests/test_validators.py"
                (("test_assert_raises_validation_error")
-                 "_test_assert_raises_validation_error"))
+                "_test_assert_raises_validation_error"))
              #t))
          (replace 'check
            (lambda _ (invoke "pytest" "-vv" "tests"))))))
     (native-inputs
      `(("python-pytest" ,python-pytest)))
     (home-page "https://github.com/samuelcolvin/pydantic")
-    (synopsis "Data validation and settings management using python type hinting")
+    (synopsis "Python data validation and settings management")
     (description
-      "Pydantic enforces type hints at runtime, and provides user friendly errors
-when data is invalid.")
+     "Pydantic enforces type hints at runtime, and provides user friendly
+errors when data is invalid.")
     (license license:expat)))

Thanks,

Mathieu




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [bug#42792] [PATCH] gnu: Add python-pydantic.
  2020-08-10 10:05 ` bug#42792: " Mathieu Othacehe
@ 2020-08-10 14:19   ` Tanguy Le Carrour
  2020-08-11  8:35     ` Mathieu Othacehe
  0 siblings, 1 reply; 5+ messages in thread
From: Tanguy Le Carrour @ 2020-08-10 14:19 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: 42792-done

Hi Mathieu,


Le 08/10, Mathieu Othacehe a écrit :
> > * gnu/packages/python-xyz.scm (python-pydantic): New variable.
> 
> Applied with the following diff:
> 
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index a36e99aa32..4102902465 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -3829,30 +3829,32 @@ Language (TOML) configuration files.")
>         (method git-fetch)
>         (uri (git-reference
>               (url "https://github.com/samuelcolvin/pydantic")
> -              (commit (string-append "v" version))))
> +             (commit (string-append "v" version))))
>         (file-name (git-file-name name version))
> -       (sha256 (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
> +       (sha256
> +        (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))

Thanks for paying attention to every details!!
Actually, those things have been bothering me for quiet a while…
They are not reported by `./pre-inst-env guix lint python-pydantic` or
fixed by `emacs --script etc/indent-code.el gnu/packages/python-xyz.scm python-pydantic`. :-(

Would the following have been acceptable?

```
> +       (sha256 (base32
> +                "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
```

And what about this? (2-space indent instead of 1, like `add-before` below)

```
> +       (sha256
> +         (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
```


>      (build-system python-build-system)
>      (arguments
>       '(#:phases
>         (modify-phases %standard-phases
> -         ;; Reported upstream: <https://github.com/samuelcolvin/pydantic/issues/1580>
> -         ;; Not sure how to apply the suggested fix!?
> +         ;; Reported upstream:
> +         ;; <https://github.com/samuelcolvin/pydantic/issues/1580>.
> +         ;; Disable the faulty test as the fix is unclear.

Much better, thanks!
In retrospect, I realize that I should have put the question in the
commit message for a maintainer to read, not in the package definition.
Would that have been better?!


>           (add-before 'check 'disable-test
>             (lambda _
>               (substitute* "tests/test_validators.py"
>                 (("test_assert_raises_validation_error")
> -                 "_test_assert_raises_validation_error"))
> +                "_test_assert_raises_validation_error"))
>               #t))
>           (replace 'check
>             (lambda _ (invoke "pytest" "-vv" "tests"))))))
>      (native-inputs
>       `(("python-pytest" ,python-pytest)))
>      (home-page "https://github.com/samuelcolvin/pydantic")
> -    (synopsis "Data validation and settings management using python type hinting")
> +    (synopsis "Python data validation and settings management")

Sorry, I still suck at synopsis! :-(


>      (description
> -      "Pydantic enforces type hints at runtime, and provides user friendly errors
> -when data is invalid.")
> +     "Pydantic enforces type hints at runtime, and provides user friendly
> +errors when data is invalid.")
>      (license license:expat)))

Thanks!

-- 
Tanguy




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#42792] [PATCH] gnu: Add python-pydantic.
  2020-08-10 14:19   ` [bug#42792] " Tanguy Le Carrour
@ 2020-08-11  8:35     ` Mathieu Othacehe
  2020-08-11  9:00       ` Tanguy Le Carrour
  0 siblings, 1 reply; 5+ messages in thread
From: Mathieu Othacehe @ 2020-08-11  8:35 UTC (permalink / raw)
  To: Tanguy Le Carrour; +Cc: 42792-done


Hey Tanguy,

>>         (uri (git-reference
>>               (url "https://github.com/samuelcolvin/pydantic")
>> -              (commit (string-append "v" version))))
>> +             (commit (string-append "v" version))))
>>         (file-name (git-file-name name version))
>> -       (sha256 (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
>> +       (sha256
>> +        (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
>
> Thanks for paying attention to every details!!
> Actually, those things have been bothering me for quiet a while…
> They are not reported by `./pre-inst-env guix lint python-pydantic` or
> fixed by `emacs --script etc/indent-code.el gnu/packages/python-xyz.scm python-pydantic`. :-(

The first diff is fixed when running "./etc/indent-code.el
gnu/packages/python-xyz.scm python-pydantic" for me.

>
> Would the following have been acceptable?
>
> ```
>> +       (sha256 (base32
>> +                "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
> ```

It is acceptable but the convention is to put "base32" on the next line.

>
> And what about this? (2-space indent instead of 1, like `add-before` below)
>
> ```
>> +       (sha256
>> +         (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
> ```

No only one space here, this is also handled by the indent script for me.

>
>
>>      (build-system python-build-system)
>>      (arguments
>>       '(#:phases
>>         (modify-phases %standard-phases
>> -         ;; Reported upstream: <https://github.com/samuelcolvin/pydantic/issues/1580>
>> -         ;; Not sure how to apply the suggested fix!?
>> +         ;; Reported upstream:
>> +         ;; <https://github.com/samuelcolvin/pydantic/issues/1580>.
>> +         ;; Disable the faulty test as the fix is unclear.
>
> Much better, thanks!
> In retrospect, I realize that I should have put the question in the
> commit message for a maintainer to read, not in the package definition.
> Would that have been better?!

No it's perfectly fine in the package declaration :)

Hope I'm not bothering you to much with this boring syntactic stuff :p

Thanks,

Mathieu




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#42792] [PATCH] gnu: Add python-pydantic.
  2020-08-11  8:35     ` Mathieu Othacehe
@ 2020-08-11  9:00       ` Tanguy Le Carrour
  0 siblings, 0 replies; 5+ messages in thread
From: Tanguy Le Carrour @ 2020-08-11  9:00 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: 42792-done

Hi Mathieu,


Le 08/11, Mathieu Othacehe a écrit :
> Hey Tanguy,
> 
> >>         (uri (git-reference
> >>               (url "https://github.com/samuelcolvin/pydantic")
> >> -              (commit (string-append "v" version))))
> >> +             (commit (string-append "v" version))))
> >>         (file-name (git-file-name name version))
> >> -       (sha256 (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
> >> +       (sha256
> >> +        (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
> >
> > Thanks for paying attention to every details!!
> > Actually, those things have been bothering me for quiet a while…
> > They are not reported by `./pre-inst-env guix lint python-pydantic` or
> > fixed by `emacs --script etc/indent-code.el gnu/packages/python-xyz.scm python-pydantic`. :-(
> 
> The first diff is fixed when running "./etc/indent-code.el
> gnu/packages/python-xyz.scm python-pydantic" for me.
> 
> >
> > Would the following have been acceptable?
> >
> > ```
> >> +       (sha256 (base32
> >> +                "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
> > ```
> 
> It is acceptable but the convention is to put "base32" on the next line.
> 
> >
> > And what about this? (2-space indent instead of 1, like `add-before` below)
> >
> > ```
> >> +       (sha256
> >> +         (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
> > ```
> 
> No only one space here, this is also handled by the indent script for me.

Actually, I think there might be a problem with the way I use the
script, because it does not fix anything!? :-(
And before you say it, I know, I should be using Emacs and not Vim! ;-)
I've considered moving to Emacs as my dev environment (not as my text editor),
but there are so many things I have to set up to feel at home: evil,
python, fuzzy file search… I hope I'll have some time to work on this
later this month.


> >>      (build-system python-build-system)
> >>      (arguments
> >>       '(#:phases
> >>         (modify-phases %standard-phases
> >> -         ;; Reported upstream: <https://github.com/samuelcolvin/pydantic/issues/1580>
> >> -         ;; Not sure how to apply the suggested fix!?
> >> +         ;; Reported upstream:
> >> +         ;; <https://github.com/samuelcolvin/pydantic/issues/1580>.
> >> +         ;; Disable the faulty test as the fix is unclear.
> >
> > Much better, thanks!
> > In retrospect, I realize that I should have put the question in the
> > commit message for a maintainer to read, not in the package definition.
> > Would that have been better?!
> 
> No it's perfectly fine in the package declaration :)
> 
> Hope I'm not bothering you to much with this boring syntactic stuff :p

Not at all! I actually very much appreciate the fact that people take the
time to review and discuss contributions!

Regards

-- 
Tanguy




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-08-11  9:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-10  8:43 [bug#42792] [PATCH] gnu: Add python-pydantic Tanguy Le Carrour
2020-08-10 10:05 ` bug#42792: " Mathieu Othacehe
2020-08-10 14:19   ` [bug#42792] " Tanguy Le Carrour
2020-08-11  8:35     ` Mathieu Othacehe
2020-08-11  9:00       ` Tanguy Le Carrour

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).