1{ lib
2, stdenv
3, automat
4, buildPythonPackage
5, cryptography
6, fetchPypi
7, geoip
8, idna
9, incremental
10, lsof
11, mock
12, pyopenssl
13, pytestCheckHook
14, python
15, pythonOlder
16, service-identity
17, twisted
18, zope_interface
19}:
20
21buildPythonPackage rec {
22 pname = "txtorcon";
23 version = "23.5.0";
24 format = "setuptools";
25
26 disabled = pythonOlder "3.7";
27
28 src = fetchPypi {
29 inherit pname version;
30 hash = "sha256-k/2Aqd1QX2mNCGT+k9uLapwRRLX+uRUwggtw7YmCZRw=";
31 };
32
33 propagatedBuildInputs = [
34 cryptography
35 incremental
36 twisted
37 automat
38 zope_interface
39 ] ++ twisted.optional-dependencies.tls;
40
41 nativeCheckInputs = [
42 pytestCheckHook
43 mock
44 lsof
45 geoip
46 ];
47
48 doCheck = !(stdenv.isDarwin && stdenv.isAarch64);
49
50 meta = with lib; {
51 description = "Twisted-based Tor controller client, with state-tracking and configuration abstractions";
52 homepage = "https://github.com/meejah/txtorcon";
53 changelog = "https://github.com/meejah/txtorcon/releases/tag/v${version}";
54 maintainers = with maintainers; [ jluttine exarkun ];
55 license = licenses.mit;
56 };
57}