1{
2 lib,
3 buildPythonPackage,
4 django,
5 faker,
6 fetchPypi,
7 flask,
8 flask-sqlalchemy,
9 mongoengine,
10 pytestCheckHook,
11 pythonOlder,
12 mongomock,
13 sqlalchemy,
14 sqlalchemy-utils,
15 setuptools,
16}:
17
18buildPythonPackage rec {
19 pname = "factory-boy";
20 version = "3.3.3";
21 pyproject = true;
22
23 disabled = pythonOlder "3.8";
24
25 src = fetchPypi {
26 pname = "factory_boy";
27 inherit version;
28 hash = "sha256-hmhi0iYSjfrH8rQWAofomdr1TyYSd4Mn3QPQ4ssePQM=";
29 };
30
31 build-system = [ setuptools ];
32
33 dependencies = [ faker ];
34
35 nativeCheckInputs = [
36 django
37 flask
38 flask-sqlalchemy
39 mongoengine
40 mongomock
41 pytestCheckHook
42 sqlalchemy
43 sqlalchemy-utils
44 ];
45
46 disabledTests = [
47 # Test checks for MongoDB requires an a running DB
48 "MongoEngineTestCase"
49 ];
50
51 disabledTestPaths = [
52 # incompatible with latest flask-sqlalchemy
53 "examples/flask_alchemy/test_demoapp.py"
54 ];
55
56 pythonImportsCheck = [ "factory" ];
57
58 meta = with lib; {
59 description = "Python package to create factories for complex objects";
60 homepage = "https://github.com/rbarrois/factory_boy";
61 changelog = "https://github.com/FactoryBoy/factory_boy/blob/${version}/docs/changelog.rst";
62 license = licenses.mit;
63 maintainers = with maintainers; [ fab ];
64 };
65}