nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 django,
5 django-tables2,
6 django-tastypie,
7 factory-boy,
8 fetchFromGitHub,
9 poetry-core,
10 pylint-plugin-utils,
11 pytestCheckHook,
12}:
13
14buildPythonPackage rec {
15 pname = "pylint-django";
16 version = "2.6.1-unstable-2025-11-09";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "PyCQA";
21 repo = "pylint-django";
22 rev = "e40d785abbf26af0738c14247fb4ac0aa7265b24";
23 hash = "sha256-INQSQjubcwQwspaxevXQOF92L2K9WRLMLYsP18Ffhos=";
24 };
25
26 build-system = [ poetry-core ];
27
28 dependencies = [ pylint-plugin-utils ];
29
30 optional-dependencies = {
31 with_django = [ django ];
32 };
33
34 nativeCheckInputs = [
35 django-tables2
36 django-tastypie
37 factory-boy
38 pytestCheckHook
39 ];
40
41 disabledTests = [
42 # AttributeError: module 'pylint.interfaces' has no attribute 'IAstroidChecker'
43 "test_migrations_plugin"
44 "func_noerror_model_unicode_lambda"
45 "test_linter_should_be_pickleable_with_pylint_django_plugin_installed"
46 "func_noerror_model_fields"
47 "func_noerror_form_fields"
48 ];
49
50 pythonImportsCheck = [ "pylint_django" ];
51
52 meta = {
53 description = "Pylint plugin to analyze Django applications";
54 homepage = "https://github.com/PyCQA/pylint-django";
55 changelog = "https://github.com/pylint-dev/pylint-django/releases/tag/v${version}";
56 license = lib.licenses.gpl2Plus;
57 maintainers = with lib.maintainers; [ kamadorueda ];
58 };
59}