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.
Files changed (327) hide show
  1. usekit-0.1.2/PKG-INFO +256 -0
  2. usekit-0.1.2/README.md +238 -0
  3. {usekit-0.1.1 → usekit-0.1.2}/setup.py +2 -2
  4. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/fileops/helper_restore.py +65 -0
  5. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_path.py +1 -1
  6. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/dbl_ops_loader.py +23 -7
  7. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/dbl_write.py +24 -5
  8. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_write_sub.py +29 -0
  9. usekit-0.1.2/usekit/classes/data/base/post/parser/parser_ddl.py +579 -0
  10. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_pyp.py +20 -4
  11. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_yaml.py +126 -10
  12. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser_factory.py +1 -1
  13. usekit-0.1.2/usekit/classes/data/base/post/sub/ddl/auto_name.py +271 -0
  14. usekit-0.1.2/usekit/classes/data/base/post/sub/parser_ddl_sub.py +356 -0
  15. usekit-0.1.2/usekit/classes/data/base/post/sub/parser_km_sub.py +496 -0
  16. usekit-0.1.2/usekit/classes/data/base/post/sub/parser_pyp_sub.py +79 -0
  17. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/sub/parser_txt_sub.py +2 -2
  18. usekit-0.1.2/usekit/classes/data/base/post/sub/pyp/__init__.py +73 -0
  19. usekit-0.1.2/usekit/classes/data/base/post/sub/pyp/build.py +384 -0
  20. usekit-0.1.2/usekit/classes/data/base/post/sub/pyp/extract.py +664 -0
  21. usekit-0.1.2/usekit/classes/data/base/post/sub/pyp/format.py +267 -0
  22. usekit-0.1.2/usekit/classes/exec/base/init/wrap/ddl/ebi_class_ddl.py +88 -0
  23. usekit-0.1.2/usekit/classes/exec/base/init/wrap/ddl/ebi_simple_ddl.py +221 -0
  24. usekit-0.1.2/usekit/classes/exec/base/init/wrap/ddl/ebi_wrap_ddl.py +141 -0
  25. usekit-0.1.2/usekit/classes/exec/base/init/wrap/pyp/ebi_simple_pyp.py +221 -0
  26. usekit-0.1.2/usekit/classes/exec/base/init/wrap/sql/ebi_class_sql.py +88 -0
  27. usekit-0.1.2/usekit/classes/exec/base/init/wrap/sql/ebi_simple_sql.py +221 -0
  28. usekit-0.1.2/usekit/classes/exec/base/init/wrap/sql/ebi_wrap_sql.py +141 -0
  29. usekit-0.1.2/usekit/classes/exec/base/load/ddl/ebl_exec_ddl.py +223 -0
  30. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/sub/ebl_import_sub.py +3 -3
  31. usekit-0.1.2/usekit/classes/exec/base/post/act/ddl/ebp_exec_ddl.py +294 -0
  32. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/post/act/ebp_import_pyp.py +268 -5
  33. usekit-0.1.2/usekit/classes/exec/base/post/act/pyp/ebp_import_pyp.py +793 -0
  34. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/post/act/sql/ebp_exec_sql.py +111 -12
  35. usekit-0.1.2/usekit/classes/support/base/init/time/sbi_time.py +314 -0
  36. usekit-0.1.2/usekit/classes/support/base/init/watch/sbi_watch.py +310 -0
  37. {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/params_alias.py +4 -0
  38. usekit-0.1.2/usekit/sys/sys_km/__init__.py +5 -0
  39. usekit-0.1.2/usekit/sys/sys_yaml/__init__.py +5 -0
  40. {usekit-0.1.1 → usekit-0.1.2}/usekit/sys/sys_yaml/sys_const.yaml +9 -2
  41. usekit-0.1.2/usekit/tools/__init__.py +5 -0
  42. usekit-0.1.2/usekit/tools/convert/__init__.py +5 -0
  43. usekit-0.1.2/usekit/tools/convert/common/__init__.py +5 -0
  44. usekit-0.1.2/usekit/tools/convert/data/__init__.py +5 -0
  45. usekit-0.1.2/usekit/tools/convert/navi/__init__.py +5 -0
  46. usekit-0.1.2/usekit/tools/navi/__init__.py +5 -0
  47. usekit-0.1.2/usekit.egg-info/PKG-INFO +256 -0
  48. {usekit-0.1.1 → usekit-0.1.2}/usekit.egg-info/SOURCES.txt +29 -15
  49. usekit-0.1.1/PKG-INFO +0 -366
  50. usekit-0.1.1/README.md +0 -348
  51. usekit-0.1.1/usekit/classes/data/base/parse/parser_any.py +0 -31
  52. usekit-0.1.1/usekit/classes/data/base/parse/parser_csv.py +0 -281
  53. usekit-0.1.1/usekit/classes/data/base/parse/parser_ddl.py +0 -556
  54. usekit-0.1.1/usekit/classes/data/base/parse/parser_dml.py +0 -31
  55. usekit-0.1.1/usekit/classes/data/base/parse/parser_factory.py +0 -157
  56. usekit-0.1.1/usekit/classes/data/base/parse/parser_md.py +0 -272
  57. usekit-0.1.1/usekit/classes/data/base/parse/parser_pkl.py +0 -207
  58. usekit-0.1.1/usekit/classes/data/base/parse/parser_pyp.py +0 -188
  59. usekit-0.1.1/usekit/classes/data/base/parse/parser_txt.py +0 -808
  60. usekit-0.1.1/usekit/classes/data/base/parse/parser_yaml.py +0 -426
  61. usekit-0.1.1/usekit/classes/data/base/post/parser/parser_ddl.py +0 -563
  62. usekit-0.1.1/usekit/classes/data/base/post/parser/parser_json.py +0 -653
  63. usekit-0.1.1/usekit/classes/data/base/post/parser/parser_sql.py +0 -619
  64. usekit-0.1.1/usekit/classes/data/base/post/sub/parser_pyp_sub.py +0 -970
  65. usekit-0.1.1/usekit/classes/exec/base/post/act/ebp_exec_pyp.py +0 -302
  66. usekit-0.1.1/usekit.egg-info/PKG-INFO +0 -366
  67. {usekit-0.1.1 → usekit-0.1.2}/MANIFEST.in +0 -0
  68. {usekit-0.1.1 → usekit-0.1.2}/setup.cfg +0 -0
  69. {usekit-0.1.1 → usekit-0.1.2}/usekit/.env.example +0 -0
  70. {usekit-0.1.1 → usekit-0.1.2}/usekit/__init__.py +0 -0
  71. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/__init__.py +0 -0
  72. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/__init__.py +0 -0
  73. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/errors/__init__.py +0 -0
  74. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/errors/helper_debug.py +0 -0
  75. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/errors/helper_errors.py +0 -0
  76. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/errors/helper_safe.py +0 -0
  77. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/errors/helper_setupdebug.py +0 -0
  78. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/fileops/__init__.py +0 -0
  79. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/fileops/helper_backup.py +0 -0
  80. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/fileops/helper_diff.py +0 -0
  81. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/fileops/helper_dotdict.py +0 -0
  82. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/fileops/helper_dryrun.py +0 -0
  83. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/init/__init__.py +0 -0
  84. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/init/helper_lazy.py +0 -0
  85. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/init/helper_normalize.py +0 -0
  86. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/keymap/__init__.py +0 -0
  87. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/keymap/helper_keydata_path.py +0 -0
  88. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/__init__.py +0 -0
  89. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_const.py +0 -0
  90. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_const_line.py +0 -0
  91. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_data_cache.py +0 -0
  92. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_format.py +0 -0
  93. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_keydata_path.py +0 -0
  94. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_keypath.py +0 -0
  95. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_parse_pattern.py +0 -0
  96. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_path_cache.py +0 -0
  97. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_search.py +0 -0
  98. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_timer.py +0 -0
  99. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/common/utils/helper_treecache.py +0 -0
  100. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/core/__init__.py +0 -0
  101. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/core/env/__init__.py +0 -0
  102. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/core/env/class_env.py +0 -0
  103. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/core/env/loader_base_path.py +0 -0
  104. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/core/env/loader_env.py +0 -0
  105. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/__init__.py +0 -0
  106. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/__init__.py +0 -0
  107. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/__init__.py +0 -0
  108. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/__init__.py +0 -0
  109. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/any/__init__.py +0 -0
  110. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/any/dbi_class_any.py +0 -0
  111. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/any/dbi_simple_any.py +0 -0
  112. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/any/dbi_wrap_any.py +0 -0
  113. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/common/__init__.py +0 -0
  114. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/common/dbi_common_wrap.py +0 -0
  115. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/csv/__init__.py +0 -0
  116. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/csv/dbi_class_csv.py +0 -0
  117. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/csv/dbi_simple_csv.py +0 -0
  118. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/csv/dbi_wrap_csv.py +0 -0
  119. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/ddl/__init__.py +0 -0
  120. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/ddl/dbi_class_ddl.py +0 -0
  121. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/ddl/dbi_simple_ddl.py +0 -0
  122. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/ddl/dbi_wrap_ddl.py +0 -0
  123. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/json/__init__.py +0 -0
  124. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/json/dbi_class_json.py +0 -0
  125. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/json/dbi_simple_json.py +0 -0
  126. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/json/dbi_wrap_json.py +0 -0
  127. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/km/__init__.py +0 -0
  128. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/km/dbi_class_km.py +0 -0
  129. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/km/dbi_simple_km.py +0 -0
  130. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/km/dbi_wrap_km.py +0 -0
  131. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/md/__init__.py +0 -0
  132. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/md/dbi_class_md.py +0 -0
  133. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/md/dbi_simple_md.py +0 -0
  134. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/md/dbi_wrap_md.py +0 -0
  135. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/pyp/__init__.py +0 -0
  136. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/pyp/dbi_class_pyp.py +0 -0
  137. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/pyp/dbi_simple_pyp.py +0 -0
  138. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/pyp/dbi_wrap_pyp.py +0 -0
  139. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/sql/__init__.py +0 -0
  140. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/sql/dbi_class_sql.py +0 -0
  141. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/sql/dbi_simple_sql.py +0 -0
  142. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/sql/dbi_wrap_sql.py +0 -0
  143. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/txt/__init__.py +0 -0
  144. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/txt/dbi_class_txt.py +0 -0
  145. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/txt/dbi_simple_txt.py +0 -0
  146. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/txt/dbi_wrap_txt.py +0 -0
  147. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/yaml/__init__.py +0 -0
  148. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/yaml/dbi_class_yaml.py +0 -0
  149. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/yaml/dbi_simple_yaml.py +0 -0
  150. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/init/wrap/yaml/dbi_wrap_yaml.py +0 -0
  151. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/__init__.py +0 -0
  152. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/__init__.py +0 -0
  153. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/dbl_a_index_ops.py +0 -0
  154. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/dbl_delete.py +0 -0
  155. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/dbl_exists.py +0 -0
  156. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/dbl_read.py +0 -0
  157. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/ops/dbl_update.py +0 -0
  158. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/__init__.py +0 -0
  159. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_a_index_sub.py +0 -0
  160. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_common_sub.py +0 -0
  161. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_delete_sub.py +0 -0
  162. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_exists_sub.py +0 -0
  163. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_read_sub.py +0 -0
  164. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/load/sub/dbl_update_sub.py +0 -0
  165. {usekit-0.1.1/usekit/classes/data/base/parse → usekit-0.1.2/usekit/classes/data/base/post}/__init__.py +0 -0
  166. {usekit-0.1.1/usekit/classes/data/base/post → usekit-0.1.2/usekit/classes/data/base/post/parser}/__init__.py +0 -0
  167. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_any.py +0 -0
  168. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_csv.py +0 -0
  169. {usekit-0.1.1/usekit/classes/data/base/parse → usekit-0.1.2/usekit/classes/data/base/post/parser}/parser_json.py +0 -0
  170. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_km.py +0 -0
  171. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_md.py +0 -0
  172. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_pkl.py +0 -0
  173. {usekit-0.1.1/usekit/classes/data/base/parse → usekit-0.1.2/usekit/classes/data/base/post/parser}/parser_sql.py +0 -0
  174. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/parser/parser_txt.py +0 -0
  175. {usekit-0.1.1/usekit/classes/data/base/post/parser → usekit-0.1.2/usekit/classes/data/base/post/sub}/__init__.py +0 -0
  176. {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
  177. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/sub/parser_csv_sub.py +0 -0
  178. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/sub/parser_json_sub.py +0 -0
  179. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/sub/parser_pkl_sub.py +0 -0
  180. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/sub/parser_sql_sub.py +0 -0
  181. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/base/post/sub/parser_yaml_sub.py +0 -0
  182. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/class_data_io.py +0 -0
  183. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/data/class_data_sp.py +0 -0
  184. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/__init__.py +0 -0
  185. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/__init__.py +0 -0
  186. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/init/__init__.py +0 -0
  187. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/init/wrap/__init__.py +0 -0
  188. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/init/wrap/common/__init__.py +0 -0
  189. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/init/wrap/common/ebi_common_wrap.py +0 -0
  190. {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
  191. {usekit-0.1.1/usekit/classes/exec/base/load → usekit-0.1.2/usekit/classes/exec/base/init/wrap/pyp}/__init__.py +0 -0
  192. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/init/wrap/pyp/ebi_class_pyp.py +0 -0
  193. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/init/wrap/pyp/ebi_wrap_pyp.py +0 -0
  194. {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
  195. {usekit-0.1.1/usekit/classes/exec/base/load/pyp → usekit-0.1.2/usekit/classes/exec/base/load}/__init__.py +0 -0
  196. {usekit-0.1.1/usekit/classes/exec/base/load/sql → usekit-0.1.2/usekit/classes/exec/base/load/ddl}/__init__.py +0 -0
  197. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ebl_ops_loader.py +0 -0
  198. {usekit-0.1.1/usekit/classes/exec/base/load/sub → usekit-0.1.2/usekit/classes/exec/base/load/ops}/__init__.py +0 -0
  199. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ops/ebl_a_index_ops.py +0 -0
  200. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ops/ebl_boot.py +0 -0
  201. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ops/ebl_close.py +0 -0
  202. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ops/ebl_exec.py +0 -0
  203. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ops/ebl_factory.py +0 -0
  204. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/ops/ebl_import.py +0 -0
  205. {usekit-0.1.1/usekit/classes/exec/base/post → usekit-0.1.2/usekit/classes/exec/base/load/pyp}/__init__.py +0 -0
  206. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/pyp/ebl_exec_pyp.py +0 -0
  207. {usekit-0.1.1/usekit/classes/exec/base/post/act → usekit-0.1.2/usekit/classes/exec/base/load/sql}/__init__.py +0 -0
  208. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/sql/ebl_exec_sql.py +0 -0
  209. {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
  210. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/load/sub/ebl_exec_sub.py +0 -0
  211. {usekit-0.1.1/usekit/classes/exec/base/post/act/sql → usekit-0.1.2/usekit/classes/exec/base/post}/__init__.py +0 -0
  212. {usekit-0.1.1/usekit/classes/exec/base/post/sub → usekit-0.1.2/usekit/classes/exec/base/post/act}/__init__.py +0 -0
  213. {usekit-0.1.1/usekit/classes/navi → usekit-0.1.2/usekit/classes/exec/base/post/act/ddl}/__init__.py +0 -0
  214. {usekit-0.1.1/usekit/classes/navi/base → usekit-0.1.2/usekit/classes/exec/base/post/act/pyp}/__init__.py +0 -0
  215. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/base/post/act/pyp/ebp_exec_pyp.py +0 -0
  216. {usekit-0.1.1/usekit/classes/navi/base/init → usekit-0.1.2/usekit/classes/exec/base/post/act/sql}/__init__.py +0 -0
  217. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/exec/class_exec_io.py +0 -0
  218. {usekit-0.1.1/usekit/classes/navi/base/init/wrap → usekit-0.1.2/usekit/classes/navi}/__init__.py +0 -0
  219. {usekit-0.1.1/usekit/classes/navi/base/init/wrap/any → usekit-0.1.2/usekit/classes/navi/base}/__init__.py +0 -0
  220. {usekit-0.1.1/usekit/classes/navi/base/init/wrap/common → usekit-0.1.2/usekit/classes/navi/base/init}/__init__.py +0 -0
  221. {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
  222. {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
  223. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/any/nbi_class_any.py +0 -0
  224. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/any/nbi_simple_any.py +0 -0
  225. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/any/nbi_wrap_any.py +0 -0
  226. {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
  227. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/common/nbi_common_wrap.py +0 -0
  228. {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
  229. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/csv/nbi_class_csv.py +0 -0
  230. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/csv/nbi_simple_csv.py +0 -0
  231. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/csv/nbi_wrap_csv.py +0 -0
  232. {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
  233. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/ddl/nbi_class_ddl.py +0 -0
  234. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/ddl/nbi_simple_ddl.py +0 -0
  235. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/ddl/nbi_wrap_ddl.py +0 -0
  236. {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
  237. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/json/nbi_class_json.py +0 -0
  238. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/json/nbi_simple_json.py +0 -0
  239. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/json/nbi_wrap_json.py +0 -0
  240. {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
  241. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/km/nbi_class_km.py +0 -0
  242. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/km/nbi_simple_km.py +0 -0
  243. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/km/nbi_wrap_km.py +0 -0
  244. {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
  245. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/md/nbi_class_md.py +0 -0
  246. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/md/nbi_simple_md.py +0 -0
  247. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/md/nbi_wrap_md.py +0 -0
  248. {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
  249. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/pyp/nbi_class_pyp.py +0 -0
  250. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/pyp/nbi_simple_pyp.py +0 -0
  251. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/pyp/nbi_wrap_pyp.py +0 -0
  252. {usekit-0.1.1/usekit/classes/navi/base/load → usekit-0.1.2/usekit/classes/navi/base/init/wrap/sql}/__init__.py +0 -0
  253. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/sql/nbi_class_sql.py +0 -0
  254. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/sql/nbi_simple_sql.py +0 -0
  255. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/sql/nbi_wrap_sql.py +0 -0
  256. {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
  257. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/txt/nbi_class_txt.py +0 -0
  258. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/txt/nbi_simple_txt.py +0 -0
  259. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/txt/nbi_wrap_txt.py +0 -0
  260. {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
  261. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/yaml/nbi_class_yaml.py +0 -0
  262. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/yaml/nbi_simple_yaml.py +0 -0
  263. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/init/wrap/yaml/nbi_wrap_yaml.py +0 -0
  264. {usekit-0.1.1/usekit/classes/navi/base/post → usekit-0.1.2/usekit/classes/navi/base/load}/__init__.py +0 -0
  265. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/nbl_ops_loader.py +0 -0
  266. {usekit-0.1.1/usekit/classes/wrap → usekit-0.1.2/usekit/classes/navi/base/load/ops}/__init__.py +0 -0
  267. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/ops/nbl_a_index_ops.py +0 -0
  268. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/ops/nbl_find.py +0 -0
  269. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/ops/nbl_get.py +0 -0
  270. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/ops/nbl_list.py +0 -0
  271. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/ops/nbl_path.py +0 -0
  272. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/ops/nbl_set.py +0 -0
  273. {usekit-0.1.1/usekit/classes/wrap/base → usekit-0.1.2/usekit/classes/navi/base/load/sub}/__init__.py +0 -0
  274. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/sub/nbl_common_sub.py +0 -0
  275. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/sub/nbl_find_sub.py +0 -0
  276. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/sub/nbl_path_sub.py +0 -0
  277. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/base/load/sub/nbl_set_sub.py +0 -0
  278. {usekit-0.1.1/usekit/classes/wrap/safe → usekit-0.1.2/usekit/classes/navi/base/post}/__init__.py +0 -0
  279. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/navi/class_navi_io.py +0 -0
  280. {usekit-0.1.1/usekit/classes/wrap/simple → usekit-0.1.2/usekit/classes/support}/__init__.py +0 -0
  281. {usekit-0.1.1/usekit/help → usekit-0.1.2/usekit/classes/support/base}/__init__.py +0 -0
  282. {usekit-0.1.1/usekit/help/index → usekit-0.1.2/usekit/classes/support/base/init}/__init__.py +0 -0
  283. {usekit-0.1.1/usekit/help/index/topic → usekit-0.1.2/usekit/classes/support/base/init/time}/__init__.py +0 -0
  284. {usekit-0.1.1/usekit/infra → usekit-0.1.2/usekit/classes/support/base/init/watch}/__init__.py +0 -0
  285. {usekit-0.1.1/usekit/infra/help → usekit-0.1.2/usekit/classes/wrap}/__init__.py +0 -0
  286. {usekit-0.1.1/usekit/sys → usekit-0.1.2/usekit/classes/wrap/base}/__init__.py +0 -0
  287. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/wrap/base/use_base.py +0 -0
  288. {usekit-0.1.1/usekit/sys/sys_json → usekit-0.1.2/usekit/classes/wrap/safe}/__init__.py +0 -0
  289. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/wrap/safe/use_safe.py +0 -0
  290. {usekit-0.1.1/usekit/sys/sys_km → usekit-0.1.2/usekit/classes/wrap/simple}/__init__.py +0 -0
  291. {usekit-0.1.1 → usekit-0.1.2}/usekit/classes/wrap/simple/use_simple.py +0 -0
  292. {usekit-0.1.1/usekit/sys/sys_yaml → usekit-0.1.2/usekit/help}/__init__.py +0 -0
  293. {usekit-0.1.1/usekit/tools → usekit-0.1.2/usekit/help/index}/__init__.py +0 -0
  294. {usekit-0.1.1/usekit/tools/convert → usekit-0.1.2/usekit/help/index/topic}/__init__.py +0 -0
  295. {usekit-0.1.1 → usekit-0.1.2}/usekit/help/index/topic/help_part1.py +0 -0
  296. {usekit-0.1.1 → usekit-0.1.2}/usekit/help/index/topic/help_part2.py +0 -0
  297. {usekit-0.1.1 → usekit-0.1.2}/usekit/help/index/topic/help_part3.py +0 -0
  298. {usekit-0.1.1 → usekit-0.1.2}/usekit/help/use_help.py +0 -0
  299. {usekit-0.1.1/usekit/tools/convert/common → usekit-0.1.2/usekit/infra}/__init__.py +0 -0
  300. {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/exec_signature.py +0 -0
  301. {usekit-0.1.1/usekit/tools/convert/data → usekit-0.1.2/usekit/infra/help}/__init__.py +0 -0
  302. {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/help/help_system.py +0 -0
  303. {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/help/io_signature_doc.py +0 -0
  304. {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/io_signature.py +0 -0
  305. {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/navi_signature.py +0 -0
  306. {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/params_map.py +0 -0
  307. {usekit-0.1.1 → usekit-0.1.2}/usekit/infra/params_value.py +0 -0
  308. {usekit-0.1.1/usekit/tools/convert/navi → usekit-0.1.2/usekit/sys}/__init__.py +0 -0
  309. {usekit-0.1.1/usekit/tools/navi → usekit-0.1.2/usekit/sys/sys_json}/__init__.py +0 -0
  310. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert/common/convert.py +0 -0
  311. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert/common/convert_auto.py +0 -0
  312. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert/data/data_convert.py +0 -0
  313. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert/data/data_convert_trio.py +0 -0
  314. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert/navi/navi_convert.py +0 -0
  315. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert/navi/navi_convert_trio.py +0 -0
  316. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/convert_simple.py +0 -0
  317. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/keymemory/__init__.py +0 -0
  318. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/keymemory/base.py +0 -0
  319. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/keymemory/examples.py +0 -0
  320. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/keymemory/parser.py +0 -0
  321. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/keymemory/test_keymemory.py +0 -0
  322. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/navi/navi_convert.py +0 -0
  323. {usekit-0.1.1 → usekit-0.1.2}/usekit/tools/navi/navi_convert_trio.py +0 -0
  324. {usekit-0.1.1 → usekit-0.1.2}/usekit/usemain.py +0 -0
  325. {usekit-0.1.1 → usekit-0.1.2}/usekit.egg-info/dependency_links.txt +0 -0
  326. {usekit-0.1.1 → usekit-0.1.2}/usekit.egg-info/requires.txt +0 -0
  327. {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.1", # pyproject랑 맞추거나 여기 기준으로 통일
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
@@ -193,7 +193,7 @@ def get_smart_path(
193
193
 
194
194
  if fmt == "any":
195
195
  if mod in ext_map:
196
- fmt = mod
196
+ fmt = mod
197
197
  fmt_set = "pkl" if loc== "cache" else mod
198
198
  fmt_actual = get_format_set(fmt_set)
199
199
  else:
@@ -1,4 +1,4 @@
1
- # Path: usekit.classes.data.base.base_loader.loader_data.py
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=self.debug_mode,
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=self.debug_mode,
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=self.debug_mode,
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=self.debug_mode,
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=self.debug_mode,
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})"