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