No project description provided
Project description
lib_py_parse
lib_py_parse is a utility library for manipulating python code.
Usage
import lib_py_parse.parse.parse_skeleton as parse_skeleton
# script create AutoGeneratedDocs for a python module (including imported modules from [module_dir])
target_module = 'drivers.cache_server_driver'
module_dir = '/home/user/software/cache'
pkgDocs = parse_skeleton.generate_api_def(target_module, module_dir, target_only=False)
print(pkgDocs)
Installing
$ python3 -m pip install lib_py_parse
AutoGeneratedDocs
lib_py_parse.helper.__init__
lib_py_parse.helper.type_resolver
def reduce_rel_type( target_module, current_module, rel_type, reverse_imports_map )
def compute_relative_type(abs_type, current_module, reverse_imports_map)
def resolve_map_type_L0_skeleton(typon_map_type, L0_skeleton)
def read_tuple_types_typon_L0_skeleton(ws_removed_typon_tuple_type, L0_skeleton)
def read_args_ret_from_fxn_typon_type(ws_removed_typon_fxn_type)
lib_py_parse.helper.eval_service
def resolve_func_type_from_arguments(arguments)
def resolve_args_only_func_type(arguments)
def resolve_func_type_from_arguments_msa(arguments, module_L0_skeleton, current_module)
def resolve_args_only_func_type_msa(arguments, module_L0_skeleton, current_module)
def is_valid_var_name(var_name)
lib_py_parse.helper.eval_helper
def extract_id_var_tuple(S2)
def read_fxn_params(arg_str)
def fmt_type_module_space_aware_module_L0_skeleton(input_typon_type, current_module, module_L0_skeleton)
lib_py_parse.__init__
lib_py_parse.__api__
lib_py_parse.parse.rm_comments
def fmt_json(X)
def render_indented_stmts( stmt )
def render_fxn_repr( stmt )
def render_class_repr( stmt )
def render_instruction_repr( stmt )
def render_import_repr( stmt )
def render_L1_control( stmt )
def render_try_repr( stmt )
def render_except_repr( stmt )
def render_stmt( stmt )
def rm_comment_U1(mod_skeleton_U1)
def rm_comment_module( target_module, module_dir )
def rm_comment_pkg( pkg_ns, pkg_base )
def rm_comment_pkg_src( pkg_ns, pkg_base )
def p1()
def main()
lib_py_parse.parse.parser
def parse_def(code, index, scope)
def parse_class(code, index, scope)
def parse_try(code, index, scope)
def parse_except(code, index, scope)
def parse_L1_CE(code, index, scope, token)
def parse_L0_statement(code, index, scope)
def parse_import(code, index, scope)
def parse_include(code, index, scope)
def parse_abstract_statement(code, index, scope, start_token)
def read_scope(code, index, scope)
lib_py_parse.parse.parse_L0_skeleton
def select_modules_to_read(item_skeleton)
def read_import_to_skeleton(item, module_L0_skeleton, current_module)
def read_L0_skeleton(current_module, item_skeleton)
def fmt_code(src_dir)
def select_code_skeletons(target_module, module_dir)
lib_py_parse.parse.parse_skeleton
def gen_mod_repr( mod_skeleton_U1 )
def generate_api_def(target_module, module_dir, target_only=False)
def generate_pkg_api_def( pkg_ns, pkg_base )
def read_relative_skeleton(target_module, module_dir)
def p1()
def main()
lib_py_parse.utils.__init__
lib_py_parse.utils.constants
def select_item_prefix(item_name)
def select_primitives()
def select_bracket_map()
lib_py_parse.utils.exceptions
def find_all(s, t, index)
def raise_exception_msg(code, index, error_msg)
def raise_exception_msgs(code, index, error_msgs)
def raise_exception_raw(error_msgs)
def raise_exception_ue(error_msgs)
def raise_exception_ue_cm(error_msgs, current_module)
def raise_exception_ST(symbol_table, errors)
def format_parse_tree(abstract_tree)
def raise_inv_exception_decl(exception_decl, symbol_table)
def raise_invalid_raise_exception(symbol_table)
def raise_class_not_found_exception(symbol_table, class_name, target_module)
def raise_inv_assertion_declaration(symbol_table, interior_assert_typon_type)
def raise_exception_L0_skeleton(errors, current_module, L0_skeleton)
def raise_parsing_exception(error_msg_str, current_module, src_dir)
lib_py_parse.utils.fmt_utils
def format_indent(indent_str, multiline_str)
def serialize_json(py_dict)
def print_json(py_dict)
def select_module_src_dir(module_dir, target_module)
def read_module_src(module_dir, target_module)
lib_py_parse.utils.graph_alg
def perform_dfs(graph, i, v, cv, result_order, cyclic_flag)
def top_sort(graph)
def bfs_files(base_dir, target_exts)
lib_py_parse.utils.parsing_utils
def indent_multiline_str(indent_str, multiline_str)
def get_fmt_str_expr_closure(target_substr, open_index, symbol_table)
def get_char_closure(s, index)
def get_unescaped_quote(s, index, quote)
def close_triple_quote(s, index, trq)
def get_quote_closure(s, index)
def is_escaped_quote(s, index)
def get_cleared_char_closure(s, index)
def read_next_cleared_char(s, index, target_char)
def parse_current_scope(source_code, scope_start_index)
def read_init_token(source_code, index, scope)
def select_token_index(tok_stream, target_token)
def get_token_stream_closure(tok_stream, i_start)
def get_expr_aware_closure(tok_stream, index, symbol_table)
def find_all_expr_aware(tok_stream, index, symbol_table, target_token)
def split_expr_aware(tok_stream, symbol_table, target_token)
def split_arg_typle(s, index)
def read_delimited_types(type_str)
def parse_fxn_type(function_type, symbol_table)
lib_py_parse.utils.fs_mod
def fmt_mod_py( module_name, base_dir='' )
def iter_py_mod( pkg_ns, pkg_base )
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
lib_py_parse-0.0.0.tar.gz
(10.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lib_py_parse-0.0.0.tar.gz.
File metadata
- Download URL: lib_py_parse-0.0.0.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
848a8824e070d998490e24e1ac0636b8b8b356d0cf247b2c985c148fbb410b62
|
|
| MD5 |
571f55417f08b941b8ac95f833d84762
|
|
| BLAKE2b-256 |
68137daa3ac845db85310ce1084a527fe47b16b9308bba49a96c275f5ce075f4
|
File details
Details for the file lib_py_parse-0.0.0-py3-none-any.whl.
File metadata
- Download URL: lib_py_parse-0.0.0-py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c949a6db3ccb643ef6cbf43029204f19d0029a2654009d0b7c0d6349259c62a7
|
|
| MD5 |
cd540ea3d32563d0fd5771b6e7139cc0
|
|
| BLAKE2b-256 |
be1d22f6cabdb5239607c80ae5fafefb018a36913bcd89cd7ea0c694ce4ea389
|