iChingX 0.0.75
iChingX是一套通用的发开工具套件，类似Django，但iChingX不限于Web开发，也可用于桌面开发。
Requires Python: >=3.6

iChingCore - 通用开发工具套件

=============================



概述

----



iChingCore是一套通用的发开工具套件，类似Django，但iChingCore不限于Web开发，也可用于桌面开发。



项目仓库：https://github.com/oneincloud/iChingX



运行环境

--------



-  操作系统：Windows / MacOS / Linux 都可以运行

-  Python 3.8.10 及以上版本，不支持python2

-  依赖库：psutil

   、python-dotenv、dateparser、python-dateutil、loguru、zerorpc、click



安装方式

--------



源码安装

~~~~~~~~



直接远程安装github上的最新版本



.. code:: bash



   pip install git+https://github.com/oneincloud/iChingX



.. code:: bash



   git clone https://github.com/oneincloud/iChingX



   cd iChingX



   python setup.py install



TODO

----



-  [x] iching命令行工具

-  [ ] 数据库模块封装，支持SQLite、MySQL、MongoDB、Redis



功能组件

--------



Env 环境变量组件

~~~~~~~~~~~~~~~~



运行环境常量

^^^^^^^^^^^^



+-----------------------------------+-----------------------------------+

| 配置参数                          | 描述                              |

+===================================+===================================+

| PROJECT_NAME                      | 项目名称，英文，合法的文件名称    |

+-----------------------------------+-----------------------------------+

| APP_NAME                          | 应用名称，用于显示的名称，未设置时与PROJECT_NAME相同 |

+-----------------------------------+-----------------------------------+

| VERSION                           | 应用版本号                        |

+-----------------------------------+-----------------------------------+

| IS_FROZEN                         | 当前应用打包状态                  |

+-----------------------------------+-----------------------------------+

| PRODUCTION                        | 是否生产环境，如果同时存在\ ``PRODUCTION``\ 、\ |

|                                   |  ``DEBUG``\ 参数时，debug优先，否则系统自动判断 |

+-----------------------------------+-----------------------------------+

| DEBUG                             | 是否开启调试模式，设置为TRUE强制开启调式模式 |

+-----------------------------------+-----------------------------------+



应用目录

^^^^^^^^



+--------------+--------------------------------------------------------------+

| 目录         | 描述                                                         |

+==============+==============================================================+

| ROOT_PATH    | [系统]项目根目录，打包后为exe当前执行目录                    |

+--------------+--------------------------------------------------------------+

| SOURCE_PATH  | [系统]源代码根目录，打包后为解包临时目录                     |

+--------------+--------------------------------------------------------------+

| HOME_PATH    | [系统]系统用户目录                                           |

+--------------+--------------------------------------------------------------+

| CONFIG_PATH  | 系统配置文件目录，建议与项目编译打包发布，可通过.env配置覆盖 |

+--------------+--------------------------------------------------------------+

| RUNTIME_PATH | 运行时目录（缓存、临时文件、日志）                           |

+--------------+--------------------------------------------------------------+

| STORAGE_PATH | 存储目录，数据存放，默认\ ``runtime/storage``\ 目录          |

+--------------+--------------------------------------------------------------+

| CACHE_PATH   | 缓存目录，默认\ ``runtime/cache``\ 目录                      |

+--------------+--------------------------------------------------------------+

| LOG_PATH     | 日志目录，默认\ ``runtime/log``\ 目录                        |

+--------------+--------------------------------------------------------------+

| TMP_PATH     | 临时目录，默认\ ``runtime/tmp``\ 目录                        |

+--------------+--------------------------------------------------------------+



获取、写入配置

^^^^^^^^^^^^^^



-  Env.get(key,default = None) 获取环境变量，key不区分大小写



-  Env.set(key,val) 设置环境变量，key不区分大小写



多进程共享支持

^^^^^^^^^^^^^^



多进程应用需要在创建子进程时调用\ ``Env.useMultiprocessingSupport()``\ 方法。



Config 配置组件

~~~~~~~~~~~~~~~



可通过环境变量\ ``CONFIG_PATH``\ 指定配置文件目录。



Log 日志组件

~~~~~~~~~~~~



快速使用

^^^^^^^^



日志组件使用\ `loguru <https://github.com/Delgan/loguru>`__\ ，可通过配置文件\ ``env.ini``\ 设置变量\ ``LOG_LEVEL``\ ，配置项如下：



+----------+--------+----------------+

| 级别     | 级别值 | 方法           |

+==========+========+================+

| TRACE    | 5      | Log.trace()    |

+----------+--------+----------------+

| DEBUG    | 10     | Log.debug()    |

+----------+--------+----------------+

| INFO     | 20     | Log.info()     |

+----------+--------+----------------+

| SUCCESS  | 25     | Log.success()  |

+----------+--------+----------------+

| WARNING  | 30     | Log.warning()  |

+----------+--------+----------------+

| ERROR    | 40     | Log.error()    |

+----------+--------+----------------+

| CRITICAL | 50     | Log.critical() |

+----------+--------+----------------+



``LOG_LEVEL``\ 设置为\ ``None``\ 时，默认关闭所有日志输出。



高级配置

~~~~~~~~



输出到文件

^^^^^^^^^^



自定义格式

^^^^^^^^^^



Arr 数组组件

~~~~~~~~~~~~



iching命令行工具

~~~~~~~~~~~~~~~~



``iching``\ 命令行工具可辅助应用的构建、测试、发布。



查看iching框架版本

^^^^^^^^^^^^^^^^^^



.. code:: bash



   iching -V



输出显示：



::



   iChing: v0.0.13