diff --git a/parso/__init__.py b/parso/__init__.py index 7597448..8614c55 100644 --- a/parso/__init__.py +++ b/parso/__init__.py @@ -20,4 +20,14 @@ PythonNode(simple_stmt, [PythonNode(arith_expr, [...]), ]) from parso.parser import ParserSyntaxError from parso.grammar import create_grammar, load_python_grammar + +def parse(code=None, **kwargs): + """ + A utility function to parse Python with the current Python version. Params + are documented in ``Grammar.parse``. + """ + grammar = load_python_grammar() + return grammar.parse(code, **kwargs) + + __version__ = '0.0.2' diff --git a/parso/python/__init__.py b/parso/python/__init__.py index baa31ab..e69de29 100644 --- a/parso/python/__init__.py +++ b/parso/python/__init__.py @@ -1,8 +0,0 @@ -""" -Parsers for Python -""" - -def parse(code, **kwargs): - from parso import load_python_grammar - grammar = load_python_grammar() - return grammar.parse(code, **kwargs) diff --git a/parso/python/tree.py b/parso/python/tree.py index fa52035..967d399 100644 --- a/parso/python/tree.py +++ b/parso/python/tree.py @@ -12,7 +12,7 @@ the input given to the parser. This is important if you are using refactoring. The easiest way to play with this module is to use :class:`parsing.Parser`. :attr:`parsing.Parser.module` holds an instance of :class:`Module`: ->>> from parso.python import parse +>>> from parso import parse >>> parser = parse('import os') >>> module = parser.get_root_node() >>> module diff --git a/test/test_absolute_import.py b/test/test_absolute_import.py index 71b6587..6b8407f 100644 --- a/test/test_absolute_import.py +++ b/test/test_absolute_import.py @@ -2,7 +2,7 @@ Tests ``from __future__ import absolute_import`` (only important for Python 2.X) """ -from parso.python import parse +from parso import parse def test_explicit_absolute_imports(): diff --git a/test/test_diff_parser.py b/test/test_diff_parser.py index f279f6c..94e3381 100644 --- a/test/test_diff_parser.py +++ b/test/test_diff_parser.py @@ -7,7 +7,7 @@ from parso.utils import splitlines from parso import cache from parso import load_python_grammar from parso.python.diff import DiffParser -from parso.python import parse +from parso import parse def test_simple(): diff --git a/test/test_get_code.py b/test/test_get_code.py index e74481d..6a54385 100644 --- a/test/test_get_code.py +++ b/test/test_get_code.py @@ -2,7 +2,7 @@ import difflib import pytest -from parso.python import parse +from parso import parse code_basic_features = ''' """A mod docstring""" diff --git a/test/test_old_fast_parser.py b/test/test_old_fast_parser.py index d7b875d..7e12a03 100644 --- a/test/test_old_fast_parser.py +++ b/test/test_old_fast_parser.py @@ -9,7 +9,7 @@ However the tests might still be relevant for the parser. from textwrap import dedent from parso._compatibility import u -from parso.python import parse +from parso import parse def test_carriage_return_splitting(): diff --git a/test/test_param_splitting.py b/test/test_param_splitting.py index 6bf4dd9..7501796 100644 --- a/test/test_param_splitting.py +++ b/test/test_param_splitting.py @@ -5,7 +5,7 @@ instead of simple parser objects. from textwrap import dedent -from parso.python import parse +from parso import parse def assert_params(param_string, **wanted_dct): diff --git a/test/test_parser.py b/test/test_parser.py index fe6d462..2eafaad 100644 --- a/test/test_parser.py +++ b/test/test_parser.py @@ -5,7 +5,7 @@ from textwrap import dedent import pytest from parso._compatibility import u, py_version -from parso.python import parse +from parso import parse from parso import load_python_grammar from parso.python import tree from parso.utils import splitlines diff --git a/test/test_parser_tree.py b/test/test_parser_tree.py index 8ee0455..fc10376 100644 --- a/test/test_parser_tree.py +++ b/test/test_parser_tree.py @@ -4,7 +4,7 @@ from textwrap import dedent import pytest -from parso.python import parse +from parso import parse from parso.python import tree diff --git a/test/test_tokenize.py b/test/test_tokenize.py index 009dc10..fd6b38f 100644 --- a/test/test_tokenize.py +++ b/test/test_tokenize.py @@ -6,7 +6,7 @@ from parso._compatibility import py_version from parso.utils import splitlines from parso.token import NAME, OP, NEWLINE, STRING, INDENT, ERRORTOKEN, ENDMARKER from parso import tokenize -from parso.python import parse +from parso import parse from parso.tokenize import TokenInfo def _get_token_list(string):