diff options
author | Sharlatan Hellseher <sharlatanus@gmail.com> | 2024-03-18 14:46:23 +0000 |
---|---|---|
committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2024-03-29 15:08:12 +0000 |
commit | a0cf3af1ad75d33b52c9557c3b1cf34ffe54838b (patch) | |
tree | d2dbe3ac88c19e1b95630695b250641c1d87c21b /gnu/packages/python-xyz.scm | |
parent | 90b636e4b33a00f8c730e64df052fe2924cb5764 (diff) | |
download | guix-a0cf3af1ad75d33b52c9557c3b1cf34ffe54838b.tar.gz guix-a0cf3af1ad75d33b52c9557c3b1cf34ffe54838b.zip |
gnu: Add python-pydantic-settings.
* gnu/packages/python-xyz.scm (python-pydantic-settings): New variable.
Change-Id: I410edc37f17a293f3d40ce9a2ab6416ea35bae39
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r-- | gnu/packages/python-xyz.scm | 65 |
1 files changed, 65 insertions, 0 deletions
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") |