Subject: Re: [bug#32565] [PATCHv3] Add python-falcon, python-falcon-cors.

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 14 Oct 2018 22:58:05 -0400

Hello Ludovic,

Sorry for keeping you waiting this long, and thank you for the friendly
ping! I've addressed the points of your review below.

[email-masked] (Ludovic Courtès) writes:

> Hi Maxim,
>
> Maxim Cournoyer <[email-masked]> skribis:
>
>>>>From c3a1955a2198310b3c096e539eaaaf57a79aa970 Mon Sep 17 00:00:00 2001
>> From: Maxim Cournoyer <[email-masked]>
>> Date: Wed, 29 Aug 2018 00:06:28 -0400
>> Subject: [PATCH 1/2] gnu: Add python-falcon.
>>
>> * gnu/packages/python-web.scm (python-falcon): New variable.
>
> [...]
>
>> +    (home-page "https://falconframework.org")
>> +    (synopsis
>> +     "Unladen web framework for building APIs and app backends")
>> +    (description
>> +     "Falcon is a bare-metal Python web API framework for building
>> +high-performance microservices, app backends, and higher-level frameworks.")
>
> If you could make it a bit less catchy and more concrete (giving example
> of actual features), that would be great.  :-)

I've modified it like so:

--8<---------------cut here---------------start------------->8---
-     "Unladen web framework for building APIs and app backends")
+     "Web framework for building APIs and application backends")
     (description
-     "Falcon is a bare-metal Python web API framework for building
-high-performance microservices, app backends, and higher-level frameworks.")
+     "Falcon is a web API framework for building microservices, application
+backends and higher-level frameworks.  Among its features are:
+@itemize
+@item Optimized and extensible code base
+@item Routing via URI templates and REST-inspired resource
+classes
+@item Access to headers and bodies through request and response
+classes
+@item Request processing via middleware components and hooks
+@item Idiomatic HTTP error responses
+@item Straightforward exception handling
+@item Unit testing support through WSGI helpers and mocks
+@item Compatible with both CPython and PyPy
+@item Cython support for better performance when used with CPython
+@end itemize")
     (license license:asl2.0)))
--8<---------------cut here---------------end--------------->8---

I mostly took the feature list from their home page and removed some
extraneous adjectives that made it sound overly catchy.

>>>>From 3ecfbe57465aed1062c56ae2b42165a5a07605b5 Mon Sep 17 00:00:00 2001
>> From: Maxim Cournoyer <[email-masked]>
>> Date: Wed, 29 Aug 2018 00:33:17 -0400
>> Subject: [PATCH 2/2] gnu: Add python-falcon-cors.
>>
>> * gnu/packages/python-web.scm (python-falcon-cors): New variable.
>
> [...]
>
>> +    (home-page
>> +     "https://github.com/lwcolton/falcon-cors")
>> +    (synopsis "Falcon CORS middlware")
>                                   ^^
> Typo.

Fixed.

> What about “Falcon @dfn{cross-origin resource sharing} (CORS) library”?

Good idea.

>> +    (description "This middleware provides CORS support for Falcon.")
>
> Ditto here, and bonus points if you add a couple of sentences to explain
> what it does concretely.  :-)

I tried doing so like here:

--8<---------------cut here---------------start------------->8---
-    (synopsis "Falcon CORS middlware")
-    (description "This middleware provides CORS support for Falcon.")
+    (synopsis "Falcon @dfn{cross-origin resource sharing} (CORS) library")
+    (description "This middleware provides @dfn{cross-origin resource
+sharing} (CORS) support for Falcon.  It allows applying a specially crafted
+CORS object to the incoming requests, enabling the ability to serve resources
+over a different origin than that of the web application.")
--8<---------------cut here---------------end--------------->8---

To go further than this would require explaining what CORS is about, which is
not the right place in my opinion :).

> Last point: unless you need them, you can remove the “python2-” variants
> since Python 2.x is reaching end-of-life.

Sadly, yes, I need them.

> OK to push with changes along these lines.

Pushed as 66a9f08bb9c9ba2d7cd4ee3c2d48ea9a8e41c2c4.

Thank you for the review :)

Maxim