1{ lib
2, fetchFromGitHub
3, buildPythonPackage
4, isPyPy
5, setuptools
6, setuptools-scm
7, flask
8, brotli
9, brotlicffi
10, pytestCheckHook
11}:
12
13buildPythonPackage rec {
14 version = "1.14";
15 pname = "Flask-Compress";
16 format = "pyproject";
17
18 src = fetchFromGitHub {
19 owner = "colour-science";
20 repo = "flask-compress";
21 rev = "refs/tags/v${version}";
22 hash = "sha256-eP6i4h+O4vkjlhfy3kyB+PY7iHVzOnRBRD8lj5yHehU=";
23 };
24
25 nativeBuildInputs = [
26 setuptools
27 setuptools-scm
28 ];
29
30 propagatedBuildInputs = [
31 flask
32 ] ++ lib.optionals (!isPyPy) [
33 brotli
34 ] ++ lib.optionals isPyPy [
35 brotlicffi
36 ];
37
38 nativeCheckInputs = [
39 pytestCheckHook
40 ];
41
42 pythonImportsCheck = [
43 "flask_compress"
44 ];
45
46 env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
47
48 meta = with lib; {
49 description = "Compress responses in your Flask app with gzip, deflate or brotli";
50 homepage = "https://github.com/colour-science/flask-compress";
51 changelog = "https://github.com/colour-science/flask-compress/blob/v${version}/CHANGELOG.md";
52 license = licenses.mit;
53 maintainers = with maintainers; [ nickcao ];
54 };
55}