26 buildPythonPackage rec {
31 disabled = pythonOlder "3.7";
34 inherit pname version;
35 hash = "sha256-bHDnjuETAOiyHAdnxUKuaxAqScrFz9Tj4xPXu5B8WJE=";
39 # Disable doctest plugin because times out
40 substituteInPlace pytest.ini \
41 --replace-fail "--doctest-modules" "-vvv" \
42 --replace-fail "-p pytest_cov" "" \
43 --replace-fail "--no-cov-on-fail" ""
44 sed -i "/--cov/d" pytest.ini
47 build-system = [ setuptools-scm ];
72 "ignore::DeprecationWarning"
77 # Keyboard interrupt ends test suite run
79 # daemonize and autoreload tests have issue with sockets within sandbox
87 "test_4_File_deletion"
89 ++ lib.optionals (pythonAtLeast "3.11") [
92 "test_HTTP10_KeepAlive"
93 "test_No_Message_Body"
96 "test_malformed_header"
97 "test_no_content_length"
98 "test_post_filename_with_special_characters"
101 "test_1_Ram_Concurrency"
102 "test_2_File_Concurrency"
104 ++ lib.optionals stdenv.hostPlatform.isDarwin [ "test_block" ];
106 disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
107 "cherrypy/test/test_config_server.py"
110 __darwinAllowLocalNetworking = true;
112 pythonImportsCheck = [ "cherrypy" ];
114 optional-dependencies = {
115 json = [ simplejson ];
116 memcached_session = [ python-memcached ];
117 routes_dispatcher = [ routes ];
126 description = "Object-oriented HTTP framework";
127 mainProgram = "cherryd";
128 homepage = "https://cherrypy.dev/";
129 changelog = "https://github.com/cherrypy/cherrypy/blob/v${version}/CHANGES.rst";
130 license = licenses.bsd3;