This repo contains code to mirror other repos. It also contains the code that is getting mirrored.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 regels
2.0 KiB

  1. import re
  2. from setuptools import setup
  3. __version__ ,= re.findall('__version__ = "(.*)"', open('lark/__init__.py').read())
  4. setup(
  5. name = "lark-parser",
  6. version = __version__,
  7. packages = ['lark', 'lark.parsers', 'lark.tools', 'lark.grammars'],
  8. requires = [],
  9. install_requires = [],
  10. package_data = { '': ['*.md', '*.g'] },
  11. test_suite = 'tests.__main__',
  12. # metadata for upload to PyPI
  13. author = "Erez Shinan",
  14. author_email = "erezshin@gmail.com",
  15. description = "a modern parsing library",
  16. license = "MIT",
  17. keywords = "Earley LALR parser parsing ast",
  18. url = "https://github.com/erezsh/lark",
  19. download_url = "https://github.com/erezsh/lark/tarball/master",
  20. long_description='''
  21. Lark is a modern general-purpose parsing library for Python.
  22. Lark focuses on simplicity and power. It lets you choose between two parsing algorithms:
  23. Earley : Parses all context-free grammars (even ambiguous ones)! It is the default.
  24. LALR(1): Only LR grammars. Outperforms PLY and most if not all other pure-python parsing libraries.
  25. Both algorithms are written in Python and can be used interchangably with the same grammar (aside for algorithmic restrictions). See "Comparison to other parsers" for more details.
  26. Lark can automagically build an AST from your grammar, without any more code on your part.
  27. Features:
  28. - EBNF grammar with a little extra
  29. - Earley & LALR(1)
  30. - Builds an AST automagically based on the grammar
  31. - Automatic line & column tracking
  32. - Automatic token collision resolution (unless both tokens are regexps)
  33. - Python 2 & 3 compatible
  34. - Unicode fully supported
  35. ''',
  36. classifiers=[
  37. "Development Status :: 3 - Alpha",
  38. "Intended Audience :: Developers",
  39. "Programming Language :: Python :: 2.7",
  40. "Programming Language :: Python :: 3",
  41. "Topic :: Software Development :: Libraries :: Python Modules",
  42. "Topic :: Text Processing :: General",
  43. "License :: OSI Approved :: MIT License",
  44. ],
  45. )