Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 babel,
8 hatchling,
9 setuptools,
10
11 # dependencies
12 markupsafe,
13
14 # optional-dependencies
15 email-validator,
16
17 # tests
18 pytestCheckHook,
19}:
20
21buildPythonPackage rec {
22 pname = "wtforms";
23 version = "3.2.1";
24 pyproject = true;
25
26 src = fetchFromGitHub {
27 owner = "wtforms";
28 repo = "wtforms";
29 tag = version;
30 hash = "sha256-jwjP/wkk8MdNJbPE8MlkrH4DyR304Ju41nN4lMo3jFs=";
31 };
32
33 nativeBuildInputs = [
34 babel
35 hatchling
36 setuptools
37 ];
38
39 propagatedBuildInputs = [ markupsafe ];
40
41 optional-dependencies = {
42 email = [ email-validator ];
43 };
44
45 nativeCheckInputs = [
46 pytestCheckHook
47 ]
48 ++ lib.concatAttrValues optional-dependencies;
49
50 pythonImportsCheck = [ "wtforms" ];
51
52 meta = {
53 description = "Flexible forms validation and rendering library for Python";
54 homepage = "https://github.com/wtforms/wtforms";
55 changelog = "https://github.com/wtforms/wtforms/blob/${version}/CHANGES.rst";
56 license = lib.licenses.bsd3;
57 };
58}