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.__init__
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 )
Metadata
Release files for lib-py-parse 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| lib_py_parse-0.0.1.tar.gz | 14.0 kB | Without provenance | Details for lib_py_parse-0.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| lib_py_parse-0.0.1-py3-none-any.whl | Python 3 | none | any | Details for lib_py_parse-0.0.1-py3-none-any.whl |
Total release size: 32.0 kB
Release files / lib_py_parse-0.0.1.tar.gz
| Download URL | lib_py_parse-0.0.1.tar.gz |
|---|---|
| Size | 14.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ea8734f2d0e68095e6fed79a66be6bc60eb03339c13e26a4b6c3c9ad220b8432
|
|
BLAKE2b-256 checksum How to use checksums |
4150db3b29e53f130f1e5b47fff0a3f1102acb908e277c709222f31c0ad006a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.10
|
Release files / lib_py_parse-0.0.1-py3-none-any.whl
| Download URL | lib_py_parse-0.0.1-py3-none-any.whl |
|---|---|
| Size | 18.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c5878efa7862832d07751245328e10ddd0a29293c2fbbffe913e4d42a7a2a1aa
|
|
BLAKE2b-256 checksum How to use checksums |
4318b53676a6ad5089a688b93750ccafc478330144ce45b9b185bdf2f5c3b680
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.10
|
Security for lib-py-parse 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.