summaryrefslogtreecommitdiff
path: root/gnu/packages/python-web.scm
diff options
context:
space:
mode:
authorTroy Figiel <troy@troyfigiel.com>2024-01-21 22:13:52 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-03-14 22:49:59 +0000
commite22175655d446592d9ad142f2898465eb5b95db6 (patch)
tree72735ec31f3abb20a1a873ba9524f408679f0e94 /gnu/packages/python-web.scm
parent36da1ad73dabdb05bba4a95d47f2b1a49627b38f (diff)
gnu: Add python-zodb.
* gnu/packages/python-web.scm (python-zodb): New variable. Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu/packages/python-web.scm')
-rw-r--r--gnu/packages/python-web.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 18caeb63bb..07f92136f0 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2760,6 +2760,57 @@ found in Python's standard library, and is more suitable to
configuration-intensive applications.")
(license license:zpl2.1)))
+(define-public python-zodb
+ (package
+ (name "python-zodb")
+ (version "5.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ZODB" version))
+ (sha256
+ (base32 "1pv4w8mnx6j4xvkcjbkh99pv8ljby7g9f7zjq7zhdmk06sykmiy6"))))
+ (build-system pyproject-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (begin
+ ;; This test does not work after installing the
+ ;; package, since it expects the ZODB source code
+ ;; to reside in the src/ directory.
+ (delete-file-recursively
+ "src/ZODB/tests/testdocumentation.py")
+ (invoke "zope-testrunner" "-vv" "--test-path=src"
+ "--all"))
+ (format #t "test suite not run~%")))))))
+ (propagated-inputs (list python-btrees
+ python-persistent
+ python-zconfig
+ python-six
+ python-transaction
+ python-zc-lockfile
+ python-zodbpickle
+ python-zope-interface))
+ (native-inputs (list python-manuel python-zope-testing
+ python-zope-testrunner))
+ (home-page "http://zodb-docs.readthedocs.io")
+ (synopsis "Object-oriented database for Python")
+ (description
+ "@code{ZODB} provides an object-oriented and @acronym{ACID,
+Atomicity Consistency Isolation Durability} compliant database for Python with
+a high degree of transparency. @code{ZODB} is an object-oriented database,
+not an object-relational mapping. This comes with several advantaged:
+
+@itemize
+@item no separate language for database operations
+@item very little impact on your code to make objects persistent
+@item no database mapper that partially hides the database.
+@item almost no seam between code and database.
+@end itemize")
+ (license license:zpl2.1)))
+
(define-public python-zodbpickle
(package
(name "python-zodbpickle")