diff mbox series

[bug#68492] gnu: Add python-fastapi-pagination.

Message ID 20240115232510.11373-1-goodoldpaul@autistici.org
State New
Headers show
Series [bug#68492] gnu: Add python-fastapi-pagination. | expand

Commit Message

Giacomo Leidi Jan. 15, 2024, 11:25 p.m. UTC
* gnu/packages/python-web.scm (python-fastapi-pagination): New variable.

Change-Id: I335d984607ebb954032dd4b1eedccf436584c59d
---
 gnu/packages/python-web.scm | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)


base-commit: 19db1551dc6f6180d2cda9084c2dec37bf4923c9

Comments

Sharlatan Hellseher Jan. 19, 2024, noon UTC | #1
Hi,

Package is LGTM.

> ;; Tests depend on python-cassandra
> + `(#:tests? #f))
May you mention that it's not packed yet in Guix, please?
It would help to prioritize  missing package in next update cycle.

Did you check if we can activate any optional dependencies?

[tool.poetry.dependencies]
python = ">=3.8,<4.0"
pydantic = ">=1.9.1"
fastapi = ">=0.93.0"
typing-extensions = "^4.8.0"
SQLAlchemy = { version = ">=1.3.20", optional = true }
databases = { version = ">=0.6.0", optional = true }
orm = { version = ">=0.3.1", optional = true }
tortoise-orm = { version = ">=0.16.18,<0.21.0", optional = true }
asyncpg = { version = ">=0.24.0", optional = true }
ormar = { version = ">=0.11.2", optional = true}
django = { version = "<5.0.0", optional = true}
piccolo = { version = ">=0.89,<0.122", optional = true}
motor =  { version = ">=2.5.1,<4.0.0", optional = true }
mongoengine = {version = ">=0.23.1,<0.28.0", optional = true}
sqlmodel = { version = ">=0.0.8,<0.0.15", optional = true}
pony = { version = "^0.7.16", optional = true}
beanie = { version = "^1.11.9", optional = true}
sqlakeyset = { version = "^2.0.1680321678", optional = true }
scylla-driver = {version = "^3.25.6", optional = true}
bunnet = {version = "^1.1.0", optional = true}

Thanks,
Oleg
Giacomo Leidi Feb. 28, 2024, 11:34 p.m. UTC | #2
Hi Sharlatan,

thank you for your review. To prevent input bloat I added a 
python-fastapi-pagination-minimal with only the required dependencies 
and a python-fastapi-pagination with all available optional dependencies.

Thank you for your time, I'm sending a v2.


giacomo
Sharlatan Hellseher March 1, 2024, 7:34 a.m. UTC | #3
Hi,

Pushed as d6dbb923d8..a9b91cbc9c to master.

--
Oleg
diff mbox series

Patch

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 418100c084..ecb546ca8e 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -39,7 +39,7 @@ 
 ;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
 ;;; Copyright © 2020, 2021, 2022, 2023 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
-;;; Copyright © 2020, 2022 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2020, 2022, 2024 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
 ;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
@@ -8663,6 +8663,35 @@  (define-public python-fastapi-csrf-protect
 pattern.")
     (license license:expat)))
 
+(define-public python-fastapi-pagination
+  (package
+    (name "python-fastapi-pagination")
+    (version "0.12.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/uriyyo/fastapi-pagination")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0qkcphjk1qy680v1hkmqbs4p7srvx020wy39b97anrn9dyyi5ah6"))))
+    (build-system pyproject-build-system)
+    (arguments
+     ;; Tests depend on python-cassandra
+     `(#:tests? #f))
+    (native-inputs
+     (list poetry))
+    (propagated-inputs (list python-fastapi
+                             python-pydantic))
+    (home-page "https://github.com/uriyyo/fastapi-pagination")
+    (synopsis "FastAPI pagination library")
+    (description "@code{fastapi-pagination} is a Python library designed to
+simplify pagination in FastAPI applications.  It provides a set of utility
+functions and data models to help you paginate your database queries and
+return paginated responses to your clients.")
+    (license license:expat)))
+
 (define-public python-pyactiveresource
   (package
     (name "python-pyactiveresource")