* [bug#51432] [PATCH 1/4] gnu: Add sqlalchemy-1.3
2021-10-27 10:52 [bug#51432] [PATCH 0/4] gnu: Add flask-combo-jsonapi david larsson
@ 2021-10-27 10:56 ` david larsson
2021-11-03 13:27 ` bug#51432: " Tobias Geerinckx-Rice via Guix-patches via
2021-10-27 10:59 ` [bug#51432] [PATCH 2/4] gnu: Add marshmallow 3.2 david larsson
` (2 subsequent siblings)
3 siblings, 1 reply; 10+ messages in thread
From: david larsson @ 2021-10-27 10:56 UTC (permalink / raw)
To: 51432
[-- Attachment #1: Type: text/plain, Size: 243 bytes --]
On 2021-10-27 12:52, david larsson wrote:
> Hi!
> This patch series is to add python-flask-combo-jsonapi and necessary
> dependencies.
>
> Best regards,
> David
Adds sqlalchemy-1.3 because flask-combo-jsonapi requires less than
version 1.4.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-sqlalchemy-1.3.patch --]
[-- Type: text/x-diff; name=0001-gnu-Add-sqlalchemy-1.3.patch, Size: 2029 bytes --]
From 5f49c1f0cb150199d485eb886e329bd05dc7383d Mon Sep 17 00:00:00 2001
From: David Larsson <david.larsson@selfhosted.xyz>
Date: Tue, 26 Oct 2021 19:39:37 +0200
Subject: [PATCH 1/4] gnu: Add sqlalchemy-1.3.
* gnu/packages/databases.scm (python-sqlalchemy-1.3): New variable.
---
gnu/packages/databases.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 0da6c2d1be..ef3b407ae4 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3006,6 +3006,38 @@ designed for efficient and high-performing database access, adapted into a
simple and Pythonic domain language.")
(license license:x11)))
+(define-public python-sqlalchemy-1.3
+ (package
+ (name "python-sqlalchemy")
+ (version "1.3.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "SQLAlchemy" version))
+ (sha256
+ (base32 "18b9am7bsqc4nj3d2h5r93i002apczxfvpfpcqbd6f0385zmrwnj"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-cython" ,python-cython) ; for C extensions
+ ("python-pytest" ,python-pytest)
+ ("python-mock" ,python-mock))) ; for tests
+ ;; (propagated-inputs
+ ;; `(("python-greenlet" ,python-greenlet)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _ (invoke "py.test"))))))
+ (home-page "https://www.sqlalchemy.org")
+ (synopsis "Database abstraction library")
+ (description
+ "SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that
+gives application developers the full power and flexibility of SQL. It
+provides a full suite of well known enterprise-level persistence patterns,
+designed for efficient and high-performing database access, adapted into a
+simple and Pythonic domain language.")
+ (license license:x11)))
+
(define-public python2-sqlalchemy
(package-with-python2 python-sqlalchemy))
--
2.31.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [bug#51432] [PATCH 2/4] gnu: Add marshmallow 3.2
2021-10-27 10:52 [bug#51432] [PATCH 0/4] gnu: Add flask-combo-jsonapi david larsson
2021-10-27 10:56 ` [bug#51432] [PATCH 1/4] gnu: Add sqlalchemy-1.3 david larsson
@ 2021-10-27 10:59 ` david larsson
2021-11-03 14:30 ` Tobias Geerinckx-Rice via Guix-patches via
2021-10-27 11:01 ` [bug#51432] [PATCH 3/4] gnu: Add marshmallow-jsonapi david larsson
2021-10-27 11:02 ` [bug#51432] [PATCH 4/4] gnu: Add flask-combo-jsonapi david larsson
3 siblings, 1 reply; 10+ messages in thread
From: david larsson @ 2021-10-27 10:59 UTC (permalink / raw)
To: 51432
[-- Attachment #1: Type: text/plain, Size: 226 bytes --]
On 2021-10-27 12:52, david larsson wrote:
> Hi!
> This patch series is to add python-flask-combo-jsonapi and necessary
> dependencies.
>
> Best regards,
> David
flask-combo-jsonapi needs a marshmallow that is at version 3.2.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0002-gnu-Add-marshmallow-3.2.patch --]
[-- Type: text/x-diff; name=0002-gnu-Add-marshmallow-3.2.patch, Size: 1662 bytes --]
From 1467067415f940c410c95b7426a4d996173811cd Mon Sep 17 00:00:00 2001
From: David Larsson <david.larsson@selfhosted.xyz>
Date: Tue, 26 Oct 2021 19:44:35 +0200
Subject: [PATCH 2/4] gnu: Add marshmallow-3.2.
* gnu/packages/python-xyz.scm (python-marshmallow-3.2): New variable.
---
gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a7b1e0efe2..9ca075e941 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19165,6 +19165,31 @@ Python datatypes.")
complex datatypes to and from native Python datatypes.")
(license license:expat)))
+(define-public python-marshmallow-3.2
+ (package
+ (name "python-marshmallow")
+ (version "3.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "marshmallow" version))
+ (sha256
+ (base32
+ "1w18klwj0z9bqxj252qpj1hz8l46nl27sbc89rkajc7mln73wbws"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-dateutil" ,python-dateutil)
+ ("python-simplejson" ,python-simplejson)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytz" ,python-pytz)))
+ (home-page "https://github.com/marshmallow-code/marshmallow")
+ (synopsis "Convert complex datatypes to and from native
+Python datatypes")
+ (description "@code{marshmallow} provides a library for converting
+complex datatypes to and from native Python datatypes.")
+ (license license:expat))) ; MIT license
+
(define-public python-apispec
(package
(name "python-apispec")
--
2.31.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [bug#51432] [PATCH 3/4] gnu: Add marshmallow-jsonapi
2021-10-27 10:52 [bug#51432] [PATCH 0/4] gnu: Add flask-combo-jsonapi david larsson
2021-10-27 10:56 ` [bug#51432] [PATCH 1/4] gnu: Add sqlalchemy-1.3 david larsson
2021-10-27 10:59 ` [bug#51432] [PATCH 2/4] gnu: Add marshmallow 3.2 david larsson
@ 2021-10-27 11:01 ` david larsson
2021-11-03 13:34 ` Tobias Geerinckx-Rice via Guix-patches via
2021-10-27 11:02 ` [bug#51432] [PATCH 4/4] gnu: Add flask-combo-jsonapi david larsson
3 siblings, 1 reply; 10+ messages in thread
From: david larsson @ 2021-10-27 11:01 UTC (permalink / raw)
To: 51432; +Cc: Guix-patches
[-- Attachment #1: Type: text/plain, Size: 206 bytes --]
On 2021-10-27 12:52, david larsson wrote:
> Hi!
> This patch series is to add python-flask-combo-jsonapi and necessary
> dependencies.
>
> Best regards,
> David
Adds the dependency on marshmallow-jsonapi.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0003-gnu-Add-marshmallow-jsonapi.patch --]
[-- Type: text/x-diff; name=0003-gnu-Add-marshmallow-jsonapi.patch, Size: 1916 bytes --]
From bce66e910d26e1d9bc6b5156817fa56c57e9f0fa Mon Sep 17 00:00:00 2001
From: David Larsson <david.larsson@selfhosted.xyz>
Date: Tue, 26 Oct 2021 19:51:50 +0200
Subject: [PATCH 3/4] gnu: Add marshmallow-jsonapi.
* gnu/packages/python-xyz.scm (python-marshmallow-jsonapi): New variable.
---
gnu/packages/python-xyz.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 9ca075e941..ea7ba72a6e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19190,6 +19190,37 @@ Python datatypes")
complex datatypes to and from native Python datatypes.")
(license license:expat))) ; MIT license
+(define-public python-marshmallow-jsonapi
+ (package
+ (name "python-marshmallow-jsonapi")
+ (version "0.24.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "marshmallow-jsonapi" version))
+ (sha256
+ (base32
+ "1d9pxcgmln4gls99vwj1h24qv0lz7fb2jqmqrsiv1pid1snc125x"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-marshmallow" ,python-marshmallow-3.2)))
+ (native-inputs
+ `(("python-faker" ,python-faker)
+ ("python-flake8" ,python-flake8)
+ ("python-flake8-bugbear" ,python-flake8-bugbear)
+ ("python-flask" ,python-flask)
+ ("python-mock" ,python-mock)
+ ("python-pre-commit" ,python-pre-commit)
+ ("python-pytest" ,python-pytest)
+ ("python-tox" ,python-tox)))
+ (home-page
+ "https://github.com/marshmallow-code/marshmallow-jsonapi")
+ (synopsis
+ "JSON API 1.0 (https://jsonapi.org) formatting with marshmallow")
+ (description
+ "JSON API 1.0 (https://jsonapi.org) formatting with marshmallow")
+ (license license:expat))) ; MIT license
+
(define-public python-apispec
(package
(name "python-apispec")
--
2.31.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [bug#51432] [PATCH 4/4] gnu: Add flask-combo-jsonapi
2021-10-27 10:52 [bug#51432] [PATCH 0/4] gnu: Add flask-combo-jsonapi david larsson
` (2 preceding siblings ...)
2021-10-27 11:01 ` [bug#51432] [PATCH 3/4] gnu: Add marshmallow-jsonapi david larsson
@ 2021-10-27 11:02 ` david larsson
2021-10-27 18:44 ` david larsson
3 siblings, 1 reply; 10+ messages in thread
From: david larsson @ 2021-10-27 11:02 UTC (permalink / raw)
To: 51432; +Cc: Guix-patches
[-- Attachment #1: Type: text/plain, Size: 209 bytes --]
On 2021-10-27 12:52, david larsson wrote:
> Hi!
> This patch series is to add python-flask-combo-jsonapi and necessary
> dependencies.
>
> Best regards,
> David
Finally, adds the package flask-combo-jsonapi.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0004-gnu-Add-flask-combo-jsonapi.patch --]
[-- Type: text/x-diff; name=0004-gnu-Add-flask-combo-jsonapi.patch, Size: 2420 bytes --]
From 6fbec5bdd04c5661b805cf958f36478cfc7883f8 Mon Sep 17 00:00:00 2001
From: David Larsson <david.larsson@selfhosted.xyz>
Date: Wed, 27 Oct 2021 09:04:40 +0200
Subject: [PATCH 4/4] gnu: Add flask-combo-jsonapi.
* gnu/packages/python-web.scm (python-flask-combo-jsonapi): New variable.
---
gnu/packages/python-web.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index a38ed5c268..0d173aa09d 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -6249,3 +6249,37 @@ communicate with Microsoft Azure Storage services.")
comments, or tags from HTML snippets, extract base url from HTML snippets,
translate entities on HTML strings, among other things.")
(license license:bsd-3)))
+
+(define-public python-flask-combo-jsonapi
+ (package
+ (name "python-flask-combo-jsonapi")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/AdCombo/flask-combo-jsonapi/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1sygp9rx7zb1dbjxhb11mpas0c0px4md7mvi9pwbh1s1rr1glm3m"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-flask" ,python-flask)
+ ("python-marshmallow" ,python-marshmallow-3.2)
+ ("python-marshmallow-jsonapi" ,python-marshmallow-jsonapi)
+ ("python-simplejson" ,python-simplejson)
+ ("python-sqlalchemy" ,python-sqlalchemy-1.3)
+ ("python-apispec" ,python-apispec)
+ ("python-simplejson" ,python-simplejson)
+ ("python-six" ,python-six)))
+ (native-inputs `(("python-coverage" ,python-coverage)
+ ("python-coveralls" ,python-coveralls)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)))
+ (home-page "https://github.com/AdCombo/flask-combo-jsonapi")
+ (synopsis
+ "Flask extension to create REST web api according to JSON:API 1.0 specification with Flask, Marshmallow and data provider of your choice (SQLAlchemy, MongoDB, ...)")
+ (description
+ "Flask extension to create REST web api according to JSON:API 1.0 specification with Flask, Marshmallow and data provider of your choice (SQLAlchemy, MongoDB, ...)")
+ (license license:expat)))
--
2.31.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [bug#51432] [PATCH 4/4] gnu: Add flask-combo-jsonapi
2021-10-27 11:02 ` [bug#51432] [PATCH 4/4] gnu: Add flask-combo-jsonapi david larsson
@ 2021-10-27 18:44 ` david larsson
2021-11-03 13:46 ` Tobias Geerinckx-Rice via Guix-patches via
0 siblings, 1 reply; 10+ messages in thread
From: david larsson @ 2021-10-27 18:44 UTC (permalink / raw)
To: 51432
[-- Attachment #1: Type: text/plain, Size: 354 bytes --]
On 2021-10-27 13:02, david larsson wrote:
> On 2021-10-27 12:52, david larsson wrote:
>> Hi!
>> This patch series is to add python-flask-combo-jsonapi and necessary
>> dependencies.
>>
>> Best regards,
>> David
>
> Finally, adds the package flask-combo-jsonapi.
Version 2 of this patch, fixing the synopsis according to coding
standards max 80 chars.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0004-gnu-Add-flask-combo-jsonapi.patch --]
[-- Type: text/x-diff; name=0004-gnu-Add-flask-combo-jsonapi.patch, Size: 2324 bytes --]
From 4397008d2bdc559a072bbb98c99ba8d6d6cf4b87 Mon Sep 17 00:00:00 2001
From: David Larsson <david.larsson@selfhosted.xyz>
Date: Wed, 27 Oct 2021 09:04:40 +0200
Subject: [PATCH 4/4] gnu: Add flask-combo-jsonapi.
* gnu/packages/python-web.scm (python-flask-combo-jsonapi): New variable.
---
gnu/packages/python-web.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index a38ed5c268..55561f7b47 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -6249,3 +6249,39 @@ communicate with Microsoft Azure Storage services.")
comments, or tags from HTML snippets, extract base url from HTML snippets,
translate entities on HTML strings, among other things.")
(license license:bsd-3)))
+
+(define-public python-flask-combo-jsonapi
+ (package
+ (name "python-flask-combo-jsonapi")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/AdCombo/flask-combo-jsonapi/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1sygp9rx7zb1dbjxhb11mpas0c0px4md7mvi9pwbh1s1rr1glm3m"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-flask" ,python-flask)
+ ("python-marshmallow" ,python-marshmallow-3.2)
+ ("python-marshmallow-jsonapi" ,python-marshmallow-jsonapi)
+ ("python-simplejson" ,python-simplejson)
+ ("python-sqlalchemy" ,python-sqlalchemy-1.3)
+ ("python-apispec" ,python-apispec)
+ ("python-simplejson" ,python-simplejson)
+ ("python-six" ,python-six)))
+ (native-inputs `(("python-coverage" ,python-coverage)
+ ("python-coveralls" ,python-coveralls)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)))
+ (home-page "https://github.com/AdCombo/flask-combo-jsonapi")
+ (synopsis
+ "Flask extension to quickly create a REST web api using JSON:API 1.0 spec")
+ (description
+ "Flask extension to create REST web api according to JSON:API 1.0
+specification with Flask, Marshmallow and data provider of your
+choice (SQLAlchemy, MongoDB, ...)")
+ (license license:expat)))
--
2.31.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [bug#51432] [PATCH 4/4] gnu: Add flask-combo-jsonapi
2021-10-27 18:44 ` david larsson
@ 2021-11-03 13:46 ` Tobias Geerinckx-Rice via Guix-patches via
0 siblings, 0 replies; 10+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2021-11-03 13:46 UTC (permalink / raw)
To: david larsson; +Cc: 51432
[-- Attachment #1: Type: text/plain, Size: 1714 bytes --]
David,
> Version 2 of this patch, fixing the synopsis according to coding
> standards max 80 chars.
Thanks! Be sure to run ‘guix lint’ on each package as well.
> + (method url-fetch)
> + (uri (string-append
> + "https://github.com/AdCombo/flask-combo-jsonapi/archive/"
> + version ".tar.gz"))
GitHub /archive/ have proven unstable in the past: they can be
regenerated at GitHub's discretion and no longer match our hash.
I replaced url-fetch with git-fetch.
> + (native-inputs `(("python-coverage" ,python-coverage)
This alignment is at least inconsistent with propagated-inputs
above. Furthermore I simply dislike it, so I changed it :-)
> + (native-inputs
> + `(("python-coverage" ,python-coverage)
I shortened the description a smidge and rewrote the following
sentence fragment:
> + (description
> + "Flask extension to create REST web api according to
> JSON:API 1.0
> +specification with Flask, Marshmallow and data provider of your
> +choice (SQLAlchemy, MongoDB, ...)")
as:
+ (description
+ "Flask-COMBO-JSONAPI is a Python Flask extension for
building REST Web APIs
+compliant with the @uref{https://jsonapi.org, JSON:API 1.0}
specification.
+
+It tries to combine the power of Flask-Restless with the
flexibility of
+Flask-RESTful to quickly build APIs that fit the complexity of
existing
+real-life projects with legacy data and diverse storage
providers.")
I deliberately removed the reference to MongoDB because it's not
of any particular significance and non-free. I also removed
several more gratuitous references in Guix proper.
Kind regards,
T G-R
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread