Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / pyparsing / default.nix
blobe621a80d7acd53f3740f4e616486329a753eb2d0
1 { buildPythonPackage
2 , fetchFromGitHub
3 , lib
4 , flit-core
5 , jinja2
6 , pytestCheckHook
7 , railroad-diagrams
8 , pyparsing
9 }:
11 buildPythonPackage rec {
12   pname = "pyparsing";
13   version = "3.0.9";
14   format = "pyproject";
16   src = fetchFromGitHub {
17     owner = "pyparsing";
18     repo = pname;
19     rev = "pyparsing_${version}";
20     hash = "sha256-aCRyJQyLf8qQ6NO41q+HC856TjIHzIt0vyVBLV+3teE=";
21   };
23   nativeBuildInputs = [
24     flit-core
25   ];
27   # circular dependencies with pytest if enabled by default
28   doCheck = false;
29   nativeCheckInputs = [
30     jinja2
31     pytestCheckHook
32     railroad-diagrams
33   ];
35   pythonImportsCheck = [ "pyparsing" ];
37   passthru.tests = {
38     check = pyparsing.overridePythonAttrs (_: { doCheck = true; });
39   };
41   meta = with lib; {
42     homepage = "https://github.com/pyparsing/pyparsing";
43     description = "Python library for creating PEG parsers";
44     longDescription = ''
45       The pyparsing module is an alternative approach to creating and executing
46       simple grammars, vs. the traditional lex/yacc approach, or the use of
47       regular expressions. The pyparsing module provides a library of classes
48       that client code uses to construct the grammar directly in Python code.
49    '';
50     license = licenses.mit;
51     maintainers = with maintainers; [ kamadorueda ];
52   };