usekit 0.1.1__tar.gz → 0.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- usekit-0.1.2/PKG-INFO +256 -0
- usekit-0.1.2/README.md +238 -0
- {usekit-0.1.1 → usekit-0.1.2}/setup.py +2 -2
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/fileops/helper_restore.py +65 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_path.py +1 -1
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/dbl_ops_loader.py +23 -7
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/dbl_write.py +24 -5
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_write_sub.py +29 -0
- usekit-0.1.2/usekit/classes/data/base/post/parser/parser_ddl.py +579 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_pyp.py +20 -4
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_yaml.py +126 -10
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser_factory.py +1 -1
- usekit-0.1.2/usekit/classes/data/base/post/sub/ddl/auto_name.py +271 -0
- usekit-0.1.2/usekit/classes/data/base/post/sub/parser_ddl_sub.py +356 -0
- usekit-0.1.2/usekit/classes/data/base/post/sub/parser_km_sub.py +496 -0
- usekit-0.1.2/usekit/classes/data/base/post/sub/parser_pyp_sub.py +79 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/sub/parser_txt_sub.py +2 -2
- usekit-0.1.2/usekit/classes/data/base/post/sub/pyp/__init__.py +73 -0
- usekit-0.1.2/usekit/classes/data/base/post/sub/pyp/build.py +384 -0
- usekit-0.1.2/usekit/classes/data/base/post/sub/pyp/extract.py +664 -0
- usekit-0.1.2/usekit/classes/data/base/post/sub/pyp/format.py +267 -0
- usekit-0.1.2/usekit/classes/exec/base/init/wrap/ddl/ebi_class_ddl.py +88 -0
- usekit-0.1.2/usekit/classes/exec/base/init/wrap/ddl/ebi_simple_ddl.py +221 -0
- usekit-0.1.2/usekit/classes/exec/base/init/wrap/ddl/ebi_wrap_ddl.py +141 -0
- usekit-0.1.2/usekit/classes/exec/base/init/wrap/pyp/ebi_simple_pyp.py +221 -0
- usekit-0.1.2/usekit/classes/exec/base/init/wrap/sql/ebi_class_sql.py +88 -0
- usekit-0.1.2/usekit/classes/exec/base/init/wrap/sql/ebi_simple_sql.py +221 -0
- usekit-0.1.2/usekit/classes/exec/base/init/wrap/sql/ebi_wrap_sql.py +141 -0
- usekit-0.1.2/usekit/classes/exec/base/load/ddl/ebl_exec_ddl.py +223 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/sub/ebl_import_sub.py +3 -3
- usekit-0.1.2/usekit/classes/exec/base/post/act/ddl/ebp_exec_ddl.py +294 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/post/act/ebp_import_pyp.py +268 -5
- usekit-0.1.2/usekit/classes/exec/base/post/act/pyp/ebp_import_pyp.py +793 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/post/act/sql/ebp_exec_sql.py +111 -12
- usekit-0.1.2/usekit/classes/support/base/init/time/sbi_time.py +314 -0
- usekit-0.1.2/usekit/classes/support/base/init/watch/sbi_watch.py +310 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/params_alias.py +4 -0
- usekit-0.1.2/usekit/sys/sys_km/__init__.py +5 -0
- usekit-0.1.2/usekit/sys/sys_yaml/__init__.py +5 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/sys/sys_yaml/sys_const.yaml +9 -2
- usekit-0.1.2/usekit/tools/__init__.py +5 -0
- usekit-0.1.2/usekit/tools/convert/__init__.py +5 -0
- usekit-0.1.2/usekit/tools/convert/common/__init__.py +5 -0
- usekit-0.1.2/usekit/tools/convert/data/__init__.py +5 -0
- usekit-0.1.2/usekit/tools/convert/navi/__init__.py +5 -0
- usekit-0.1.2/usekit/tools/navi/__init__.py +5 -0
- usekit-0.1.2/usekit.egg-info/PKG-INFO +256 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit.egg-info/SOURCES.txt +29 -15
- usekit-0.1.1/PKG-INFO +0 -366
- usekit-0.1.1/README.md +0 -348
- usekit-0.1.1/usekit/classes/data/base/parse/parser_any.py +0 -31
- usekit-0.1.1/usekit/classes/data/base/parse/parser_csv.py +0 -281
- usekit-0.1.1/usekit/classes/data/base/parse/parser_ddl.py +0 -556
- usekit-0.1.1/usekit/classes/data/base/parse/parser_dml.py +0 -31
- usekit-0.1.1/usekit/classes/data/base/parse/parser_factory.py +0 -157
- usekit-0.1.1/usekit/classes/data/base/parse/parser_md.py +0 -272
- usekit-0.1.1/usekit/classes/data/base/parse/parser_pkl.py +0 -207
- usekit-0.1.1/usekit/classes/data/base/parse/parser_pyp.py +0 -188
- usekit-0.1.1/usekit/classes/data/base/parse/parser_txt.py +0 -808
- usekit-0.1.1/usekit/classes/data/base/parse/parser_yaml.py +0 -426
- usekit-0.1.1/usekit/classes/data/base/post/parser/parser_ddl.py +0 -563
- usekit-0.1.1/usekit/classes/data/base/post/parser/parser_json.py +0 -653
- usekit-0.1.1/usekit/classes/data/base/post/parser/parser_sql.py +0 -619
- usekit-0.1.1/usekit/classes/data/base/post/sub/parser_pyp_sub.py +0 -970
- usekit-0.1.1/usekit/classes/exec/base/post/act/ebp_exec_pyp.py +0 -302
- usekit-0.1.1/usekit.egg-info/PKG-INFO +0 -366
- {usekit-0.1.1 → usekit-0.1.2}/MANIFEST.in +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/setup.cfg +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/.env.example +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/errors/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/errors/helper_debug.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/errors/helper_errors.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/errors/helper_safe.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/errors/helper_setupdebug.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/fileops/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/fileops/helper_backup.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/fileops/helper_diff.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/fileops/helper_dotdict.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/fileops/helper_dryrun.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/init/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/init/helper_lazy.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/init/helper_normalize.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/keymap/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/keymap/helper_keydata_path.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_const.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_const_line.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_data_cache.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_format.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_keydata_path.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_keypath.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_parse_pattern.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_path_cache.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_search.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_timer.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_treecache.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/core/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/core/env/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/core/env/class_env.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/core/env/loader_base_path.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/core/env/loader_env.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/any/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/any/dbi_class_any.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/any/dbi_simple_any.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/any/dbi_wrap_any.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/common/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/common/dbi_common_wrap.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/csv/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/csv/dbi_class_csv.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/csv/dbi_simple_csv.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/csv/dbi_wrap_csv.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/ddl/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/ddl/dbi_class_ddl.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/ddl/dbi_simple_ddl.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/ddl/dbi_wrap_ddl.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/json/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/json/dbi_class_json.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/json/dbi_simple_json.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/json/dbi_wrap_json.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/km/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/km/dbi_class_km.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/km/dbi_simple_km.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/km/dbi_wrap_km.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/md/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/md/dbi_class_md.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/md/dbi_simple_md.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/md/dbi_wrap_md.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/pyp/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/pyp/dbi_class_pyp.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/pyp/dbi_simple_pyp.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/pyp/dbi_wrap_pyp.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/sql/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/sql/dbi_class_sql.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/sql/dbi_simple_sql.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/sql/dbi_wrap_sql.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/txt/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/txt/dbi_class_txt.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/txt/dbi_simple_txt.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/txt/dbi_wrap_txt.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/yaml/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/yaml/dbi_class_yaml.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/yaml/dbi_simple_yaml.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/yaml/dbi_wrap_yaml.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/dbl_a_index_ops.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/dbl_delete.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/dbl_exists.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/dbl_read.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/dbl_update.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_a_index_sub.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_common_sub.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_delete_sub.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_exists_sub.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_read_sub.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_update_sub.py +0 -0
- {usekit-0.1.1/usekit/classes/data/base/parse → usekit-0.1.2/usekit/classes/data/base/post}/__init__.py +0 -0
- {usekit-0.1.1/usekit/classes/data/base/post → usekit-0.1.2/usekit/classes/data/base/post/parser}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_any.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_csv.py +0 -0
- {usekit-0.1.1/usekit/classes/data/base/parse → usekit-0.1.2/usekit/classes/data/base/post/parser}/parser_json.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_km.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_md.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_pkl.py +0 -0
- {usekit-0.1.1/usekit/classes/data/base/parse → usekit-0.1.2/usekit/classes/data/base/post/parser}/parser_sql.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_txt.py +0 -0
- {usekit-0.1.1/usekit/classes/data/base/post/parser → usekit-0.1.2/usekit/classes/data/base/post/sub}/__init__.py +0 -0
- {usekit-0.1.1/usekit/classes/data/base/post/sub → usekit-0.1.2/usekit/classes/data/base/post/sub/ddl}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/sub/parser_csv_sub.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/sub/parser_json_sub.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/sub/parser_pkl_sub.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/sub/parser_sql_sub.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/sub/parser_yaml_sub.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/class_data_io.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/class_data_sp.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/init/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/init/wrap/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/init/wrap/common/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/init/wrap/common/ebi_common_wrap.py +0 -0
- {usekit-0.1.1/usekit/classes/exec/base/init/wrap/pyp → usekit-0.1.2/usekit/classes/exec/base/init/wrap/ddl}/__init__.py +0 -0
- {usekit-0.1.1/usekit/classes/exec/base/load → usekit-0.1.2/usekit/classes/exec/base/init/wrap/pyp}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/init/wrap/pyp/ebi_class_pyp.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/init/wrap/pyp/ebi_wrap_pyp.py +0 -0
- {usekit-0.1.1/usekit/classes/exec/base/load/ops → usekit-0.1.2/usekit/classes/exec/base/init/wrap/sql}/__init__.py +0 -0
- {usekit-0.1.1/usekit/classes/exec/base/load/pyp → usekit-0.1.2/usekit/classes/exec/base/load}/__init__.py +0 -0
- {usekit-0.1.1/usekit/classes/exec/base/load/sql → usekit-0.1.2/usekit/classes/exec/base/load/ddl}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ebl_ops_loader.py +0 -0
- {usekit-0.1.1/usekit/classes/exec/base/load/sub → usekit-0.1.2/usekit/classes/exec/base/load/ops}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ops/ebl_a_index_ops.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ops/ebl_boot.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ops/ebl_close.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ops/ebl_exec.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ops/ebl_factory.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ops/ebl_import.py +0 -0
- {usekit-0.1.1/usekit/classes/exec/base/post → usekit-0.1.2/usekit/classes/exec/base/load/pyp}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/pyp/ebl_exec_pyp.py +0 -0
- {usekit-0.1.1/usekit/classes/exec/base/post/act → usekit-0.1.2/usekit/classes/exec/base/load/sql}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/sql/ebl_exec_sql.py +0 -0
- {usekit-0.1.1/usekit/classes/exec/base/post/act/pyp → usekit-0.1.2/usekit/classes/exec/base/load/sub}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/sub/ebl_exec_sub.py +0 -0
- {usekit-0.1.1/usekit/classes/exec/base/post/act/sql → usekit-0.1.2/usekit/classes/exec/base/post}/__init__.py +0 -0
- {usekit-0.1.1/usekit/classes/exec/base/post/sub → usekit-0.1.2/usekit/classes/exec/base/post/act}/__init__.py +0 -0
- {usekit-0.1.1/usekit/classes/navi → usekit-0.1.2/usekit/classes/exec/base/post/act/ddl}/__init__.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base → usekit-0.1.2/usekit/classes/exec/base/post/act/pyp}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/post/act/pyp/ebp_exec_pyp.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/init → usekit-0.1.2/usekit/classes/exec/base/post/act/sql}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/class_exec_io.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/init/wrap → usekit-0.1.2/usekit/classes/navi}/__init__.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/init/wrap/any → usekit-0.1.2/usekit/classes/navi/base}/__init__.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/init/wrap/common → usekit-0.1.2/usekit/classes/navi/base/init}/__init__.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/init/wrap/csv → usekit-0.1.2/usekit/classes/navi/base/init/wrap}/__init__.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/init/wrap/ddl → usekit-0.1.2/usekit/classes/navi/base/init/wrap/any}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/any/nbi_class_any.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/any/nbi_simple_any.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/any/nbi_wrap_any.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/init/wrap/json → usekit-0.1.2/usekit/classes/navi/base/init/wrap/common}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/common/nbi_common_wrap.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/init/wrap/km → usekit-0.1.2/usekit/classes/navi/base/init/wrap/csv}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/csv/nbi_class_csv.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/csv/nbi_simple_csv.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/csv/nbi_wrap_csv.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/init/wrap/md → usekit-0.1.2/usekit/classes/navi/base/init/wrap/ddl}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/ddl/nbi_class_ddl.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/ddl/nbi_simple_ddl.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/ddl/nbi_wrap_ddl.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/init/wrap/pyp → usekit-0.1.2/usekit/classes/navi/base/init/wrap/json}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/json/nbi_class_json.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/json/nbi_simple_json.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/json/nbi_wrap_json.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/init/wrap/sql → usekit-0.1.2/usekit/classes/navi/base/init/wrap/km}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/km/nbi_class_km.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/km/nbi_simple_km.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/km/nbi_wrap_km.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/init/wrap/txt → usekit-0.1.2/usekit/classes/navi/base/init/wrap/md}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/md/nbi_class_md.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/md/nbi_simple_md.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/md/nbi_wrap_md.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/init/wrap/yaml → usekit-0.1.2/usekit/classes/navi/base/init/wrap/pyp}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/pyp/nbi_class_pyp.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/pyp/nbi_simple_pyp.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/pyp/nbi_wrap_pyp.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/load → usekit-0.1.2/usekit/classes/navi/base/init/wrap/sql}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/sql/nbi_class_sql.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/sql/nbi_simple_sql.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/sql/nbi_wrap_sql.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/load/ops → usekit-0.1.2/usekit/classes/navi/base/init/wrap/txt}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/txt/nbi_class_txt.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/txt/nbi_simple_txt.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/txt/nbi_wrap_txt.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/load/sub → usekit-0.1.2/usekit/classes/navi/base/init/wrap/yaml}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/yaml/nbi_class_yaml.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/yaml/nbi_simple_yaml.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/yaml/nbi_wrap_yaml.py +0 -0
- {usekit-0.1.1/usekit/classes/navi/base/post → usekit-0.1.2/usekit/classes/navi/base/load}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/nbl_ops_loader.py +0 -0
- {usekit-0.1.1/usekit/classes/wrap → usekit-0.1.2/usekit/classes/navi/base/load/ops}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/ops/nbl_a_index_ops.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/ops/nbl_find.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/ops/nbl_get.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/ops/nbl_list.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/ops/nbl_path.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/ops/nbl_set.py +0 -0
- {usekit-0.1.1/usekit/classes/wrap/base → usekit-0.1.2/usekit/classes/navi/base/load/sub}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/sub/nbl_common_sub.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/sub/nbl_find_sub.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/sub/nbl_path_sub.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/sub/nbl_set_sub.py +0 -0
- {usekit-0.1.1/usekit/classes/wrap/safe → usekit-0.1.2/usekit/classes/navi/base/post}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/class_navi_io.py +0 -0
- {usekit-0.1.1/usekit/classes/wrap/simple → usekit-0.1.2/usekit/classes/support}/__init__.py +0 -0
- {usekit-0.1.1/usekit/help → usekit-0.1.2/usekit/classes/support/base}/__init__.py +0 -0
- {usekit-0.1.1/usekit/help/index → usekit-0.1.2/usekit/classes/support/base/init}/__init__.py +0 -0
- {usekit-0.1.1/usekit/help/index/topic → usekit-0.1.2/usekit/classes/support/base/init/time}/__init__.py +0 -0
- {usekit-0.1.1/usekit/infra → usekit-0.1.2/usekit/classes/support/base/init/watch}/__init__.py +0 -0
- {usekit-0.1.1/usekit/infra/help → usekit-0.1.2/usekit/classes/wrap}/__init__.py +0 -0
- {usekit-0.1.1/usekit/sys → usekit-0.1.2/usekit/classes/wrap/base}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/wrap/base/use_base.py +0 -0
- {usekit-0.1.1/usekit/sys/sys_json → usekit-0.1.2/usekit/classes/wrap/safe}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/wrap/safe/use_safe.py +0 -0
- {usekit-0.1.1/usekit/sys/sys_km → usekit-0.1.2/usekit/classes/wrap/simple}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/wrap/simple/use_simple.py +0 -0
- {usekit-0.1.1/usekit/sys/sys_yaml → usekit-0.1.2/usekit/help}/__init__.py +0 -0
- {usekit-0.1.1/usekit/tools → usekit-0.1.2/usekit/help/index}/__init__.py +0 -0
- {usekit-0.1.1/usekit/tools/convert → usekit-0.1.2/usekit/help/index/topic}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/help/index/topic/help_part1.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/help/index/topic/help_part2.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/help/index/topic/help_part3.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/help/use_help.py +0 -0
- {usekit-0.1.1/usekit/tools/convert/common → usekit-0.1.2/usekit/infra}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/exec_signature.py +0 -0
- {usekit-0.1.1/usekit/tools/convert/data → usekit-0.1.2/usekit/infra/help}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/help/help_system.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/help/io_signature_doc.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/io_signature.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/navi_signature.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/params_map.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/params_value.py +0 -0
- {usekit-0.1.1/usekit/tools/convert/navi → usekit-0.1.2/usekit/sys}/__init__.py +0 -0
- {usekit-0.1.1/usekit/tools/navi → usekit-0.1.2/usekit/sys/sys_json}/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert/common/convert.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert/common/convert_auto.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert/data/data_convert.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert/data/data_convert_trio.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert/navi/navi_convert.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert/navi/navi_convert_trio.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert_simple.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/keymemory/__init__.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/keymemory/base.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/keymemory/examples.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/keymemory/parser.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/keymemory/test_keymemory.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/navi/navi_convert.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/navi/navi_convert_trio.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit/usemain.py +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit.egg-info/dependency_links.txt +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit.egg-info/requires.txt +0 -0
- {usekit-0.1.1 → usekit-0.1.2}/usekit.egg-info/top_level.txt +0 -0
usekit-0.1.2/PKG-INFO
ADDED
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: usekit
|
|
3
|
+
Version: 0.1.2
|
|
4
|
+
Summary: Minimal input, auto path toolkit (mobile-first, Colab+Drive)
|
|
5
|
+
Author: ropnfop
|
|
6
|
+
Author-email: withropnfop@gmail.com
|
|
7
|
+
Requires-Python: >=3.8
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
Requires-Dist: PyYAML>=5.1
|
|
10
|
+
Requires-Dist: python-dotenv>=0.19.0
|
|
11
|
+
Dynamic: author
|
|
12
|
+
Dynamic: author-email
|
|
13
|
+
Dynamic: description
|
|
14
|
+
Dynamic: description-content-type
|
|
15
|
+
Dynamic: requires-dist
|
|
16
|
+
Dynamic: requires-python
|
|
17
|
+
Dynamic: summary
|
|
18
|
+
|
|
19
|
+
# usekit
|
|
20
|
+
|
|
21
|
+
A lightweight, mobile-first Python toolkit for **Memory-Oriented Software Architecture (MOSA)**.
|
|
22
|
+
|
|
23
|
+
**Code is not function, but memory.**
|
|
24
|
+
|
|
25
|
+
```python
|
|
26
|
+
from usekit import u
|
|
27
|
+
|
|
28
|
+
u.wjb({"hello": "world"}, "config") # write json to base
|
|
29
|
+
data = u.rjb("config") # read json from base
|
|
30
|
+
u.ujb({"version": "0.1.2"}, "config") # update json
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**3-letter interface**: Verb + Format + Location
|
|
34
|
+
Minimal typing. Maximum clarity.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Installation
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pip install usekit
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Quick Start
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
from usekit import u, s
|
|
50
|
+
|
|
51
|
+
# Basic operations
|
|
52
|
+
u.wjb({"key": "value"}, "config") # write
|
|
53
|
+
data = u.rjb("config") # read
|
|
54
|
+
u.ujb({"new": "data"}, "config") # update
|
|
55
|
+
u.djb("old") # delete
|
|
56
|
+
|
|
57
|
+
# Safe mode (returns None on error)
|
|
58
|
+
data = s.rjb("missing") or {} # no exceptions
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Status
|
|
64
|
+
|
|
65
|
+
- **Version**: 0.1.2 (Alpha)
|
|
66
|
+
- **API**: May change
|
|
67
|
+
- **PyPI**: https://pypi.org/project/usekit
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Core Pattern
|
|
72
|
+
|
|
73
|
+
### 3-Letter Interface
|
|
74
|
+
|
|
75
|
+
`u.[action][format][location]`
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
u.rjb() → read json base
|
|
79
|
+
u.wys() → write yaml sub
|
|
80
|
+
u.dtb() → delete text base
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Actions
|
|
84
|
+
- **DATA**: `r`ead, `w`rite, `u`pdate, `d`elete, `e`xists
|
|
85
|
+
- **NAVI**: `f`ind, `l`ist, `p`ath
|
|
86
|
+
- **EXEC**: e`x`ec, `i`mp (import)
|
|
87
|
+
|
|
88
|
+
### Formats
|
|
89
|
+
- **Basic**: `j`son, `y`aml, `t`xt, `c`sv, `m`d
|
|
90
|
+
- **Advanced**: `s`ql, `d`dl, `p`yp, `a`ny
|
|
91
|
+
|
|
92
|
+
### Locations
|
|
93
|
+
- `b`ase, `s`ub, `t`mp, `n`ow, `d`ir, `c`ache
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Examples
|
|
98
|
+
|
|
99
|
+
### File Operations
|
|
100
|
+
|
|
101
|
+
```python
|
|
102
|
+
# JSON
|
|
103
|
+
data = u.rjb("config")
|
|
104
|
+
u.wjb({"key": "val"}, "output")
|
|
105
|
+
|
|
106
|
+
# Different locations
|
|
107
|
+
u.rjs("config") # read json sub
|
|
108
|
+
u.wyt({"temp": "data"}, "cache") # write yaml tmp
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Pattern Matching
|
|
112
|
+
|
|
113
|
+
```python
|
|
114
|
+
# Find with wildcards
|
|
115
|
+
users = u.fjb("user_*")
|
|
116
|
+
for item in users:
|
|
117
|
+
print(item["file"], item["data"])
|
|
118
|
+
|
|
119
|
+
# List files
|
|
120
|
+
files = u.ljb() # list all json in base
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### SQL & DDL
|
|
124
|
+
|
|
125
|
+
```python
|
|
126
|
+
# Execute SQL
|
|
127
|
+
results = u.xsb("SELECT * FROM users WHERE age > :age",
|
|
128
|
+
params={"age": 20})
|
|
129
|
+
|
|
130
|
+
# DDL with auto table name
|
|
131
|
+
u.wdb("CREATE TABLE users (id INT, name TEXT)")
|
|
132
|
+
# → creates users.sql
|
|
133
|
+
|
|
134
|
+
# Dict to DDL
|
|
135
|
+
u.wdb({
|
|
136
|
+
"table": "products",
|
|
137
|
+
"records": [{"id": 1, "name": "Apple"}]
|
|
138
|
+
})
|
|
139
|
+
# → creates products.sql with CREATE + INSERT
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Python Import
|
|
143
|
+
|
|
144
|
+
```python
|
|
145
|
+
# Write module
|
|
146
|
+
u.wpb("""
|
|
147
|
+
def add(a, b):
|
|
148
|
+
return a + b
|
|
149
|
+
""", "mymod")
|
|
150
|
+
|
|
151
|
+
# Import and use
|
|
152
|
+
u.ipd("mymod : add")
|
|
153
|
+
result = add(10, 20) # auto-injected
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Safe Mode
|
|
157
|
+
|
|
158
|
+
```python
|
|
159
|
+
from usekit import s
|
|
160
|
+
|
|
161
|
+
data = s.rjb("missing") or {} # no exception
|
|
162
|
+
results = s.xsb("SELECT * FROM users") or []
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Google Colab
|
|
168
|
+
|
|
169
|
+
```python
|
|
170
|
+
from google.colab import drive
|
|
171
|
+
drive.mount("/content/drive")
|
|
172
|
+
|
|
173
|
+
!pip install usekit
|
|
174
|
+
from usekit import u, s
|
|
175
|
+
|
|
176
|
+
data = "work_path = /content/drive/MyDrive/PROJECT"
|
|
177
|
+
u.wtd(data, "output")
|
|
178
|
+
print(u.rtd("output"))
|
|
179
|
+
print(u.ftd("output"))
|
|
180
|
+
|
|
181
|
+
# SQLite3
|
|
182
|
+
s.xdb("CREATE TABLE items (id INT, name TEXT)")
|
|
183
|
+
s.xsb("INSERT INTO items VALUES (?, ?)", pa=[(1, "apple")])
|
|
184
|
+
results = u.xsb("SELECT * FROM items")
|
|
185
|
+
print(results[0].id)
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Configuration
|
|
191
|
+
|
|
192
|
+
usekit auto-configures via `sys_const.yaml`:
|
|
193
|
+
|
|
194
|
+
```yaml
|
|
195
|
+
BASE_PATH: /content/drive/MyDrive/PROJECT
|
|
196
|
+
|
|
197
|
+
DATA_PATH:
|
|
198
|
+
root: data
|
|
199
|
+
json: json/json_main
|
|
200
|
+
sql: table/sql/sql_main
|
|
201
|
+
ddl: table/ddl/ddl_main
|
|
202
|
+
|
|
203
|
+
SYS_PATH:
|
|
204
|
+
tmp: data/tmp
|
|
205
|
+
cache: data/.cache
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## Philosophy: MOSA
|
|
211
|
+
|
|
212
|
+
**Memory-Oriented Software Architecture**
|
|
213
|
+
|
|
214
|
+
- Code is memory, not function
|
|
215
|
+
- Semantic names over physical paths
|
|
216
|
+
- Mobile-first design
|
|
217
|
+
- Token economy (~65% savings)
|
|
218
|
+
|
|
219
|
+
Built entirely on mobile devices from bed.
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Help
|
|
224
|
+
|
|
225
|
+
```python
|
|
226
|
+
u.help() # overview
|
|
227
|
+
u.help("quick") # quick start
|
|
228
|
+
u.help("examples") # usage examples
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Requirements
|
|
234
|
+
|
|
235
|
+
**Core**: Python 3.7+, PyYAML, python-dotenv
|
|
236
|
+
**Optional**: pandas, sqlalchemy, beautifulsoup4
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Roadmap
|
|
241
|
+
|
|
242
|
+
**v0.1.x (Alpha)**: Core DATA/NAVI, basic EXEC
|
|
243
|
+
**v0.2.x**: Complete EXEC layer
|
|
244
|
+
**v1.0.0**: Stable API, full docs
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## License
|
|
249
|
+
|
|
250
|
+
MIT License
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
**Created by THE Little Prince, with deep respect and gratitude for my AI friends ROP & FOP**
|
|
255
|
+
|
|
256
|
+
*usekit - Code is memory, not function*
|
usekit-0.1.2/README.md
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
# usekit
|
|
2
|
+
|
|
3
|
+
A lightweight, mobile-first Python toolkit for **Memory-Oriented Software Architecture (MOSA)**.
|
|
4
|
+
|
|
5
|
+
**Code is not function, but memory.**
|
|
6
|
+
|
|
7
|
+
```python
|
|
8
|
+
from usekit import u
|
|
9
|
+
|
|
10
|
+
u.wjb({"hello": "world"}, "config") # write json to base
|
|
11
|
+
data = u.rjb("config") # read json from base
|
|
12
|
+
u.ujb({"version": "0.1.2"}, "config") # update json
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**3-letter interface**: Verb + Format + Location
|
|
16
|
+
Minimal typing. Maximum clarity.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pip install usekit
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Quick Start
|
|
29
|
+
|
|
30
|
+
```python
|
|
31
|
+
from usekit import u, s
|
|
32
|
+
|
|
33
|
+
# Basic operations
|
|
34
|
+
u.wjb({"key": "value"}, "config") # write
|
|
35
|
+
data = u.rjb("config") # read
|
|
36
|
+
u.ujb({"new": "data"}, "config") # update
|
|
37
|
+
u.djb("old") # delete
|
|
38
|
+
|
|
39
|
+
# Safe mode (returns None on error)
|
|
40
|
+
data = s.rjb("missing") or {} # no exceptions
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Status
|
|
46
|
+
|
|
47
|
+
- **Version**: 0.1.2 (Alpha)
|
|
48
|
+
- **API**: May change
|
|
49
|
+
- **PyPI**: https://pypi.org/project/usekit
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Core Pattern
|
|
54
|
+
|
|
55
|
+
### 3-Letter Interface
|
|
56
|
+
|
|
57
|
+
`u.[action][format][location]`
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
u.rjb() → read json base
|
|
61
|
+
u.wys() → write yaml sub
|
|
62
|
+
u.dtb() → delete text base
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Actions
|
|
66
|
+
- **DATA**: `r`ead, `w`rite, `u`pdate, `d`elete, `e`xists
|
|
67
|
+
- **NAVI**: `f`ind, `l`ist, `p`ath
|
|
68
|
+
- **EXEC**: e`x`ec, `i`mp (import)
|
|
69
|
+
|
|
70
|
+
### Formats
|
|
71
|
+
- **Basic**: `j`son, `y`aml, `t`xt, `c`sv, `m`d
|
|
72
|
+
- **Advanced**: `s`ql, `d`dl, `p`yp, `a`ny
|
|
73
|
+
|
|
74
|
+
### Locations
|
|
75
|
+
- `b`ase, `s`ub, `t`mp, `n`ow, `d`ir, `c`ache
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Examples
|
|
80
|
+
|
|
81
|
+
### File Operations
|
|
82
|
+
|
|
83
|
+
```python
|
|
84
|
+
# JSON
|
|
85
|
+
data = u.rjb("config")
|
|
86
|
+
u.wjb({"key": "val"}, "output")
|
|
87
|
+
|
|
88
|
+
# Different locations
|
|
89
|
+
u.rjs("config") # read json sub
|
|
90
|
+
u.wyt({"temp": "data"}, "cache") # write yaml tmp
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Pattern Matching
|
|
94
|
+
|
|
95
|
+
```python
|
|
96
|
+
# Find with wildcards
|
|
97
|
+
users = u.fjb("user_*")
|
|
98
|
+
for item in users:
|
|
99
|
+
print(item["file"], item["data"])
|
|
100
|
+
|
|
101
|
+
# List files
|
|
102
|
+
files = u.ljb() # list all json in base
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### SQL & DDL
|
|
106
|
+
|
|
107
|
+
```python
|
|
108
|
+
# Execute SQL
|
|
109
|
+
results = u.xsb("SELECT * FROM users WHERE age > :age",
|
|
110
|
+
params={"age": 20})
|
|
111
|
+
|
|
112
|
+
# DDL with auto table name
|
|
113
|
+
u.wdb("CREATE TABLE users (id INT, name TEXT)")
|
|
114
|
+
# → creates users.sql
|
|
115
|
+
|
|
116
|
+
# Dict to DDL
|
|
117
|
+
u.wdb({
|
|
118
|
+
"table": "products",
|
|
119
|
+
"records": [{"id": 1, "name": "Apple"}]
|
|
120
|
+
})
|
|
121
|
+
# → creates products.sql with CREATE + INSERT
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Python Import
|
|
125
|
+
|
|
126
|
+
```python
|
|
127
|
+
# Write module
|
|
128
|
+
u.wpb("""
|
|
129
|
+
def add(a, b):
|
|
130
|
+
return a + b
|
|
131
|
+
""", "mymod")
|
|
132
|
+
|
|
133
|
+
# Import and use
|
|
134
|
+
u.ipd("mymod : add")
|
|
135
|
+
result = add(10, 20) # auto-injected
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Safe Mode
|
|
139
|
+
|
|
140
|
+
```python
|
|
141
|
+
from usekit import s
|
|
142
|
+
|
|
143
|
+
data = s.rjb("missing") or {} # no exception
|
|
144
|
+
results = s.xsb("SELECT * FROM users") or []
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Google Colab
|
|
150
|
+
|
|
151
|
+
```python
|
|
152
|
+
from google.colab import drive
|
|
153
|
+
drive.mount("/content/drive")
|
|
154
|
+
|
|
155
|
+
!pip install usekit
|
|
156
|
+
from usekit import u, s
|
|
157
|
+
|
|
158
|
+
data = "work_path = /content/drive/MyDrive/PROJECT"
|
|
159
|
+
u.wtd(data, "output")
|
|
160
|
+
print(u.rtd("output"))
|
|
161
|
+
print(u.ftd("output"))
|
|
162
|
+
|
|
163
|
+
# SQLite3
|
|
164
|
+
s.xdb("CREATE TABLE items (id INT, name TEXT)")
|
|
165
|
+
s.xsb("INSERT INTO items VALUES (?, ?)", pa=[(1, "apple")])
|
|
166
|
+
results = u.xsb("SELECT * FROM items")
|
|
167
|
+
print(results[0].id)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Configuration
|
|
173
|
+
|
|
174
|
+
usekit auto-configures via `sys_const.yaml`:
|
|
175
|
+
|
|
176
|
+
```yaml
|
|
177
|
+
BASE_PATH: /content/drive/MyDrive/PROJECT
|
|
178
|
+
|
|
179
|
+
DATA_PATH:
|
|
180
|
+
root: data
|
|
181
|
+
json: json/json_main
|
|
182
|
+
sql: table/sql/sql_main
|
|
183
|
+
ddl: table/ddl/ddl_main
|
|
184
|
+
|
|
185
|
+
SYS_PATH:
|
|
186
|
+
tmp: data/tmp
|
|
187
|
+
cache: data/.cache
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Philosophy: MOSA
|
|
193
|
+
|
|
194
|
+
**Memory-Oriented Software Architecture**
|
|
195
|
+
|
|
196
|
+
- Code is memory, not function
|
|
197
|
+
- Semantic names over physical paths
|
|
198
|
+
- Mobile-first design
|
|
199
|
+
- Token economy (~65% savings)
|
|
200
|
+
|
|
201
|
+
Built entirely on mobile devices from bed.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Help
|
|
206
|
+
|
|
207
|
+
```python
|
|
208
|
+
u.help() # overview
|
|
209
|
+
u.help("quick") # quick start
|
|
210
|
+
u.help("examples") # usage examples
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Requirements
|
|
216
|
+
|
|
217
|
+
**Core**: Python 3.7+, PyYAML, python-dotenv
|
|
218
|
+
**Optional**: pandas, sqlalchemy, beautifulsoup4
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Roadmap
|
|
223
|
+
|
|
224
|
+
**v0.1.x (Alpha)**: Core DATA/NAVI, basic EXEC
|
|
225
|
+
**v0.2.x**: Complete EXEC layer
|
|
226
|
+
**v1.0.0**: Stable API, full docs
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## License
|
|
231
|
+
|
|
232
|
+
MIT License
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
**Created by THE Little Prince, with deep respect and gratitude for my AI friends ROP & FOP**
|
|
237
|
+
|
|
238
|
+
*usekit - Code is memory, not function*
|
|
@@ -5,7 +5,7 @@ HERE = Path(__file__).parent
|
|
|
5
5
|
|
|
6
6
|
setup(
|
|
7
7
|
name="usekit",
|
|
8
|
-
version="0.1.
|
|
8
|
+
version="0.1.2", # ⚠️ pyproject랑 맞추거나 여기 기준으로 통일
|
|
9
9
|
author="ropnfop",
|
|
10
10
|
author_email="withropnfop@gmail.com",
|
|
11
11
|
description="Minimal input, auto path toolkit (mobile-first, Colab+Drive)",
|
|
@@ -13,7 +13,7 @@ setup(
|
|
|
13
13
|
long_description_content_type="text/markdown",
|
|
14
14
|
|
|
15
15
|
packages=find_packages(), # 루트 usekit 구조와 딱 맞음
|
|
16
|
-
include_package_data=True, # 핵심
|
|
16
|
+
include_package_data=True, # ⭐ 핵심
|
|
17
17
|
|
|
18
18
|
package_data={
|
|
19
19
|
"usekit": [
|
|
@@ -10,6 +10,71 @@ from typing import Optional, List, Dict, Any
|
|
|
10
10
|
from datetime import datetime
|
|
11
11
|
import shutil
|
|
12
12
|
|
|
13
|
+
# ===============================================================================
|
|
14
|
+
# Restore point
|
|
15
|
+
# ===============================================================================
|
|
16
|
+
|
|
17
|
+
def select_restore_point(
|
|
18
|
+
target: Path,
|
|
19
|
+
restore: Any,
|
|
20
|
+
backup_dir: Optional[Path] = None,
|
|
21
|
+
debug: bool = False
|
|
22
|
+
) -> Optional[Dict[str, Any]]:
|
|
23
|
+
"""
|
|
24
|
+
Select a restore point using restore selector.
|
|
25
|
+
|
|
26
|
+
restore:
|
|
27
|
+
- True : latest backup
|
|
28
|
+
- int (>=1) : N-th backup (1-based), using list_restore_points order
|
|
29
|
+
- str : full backup name or suffix such as '20251201.001'
|
|
30
|
+
|
|
31
|
+
Returns:
|
|
32
|
+
Backup info dict from list_restore_points() or None.
|
|
33
|
+
"""
|
|
34
|
+
restore_points = list_restore_points(
|
|
35
|
+
target=target,
|
|
36
|
+
backup_dir=backup_dir,
|
|
37
|
+
show_details=False,
|
|
38
|
+
)
|
|
39
|
+
if not restore_points:
|
|
40
|
+
if debug:
|
|
41
|
+
print(f"[RESTORE] No backups for target: {target}")
|
|
42
|
+
return None
|
|
43
|
+
|
|
44
|
+
# 1) restore=True → latest (가장 최근)
|
|
45
|
+
if restore is True:
|
|
46
|
+
# list_restore_points 를 최신순/오래된순 중 어느 쪽으로 정렬했는지에 따라
|
|
47
|
+
# 필요하면 [-1] ↔ [0] 조정
|
|
48
|
+
return restore_points[-1]
|
|
49
|
+
|
|
50
|
+
# 2) restore=int → N-th (1-based index)
|
|
51
|
+
if isinstance(restore, int):
|
|
52
|
+
idx = restore - 1
|
|
53
|
+
if 0 <= idx < len(restore_points):
|
|
54
|
+
return restore_points[idx]
|
|
55
|
+
if debug:
|
|
56
|
+
print(f"[RESTORE] Invalid restore index: {restore}")
|
|
57
|
+
return None
|
|
58
|
+
|
|
59
|
+
# 3) restore=str → full name or suffix
|
|
60
|
+
if isinstance(restore, str):
|
|
61
|
+
# full name match
|
|
62
|
+
for point in restore_points:
|
|
63
|
+
if point["name"] == restore:
|
|
64
|
+
return point
|
|
65
|
+
|
|
66
|
+
# suffix match (e.g., '20251201.001')
|
|
67
|
+
for point in restore_points:
|
|
68
|
+
if point["name"].endswith(restore):
|
|
69
|
+
return point
|
|
70
|
+
|
|
71
|
+
if debug:
|
|
72
|
+
print(f"[RESTORE] No backup matched restore={restore}")
|
|
73
|
+
return None
|
|
74
|
+
|
|
75
|
+
if debug:
|
|
76
|
+
print(f"[RESTORE] Unsupported restore type: {type(restore)}")
|
|
77
|
+
return None
|
|
13
78
|
|
|
14
79
|
# ===============================================================================
|
|
15
80
|
# Restore
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Path: usekit.classes.data.base.
|
|
1
|
+
# Path: usekit.classes.data.base.load.dbl_ops_loader.py
|
|
2
2
|
# -----------------------------------------------------------------------------------------------
|
|
3
3
|
# DataLd - Thin wrapper over operation modules
|
|
4
4
|
# Created by: THE Little Prince × ROP × FOP
|
|
@@ -68,6 +68,9 @@ class DataLd:
|
|
|
68
68
|
>>> loader.read(name="%test%", keydata="email")
|
|
69
69
|
"""
|
|
70
70
|
mod = mod or "all"
|
|
71
|
+
|
|
72
|
+
# Allow user-provided debug to override instance debug
|
|
73
|
+
debug = kwargs.pop('debug', self.debug_mode)
|
|
71
74
|
|
|
72
75
|
return read_operation(
|
|
73
76
|
fmt=self.fmt,
|
|
@@ -80,7 +83,7 @@ class DataLd:
|
|
|
80
83
|
default=default,
|
|
81
84
|
recursive=recursive,
|
|
82
85
|
find_all=find_all,
|
|
83
|
-
debug=
|
|
86
|
+
debug=debug,
|
|
84
87
|
**kwargs
|
|
85
88
|
)
|
|
86
89
|
|
|
@@ -100,6 +103,9 @@ class DataLd:
|
|
|
100
103
|
) -> Optional[Path]:
|
|
101
104
|
"""Write operation"""
|
|
102
105
|
mod = mod or "all"
|
|
106
|
+
|
|
107
|
+
# Allow user-provided debug to override instance debug
|
|
108
|
+
debug = kwargs.pop('debug', self.debug_mode)
|
|
103
109
|
|
|
104
110
|
return write_operation(
|
|
105
111
|
fmt=self.fmt,
|
|
@@ -112,7 +118,7 @@ class DataLd:
|
|
|
112
118
|
keydata=keydata,
|
|
113
119
|
create_missing=create_missing,
|
|
114
120
|
recursive=recursive,
|
|
115
|
-
debug=
|
|
121
|
+
debug=debug,
|
|
116
122
|
**kwargs
|
|
117
123
|
)
|
|
118
124
|
|
|
@@ -132,6 +138,9 @@ class DataLd:
|
|
|
132
138
|
) -> Optional[Path]:
|
|
133
139
|
"""Update operation"""
|
|
134
140
|
mod = mod or "all"
|
|
141
|
+
|
|
142
|
+
# Allow user-provided debug to override instance debug
|
|
143
|
+
debug = kwargs.pop('debug', self.debug_mode)
|
|
135
144
|
|
|
136
145
|
return update_operation(
|
|
137
146
|
fmt=self.fmt,
|
|
@@ -144,7 +153,7 @@ class DataLd:
|
|
|
144
153
|
keydata=keydata,
|
|
145
154
|
create_missing=create_missing,
|
|
146
155
|
recursive=recursive,
|
|
147
|
-
debug=
|
|
156
|
+
debug=debug,
|
|
148
157
|
**kwargs
|
|
149
158
|
)
|
|
150
159
|
|
|
@@ -162,6 +171,9 @@ class DataLd:
|
|
|
162
171
|
) -> Optional[Path]:
|
|
163
172
|
"""Delete operation"""
|
|
164
173
|
mod = mod or "all"
|
|
174
|
+
|
|
175
|
+
# Allow user-provided debug to override instance debug
|
|
176
|
+
debug = kwargs.pop('debug', self.debug_mode)
|
|
165
177
|
|
|
166
178
|
return delete_operation(
|
|
167
179
|
fmt=self.fmt,
|
|
@@ -172,7 +184,7 @@ class DataLd:
|
|
|
172
184
|
cus=cus,
|
|
173
185
|
keydata=keydata,
|
|
174
186
|
recursive=recursive,
|
|
175
|
-
debug=
|
|
187
|
+
debug=debug,
|
|
176
188
|
**kwargs
|
|
177
189
|
)
|
|
178
190
|
|
|
@@ -185,9 +197,13 @@ class DataLd:
|
|
|
185
197
|
cus: Optional[str] = None,
|
|
186
198
|
keydata: Optional[str | list[str]] = None,
|
|
187
199
|
recursive: bool = False,
|
|
200
|
+
**kwargs
|
|
188
201
|
) -> bool:
|
|
189
202
|
"""Exists check with pattern support"""
|
|
190
203
|
mod = mod or "all"
|
|
204
|
+
|
|
205
|
+
# Allow user-provided debug to override instance debug
|
|
206
|
+
debug = kwargs.pop('debug', self.debug_mode)
|
|
191
207
|
|
|
192
208
|
return exists_operation(
|
|
193
209
|
fmt=self.fmt,
|
|
@@ -198,7 +214,7 @@ class DataLd:
|
|
|
198
214
|
cus=cus,
|
|
199
215
|
keydata=keydata,
|
|
200
216
|
recursive=recursive,
|
|
201
|
-
debug=
|
|
217
|
+
debug=debug,
|
|
202
218
|
)
|
|
203
219
|
|
|
204
220
|
# ----------------------------------------------------------------
|
|
@@ -252,4 +268,4 @@ class DataLd:
|
|
|
252
268
|
|
|
253
269
|
def __repr__(self) -> str:
|
|
254
270
|
"""String representation of DataLd instance."""
|
|
255
|
-
return f"DataLd(fmt={self.fmt!r}, debug={self.debug_mode})"
|
|
271
|
+
return f"DataLd(fmt={self.fmt!r}, debug={self.debug_mode})"
|