Skip to content

Releases: gqylpy/gqylpy-dict

1.2.6

27 May 07:17
a73dda3
Compare
Choose a tag to compare
  1. There are no code changes in this update.
  2. Add English documentation.
  3. Update the project introduction.
  4. Added support for Python 3.13 version.

  1. 此次更新无代码上变动。
  2. 增加英文文档。
  3. 更新项目简介。
  4. 增加对 Python3.13 支持。

1.2.5

03 Sep 02:35
Compare
Choose a tag to compare

1.Optimize MasqueradeClass and fix one of the errors.
2.Add support for Python12.

1.优化 MasqueradeClass,并修正其中的一处错误。
2.增加对 Python12 支持。

1.2.4

26 Aug 03:35
Compare
Choose a tag to compare
  1. There are no functional changes in this update.
  2. Update MasqueradeClass, almost redesign.
  3. Adjust the comment information for gdict.__init__ and move it to __new__.
  4. Update the readme file.

1.此次更新没有任何功能上的变化。
2.更新 MasqueradeClass,几乎重新设计。
3.调整 gdict.__init__ 的注释信息,将其移动到 __new__ 下。
4.更新自述文件。

1.2.3

13 May 03:07
Compare
Choose a tag to compare
  1. Fix issue where a new gdict instance was still created even when the value being assigned as a key-value pair was already an instance of gdict. #10
  2. Fix issue where calling copy.copy did not result in a deep copy. #11
  3. Add extensive and detailed functionality descriptions to the gdict class.
  4. Adjust the functionality description of the deepcopy method.
  5. Refactor (improve) the method of obtaining version information in setup by directly extracting it from package.__doc__, rather than opening a file.
  6. Adjust the classification information of the open-source library on PyPi.
  7. Update the README file to provide detailed explanations of the functionality and usage of gdict.

1.修复问题:设置键值对时,如果值已经是 gdict 实例,仍然会创建新的 gdict实例。#10
2.修复问题:调用 copy.copy 得到深度拷贝的结果。#11
3.对 gdict 类添加了大量的详细的功能描述。
4.调整 deepcopy 方法的功能描述。
5.重构(改进) setup 中获得版本信息的方案,直接从 package.__doc__ 中提取,而不再打开文件。
6.调整在PyPi上的开源库分类信息。
7.更新自述文件,详细地讲解 gdict 的功能和用法。

1.2.2

07 May 08:22
Compare
Choose a tag to compare

1.Continue optimize the gdict core (initialization process), remove set and frozenset from the judgment logic of a recursive container instance and now recurse only list and tuple.
2.Improve MasqueradeClass, masquerade the attribute __qualname__.
3.Disable the __slots__ attribute, Because ChatGPT-3.5 argues that the use of __slots__ in gdict is not very necessary and may cause some small performance loss.

1.继续优化 gdict 核心(初始化过程),递归容器实例的判断逻辑中移除 setfrozenset,现在仅递归 listtuple
2.改进 MasqueradeClass,隐藏属性 __qualname__
3.停用 __slots__ 属性来优化性能,因为 ChatGPT-3.5 认为 gdict 中使用 __slots__ 不是很必要,反而可能会造成一些微小的性能损失。

1.2.1

29 Apr 02:24
Compare
Choose a tag to compare

1.Optimize logical blocks for real code imports.
2.Optimize the gdict core again (initialization process). (A new gdict instance is created whether or not it is already a gdict instance.)
3.Perfectly solves the problem of not being able to pickle some instances when calling copy.deepcopy in the gdict instances (add new method deepcopy, incomplete deep copy, only copy internal container class instances). issue: #9.
4.Directly modified the parameter name of the deep series methods keypath -> deepkey (no warning, no compatibility processing, rest assured there will be few compatibility issues).
5.In deepget, no longer use the eval function to try to evaluate for special key (because eval is too slow), use the elif continuous statement instead.
6.Update the readme file, and open source library description information on PyPi.

1.优化真实代码导入的逻辑块。
2.再度优化 gdict 核心(初始化过程),无论是否已经是 gdict 实例,都会创建新的 gdict 实例。
3.在 gdict 实例中完美解决了在调用 copy.deepcopy 时个别实例无法被 pickle 的问题(新增方法 deepcopy,不完全深度拷贝,仅拷贝内部的容器类实例)。问题: #9
4.直接修改了 deep 系列方法的参数名称 keypath -> deepkey(没有警告,也没有做任何兼容,放心几乎不会有兼容性问题)。
5.在 deepget 中,针对特殊的 key 不再使用 eval 函数尝试取值(因为 eval 太慢了),改为使用 elif 连续语句。
6.更新自述文件和PyPi上的开源库简述信息。

1.2

22 Apr 03:58
Compare
Choose a tag to compare
1.2

1.The unique value (the global variable unique) no longer pursue individuality, but adopt a safe generic scheme.
2.Optimized MasqueradeClass, including optimization of exception output, optimization of equality judgment method, and solved the problem that cannot copy and deepcopy correctly after masquerading hash value.
3.Optimized the gdict core (initialization process), including optimizing the data merge scheme, changing the data decomposition scheme (using the original type of data), and no longer shredding iterators.
4.Fixed an issue in update that could cause data clutter.
5.The methods deepget and deepset support manipulating the built-in dict instances, and are therefore about to remove the methods getdeep and setdeep, using the former uniformly.
6.Optimized methods copy, deepget, deepset, deepsetdefault.
7.Parameter annotation and standardization greatly optimized.

1.唯一值(全局变量 unique)不再追求个性,而是采用稳妥的通用方案。
2.优化了 MasqueradeClass,包括优化了异常输出,优化了相等性判断方法,并解决了伪装哈希值后无法正确 copydeepcopy 的问题。
3.优化了 gdict 核心(初始化过程),包括优化了数据合并方案,改变数据分解方案(使用数据的原始类型),并不再分解迭代器。
4.修复了 update 中可能导致数据混乱的问题。
5.方法 deepgetdeepset 支持操作内置 dict 实例,并因此即将移除方法 getdeepsetdeep,统一使用前者。
6.优化方法 copy, deepget, deepset, deepsetdefault
7.参数注解及规范性大幅优化。

1.1.4

15 Jan 09:41
Compare
Choose a tag to compare

1.Improved several annotation semantics.
2.Fixed an incorrect type annotation.

1.1.3

18 Dec 08:36
Compare
Choose a tag to compare

1.Fix the deep copy bug.

1.1.2

11 Dec 11:04
Compare
Choose a tag to compare

1.Fixed the bug that cannot be serialized by yaml.