nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonAtLeast,
6 setuptools,
7 aiohttp,
8 python-mimeparse,
9 gunicorn,
10 mako,
11 pytestCheckHook,
12 webtest-aiohttp,
13}:
14
15buildPythonPackage (finalAttrs: {
16 pname = "aiohttp-utils";
17 version = "3.2.1";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 owner = "sloria";
22 repo = "aiohttp-utils";
23 tag = finalAttrs.version;
24 hash = "sha256-CGKka6nGQ9o4wn6o3YJ3hm8jGbg16NKkCdBA1mKz4bo=";
25 };
26
27 build-system = [
28 setuptools
29 ];
30
31 dependencies = [
32 aiohttp
33 python-mimeparse
34 gunicorn
35 ];
36
37 pythonImportsCheck = [
38 "aiohttp_utils"
39 ];
40
41 nativeCheckInputs = [
42 mako
43 pytestCheckHook
44 webtest-aiohttp
45 ];
46
47 disabledTests = [
48 # AssertionError: assert None == 'application/octet-stream'
49 "test_renders_to_json_by_default"
50 ];
51
52 disabledTestPaths = lib.optionals (pythonAtLeast "3.14") [
53 # RuntimeError: There is no current event loop in thread 'MainThread'.
54 "tests/test_examples.py"
55 "tests/test_negotiation.py"
56 "tests/test_routing.py"
57 ];
58
59 meta = {
60 description = "Handy utilities for building aiohttp.web applications";
61 homepage = "https://github.com/sloria/aiohttp-utils";
62 changelog = "https://github.com/sloria/aiohttp-utils/tags/${finalAttrs.src.tag}";
63 license = lib.licenses.mit;
64 maintainers = [ ];
65 };
66})