guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

48/49: gnu: Add python-pydantic-settings.


From: guix-commits
Subject: 48/49: gnu: Add python-pydantic-settings.
Date: Fri, 29 Mar 2024 11:15:30 -0400 (EDT)

sharlatan pushed a commit to branch master
in repository guix.

commit a0cf3af1ad75d33b52c9557c3b1cf34ffe54838b
Author: Sharlatan Hellseher <sharlatanus@gmail.com>
AuthorDate: Mon Mar 18 14:46:23 2024 +0000

    gnu: Add python-pydantic-settings.
    
    * gnu/packages/python-xyz.scm (python-pydantic-settings): New variable.
    
    Change-Id: I410edc37f17a293f3d40ce9a2ab6416ea35bae39
---
 gnu/packages/python-xyz.scm | 65 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d156a23f0d..5eb5cd958b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7647,6 +7647,71 @@ validation and serialization.")
 Interfaces} via data models provided in the JSON format.")
     (license license:expat)))
 
+(define-public python-pydantic-settings
+  (package
+    (name "python-pydantic-settings")
+    (version "2.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pydantic_settings" version))
+       (sha256
+        (base32 "1vf58f398ngk6wpf0jn51ghw65mjs3m03yn06h25jlsmx6jzdf80"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      #~(list "-k" (string-append
+                    ;; Disable tests requiring python-ruff.
+                    "not test_docs_examples[docs/index.md:24-83]"
+                    " and not test_docs_examples[docs/index.md:113-137]"
+                    " and not test_docs_examples[docs/index.md:148-156]"
+                    " and not test_docs_examples[docs/index.md:173-183]"
+                    " and not test_docs_examples[docs/index.md:193-201]"
+                    " and not test_docs_examples[docs/index.md:212-243]"
+                    " and not test_docs_examples[docs/index.md:286-317]"
+                    " and not test_docs_examples[docs/index.md:331-372]"
+                    " and not test_docs_examples[docs/index.md:430-439]"
+                    " and not test_docs_examples[docs/index.md:453-459]"
+                    " and not test_docs_examples[docs/index.md:514-522]"
+                    " and not test_docs_examples[docs/index.md:547-549]"
+                    " and not test_docs_examples[docs/index.md:553-585]"
+                    " and not test_docs_examples[docs/index.md:620-645]"
+                    " and not test_docs_examples[docs/index.md:654-732]"
+                    " and not test_docs_examples[docs/index.md:738-772]"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'relax-requirements
+            (lambda _
+              (substitute* "pyproject.toml"
+                ;; hatchling.build failed on this line with error:
+                ;; ValueError: Unknown classifier in field
+                ;; `project.classifiers`: Framework :: Pydantic :: 2
+                (("'Framework :: Pydantic :: 2',") "")
+                ;; python-dotenv>=0.21.0
+                ((">=0.21.0") ">=0.20.0"))))
+          (add-before 'check 'set-home
+            (lambda _
+              ;; FileNotFoundError: [Errno 2] No such file or directory:
+              ;; '/homeless-shelter/
+              (setenv "HOME" "/tmp"))))))
+    (propagated-inputs
+     (list python-dotenv
+           python-pydantic-2
+           python-pyaml
+           python-tomli))
+    (native-inputs
+     (list python-hatchling
+           python-pytest
+           python-pytest-examples
+           python-pytest-mock))
+    (home-page "https://docs.pydantic.dev/latest/usage/pydantic_settings/";)
+    (synopsis "Settings management using Pydantic")
+    (description
+     "Pydantic Settings provides optional Pydantic features for loading a
+settings or config class from environment variables or secrets files.")
+    (license license:expat)))
+
 (define-public python-pydoc-markdown
   (package
     (name "python-pydoc-markdown")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]