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 format = "setuptools";
19 pname = "web.py";
20
21 src = fetchPypi {
22 inherit pname version;
23 sha256 = "5ce684caa240654cae5950da8b4b7bc178812031e08f990518d072bd44ab525e";
24 };
25
26 propagatedBuildInputs = [
27 cheroot
28 ]
29 ++ lib.optional (pythonAtLeast "3.13") legacy-cgi;
30
31 # requires multiple running databases
32 doCheck = false;
33
34 pythonImportsCheck = [ "web" ];
35
36 nativeCheckInputs = [
37 pytestCheckHook
38 dbutils
39 mysqlclient
40 pymysql
41 mysql-connector
42 psycopg2
43 ];
44
45 meta = with lib; {
46 description = "Makes web apps";
47 longDescription = ''
48 Think about the ideal way to write a web app.
49 Write the code to make it happen.
50 '';
51 homepage = "https://webpy.org/";
52 license = licenses.publicDomain;
53 maintainers = with maintainers; [ layus ];
54 };
55}