Skip to main content

custard easy to learn, fast to code, ready for production

Project description

📚简介

custard是一个小而全的Python工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Python拥有函数式语言般的优雅,让Python语言也可以“甜甜的”。

custard中的工具方法来自每个用户的精雕细琢,它涵盖了Python开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;

custard是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。

🍺custard如何改变我们的coding方式

custard的目标是使用一个工具方法代替一段复杂代码,从而最大限度的避免“复制粘贴”代码的问题,彻底改变我们写代码的方式。

以计算MD5为例:

  • 👴【以前】打开搜索引擎 -> 搜“Python MD5加密” -> 打开某篇博客-> 复制粘贴 -> 改改好用
  • 👦【现在】引入custard -> Kerberos.md5_encode()

custard的存在就是为了减少代码搜索成本,避免网络上参差不齐的代码出现导致的bug。


🛠️包含组件

一个Python基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件:

模块 介绍
custard-cache 简单缓存实现
custard-core 核心,包括Bean操作、各种Util等
custard-cron 定时任务模块,提供类Crontab表达式的定时任务
custard-crypto 加密解密模块,提供对称、非对称和摘要算法封装
custard-db JDBC封装后的数据操作,基于ActiveRecord思想
custard-dfa 基于DFA模型的多关键字查找
custard-extra 扩展模块,对第三方封装(模板引擎、邮件、Servlet、二维码、Emoji、FTP、分词等)
custard-http 基于HttpUrlConnection的Http客户端封装
custard-log 自动识别日志实现的日志门面
custard-script 脚本执行封装,例如Pythonscript
custard-hitfilter 敏感词过滤器
custard-limiter 拦截器
custard-time 日期
custard-setting 功能更强大的Setting配置文件和Properties封装
custard-system 系统参数调用封装(JVM信息等)
custard-json JSON实现
custard-kaptcha 图片验证码实现
custard-poi 针对POI中Excel和Word的封装
custard-socket 基于Python的NIO和AIO的Socket封装
custard-jwt JSON Web Token (JWT)封装实现

可以根据需求对每个模块单独引入,也可以通过引入custard-all方式引入所有模块。


📝中文文档


🚽编译安装

访问custard的Github主页:https://github.com/kamalyes/custard 下载整个项目源码(v2-master或v2-dev分支都可)然后进入custard项目目录执行:

pip3 install -r requirements.txt -i https://pypi.douban.com/simple

python3 setup.py install

然后就可以使用引入了。


🏗️添砖加瓦

🎋分支说明

custard的源码分为两个分支,功能如下:

分支 作用
v2-master 主分支,release版本使用的分支,与中央库提交的jar一致,不接收任何pr或修改
v2-dev 开发分支,默认为下个版本的SNAPSHOT版本,接受修改或pr

🐞提供bug反馈或建议

提交问题反馈请说明正在使用的JDK版本呢、custard版本和相关依赖库版本。

🧬贡献代码的步骤

  1. 在Gitee或者Github上fork项目到自己的repo
  2. 把fork过去的项目也就是你的项目clone到你的本地
  3. 修改代码(记得一定要修改v2-dev分支)
  4. commit后push到自己的库(v2-dev分支)
  5. 登录Gitee或Github在你首页可以看到一个 pull request 按钮,点击它,填写一些说明信息,然后提交即可。
  6. 等待维护者合并

📐PR遵照的原则

custard欢迎任何人为custard添砖加瓦,贡献代码,不过维护者是一个强迫症患者,为了照顾病人,需要提交的pr(pull request)符合一些规范,规范如下:

  1. 注释完备,尤其每个新增的方法应按照Python文档规范标明方法说明、参数说明、返回值说明等信息,必要时请添加单元测试,如果愿意,也可以加上你的大名。
  2. custard的缩进按照IDEA 默认(tab)缩进,所以请遵守(不要和我争执空格与tab的问题,这是一个病人的习惯)。
  3. 新加的方法不要使用第三方库的方法,custard遵循无依赖原则(除非在extra模块中加方法工具)。
  4. 请pull request到v2-dev分支。custard在5.x版本后使用了新的分支:v2-master是主分支,表示已经发布中央库的版本,这个分支不允许pr,也不允许修改。
  5. 我们如果关闭了你的issue或pr,请不要诧异,这是我们保持问题处理整洁的一种方式,你依旧可以继续讨论,当有讨论结果时我们会重新打开。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

custard-1.1.2.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

custard-1.1.2-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file custard-1.1.2.tar.gz.

File metadata

  • Download URL: custard-1.1.2.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.16

File hashes

Hashes for custard-1.1.2.tar.gz
Algorithm Hash digest
SHA256 63fa252a32070580322bf09becaa97342ff1228ef6069bd30eb7a8e82c4c87f5
MD5 30c22bb54dc4f613fad6cae16af76be0
BLAKE2b-256 4b063efdce23d4cd2f5e1c344548b23c29ed034d3bd91171b3c4656b25740881

See more details on using hashes here.

File details

Details for the file custard-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: custard-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.16

File hashes

Hashes for custard-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 54b7c3b949e1ef4725365799ceaf855c7bb8a14b921f36b9c14a70105c9c8188
MD5 fe143003fd3683e20a4a7e203d578502
BLAKE2b-256 4dee79491e554b859dba93604d2605b2c3d9f951580ffce420d916646d598e3c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page