[PATCH] gnu: Add python-pydantic.

  • Done
  • quality assurance status badge
Details
2 participants
  • Mathieu Othacehe
  • Tanguy Le Carrour
Owner
unassigned
Submitted by
Tanguy Le Carrour
Severity
normal
T
T
Tanguy Le Carrour wrote on 10 Aug 2020 10:43
(address . guix-patches@gnu.org)(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)
20200810084343.10734-1-tanguy@bioneland.org
* gnu/packages/python-xyz.scm (python-pydantic): New variable.
---
gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (48 lines)
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
M
M
Mathieu Othacehe wrote on 10 Aug 2020 12:05
(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)(address . 42792-done@debbugs.gnu.org)
87wo26g6ji.fsf@gnu.org
Hello Tanguy,

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

Applied with the following diff:

Toggle diff (47 lines)
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
Closed
T
T
Tanguy Le Carrour wrote on 10 Aug 2020 16:19
(name . Mathieu Othacehe)(address . othacehe@gnu.org)(address . 42792-done@debbugs.gnu.org)
20200810141911.jtpjdeylftxiyk6q@rafflesia
Hi Mathieu,


Le 08/10, Mathieu Othacehe a écrit :
Toggle quote (19 lines)
> > * 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?

```
Toggle quote (2 lines)
> + (sha256 (base32
> + "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
```

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

```
Toggle quote (2 lines)
> + (sha256
> + (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
```


Toggle quote (10 lines)
> (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?!


Toggle quote (15 lines)
> (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! :-(


Toggle quote (7 lines)
> (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
Closed
M
M
Mathieu Othacehe wrote on 11 Aug 2020 10:35
(name . Tanguy Le Carrour)(address . tanguy@bioneland.org)(address . 42792-done@debbugs.gnu.org)
87h7t9y3yv.fsf@gnu.org
Hey Tanguy,

Toggle quote (14 lines)
>> (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.

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

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

Toggle quote (8 lines)
>
> 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.

Toggle quote (17 lines)
>
>
>> (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
Closed
T
T
Tanguy Le Carrour wrote on 11 Aug 2020 11:00
(name . Mathieu Othacehe)(address . othacehe@gnu.org)(address . 42792-done@debbugs.gnu.org)
20200811090018.2tlkd2k4ken7r637@melmoth
Hi Mathieu,


Le 08/11, Mathieu Othacehe a écrit :
Toggle quote (39 lines)
> 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.


Toggle quote (19 lines)
> >> (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
Closed
?