1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonAtLeast,
6 pytestCheckHook,
7 cheroot,
8 legacy-cgi,
9 dbutils,
10 mysqlclient,
11 pymysql,
12 mysql-connector,
13 psycopg2,
14}:
15
16buildPythonPackage rec {
17 version = "0.62";
18 pname = "web.py";
19
20 src = fetchPypi {
21 inherit pname version;
22 sha256 = "5ce684caa240654cae5950da8b4b7bc178812031e08f990518d072bd44ab525e";
23 };
24
25 propagatedBuildInputs = [
26 cheroot
27 ] ++ lib.optional (pythonAtLeast "3.13") legacy-cgi;
28
29 # requires multiple running databases
30 doCheck = false;
31
32 pythonImportsCheck = [ "web" ];
33
34 nativeCheckInputs = [
35 pytestCheckHook
36 dbutils
37 mysqlclient
38 pymysql
39 mysql-connector
40 psycopg2
41 ];
42
43 meta = with lib; {
44 description = "Makes web apps";
45 longDescription = ''
46 Think about the ideal way to write a web app.
47 Write the code to make it happen.
48 '';
49 homepage = "https://webpy.org/";
50 license = licenses.publicDomain;
51 maintainers = with maintainers; [ layus ];
52 };
53}