1{ lib
2, stdenv
3, buildPythonPackage
4, pythonOlder
5, fetchFromGitHub
6, setuptools
7, setuptools-scm
8, more-itertools
9, beautifulsoup4
10, mechanize
11, keyring
12, requests
13, feedparser
14, jaraco_text
15, jaraco_logging
16, jaraco-email
17, jaraco_functools
18, jaraco_collections
19, path
20, python-dateutil
21, pathvalidate
22, jsonpickle
23, ifconfig-parser
24, pytestCheckHook
25, cherrypy
26, importlib-resources
27, pyparsing
28, requests-mock
29, nettools
30}:
31
32buildPythonPackage rec {
33 pname = "jaraco-net";
34 version = "9.3.1";
35
36 disabled = pythonOlder "3.7";
37
38 format = "pyproject";
39
40 src = fetchFromGitHub {
41 owner = "jaraco";
42 repo = "jaraco.net";
43 rev = "refs/tags/v${version}";
44 hash = "sha256-aq5v4QlapmMTrqwNA0GtRi/xZCcyoR1giZECBsYwymw=";
45 };
46
47 nativeBuildInputs = [
48 setuptools
49 setuptools-scm
50 ];
51
52 SETUPTOOLS_SCM_PRETEND_VERSION = version;
53
54 propagatedBuildInputs = [
55 more-itertools
56 beautifulsoup4
57 mechanize
58 keyring
59 requests
60 feedparser
61 jaraco_text
62 jaraco_logging
63 jaraco-email
64 jaraco_functools
65 jaraco_collections
66 path
67 python-dateutil
68 pathvalidate
69 jsonpickle
70 ] ++ lib.optionals stdenv.isDarwin [
71 ifconfig-parser
72 ];
73
74 pythonImportsCheck = [ "jaraco.net" ];
75
76 nativeCheckInputs = [
77 pytestCheckHook
78 cherrypy
79 importlib-resources
80 pyparsing
81 requests-mock
82 ] ++ lib.optionals stdenv.isDarwin [
83 nettools
84 ];
85
86 disabledTestPaths = [
87 # doesn't actually contain tests
88 "fabfile.py"
89 # require networking
90 "jaraco/net/ntp.py"
91 "jaraco/net/scanner.py"
92 "tests/test_cookies.py"
93 ];
94
95 meta = {
96 changelog = "https://github.com/jaraco/jaraco.net/blob/${src.rev}/CHANGES.rst";
97 description = "Networking tools by jaraco";
98 homepage = "https://github.com/jaraco/jaraco.net";
99 license = lib.licenses.mit;
100 maintainers = with lib.maintainers; [ dotlambda ];
101 };
102}