Skip to main content

企业级的Python类库

@emailto: 9727005@qq.com
@creator: ShanDong Xiedali
@company: HiLand & RainyTop

整理常用的代码块,形成企业级的类库工具,供更多项目使用。 注意事项:

  • Python环境使用3.13,不用使用3.14。(pywin32在3.14版本中暂时不支持,需等待作者适配)

【零.1】目录格式

  1. 最外层是整个项目的根目录(本项目中为 BasicLibrary.PY),这个目录作为 git 的根目录。
  2. 根目录下分布"部署文件""说明文件"等周边辅助文件(比如 setup.py、README.md等)
  3. 根目录下用 Python 包的形式架构项目的业务逻辑代码(本项目下为 BasicLibrary) (一般每个项目只架构一个根 Python 包,然后再决定是在根包下再架构子包,还是在根包下直接写 ***.py 代码)

【零.2】命名规则

  1. 文件名、文件夹名: 全部小写开头;如果多个单词第一单词全部小写,第二、三个单词首字母大写,单词之间不用下划线连接,不使用空格。
  2. 文件内的类型名称: 每个单词的首字母都大写,单词之间不用下划线连接,不使用空格。
  3. 函数名、变量名: 每个单词的首字母都小写,单词之间用下划线连接,不使用空格。
  4. 常量名: 全部大写开头,单词之间不用下划线连接,不使用空格。
  5. 不供外部调用的模块或者文件名称,统一使用“_”(单下划线)或“__”(双下划线)开头。其余同第2条。
  6. 以“_”“__”开头命名的模块或者文件,内部的类型名称,正常命名(即不使用“_”和“__”开头)。
  7. 不提供给外部调用的函数、变量、常量: 统一使用“_”(单下划线)或“__”(双下划线)开头。其余同第3条。

【一】发布步骤:

  1. 打开文件pyproject.toml,修改version = '0.4.3'为新的值
  2. 打开本项目的"终端"窗口(或者通过 windows 的资源管理器定位到本项目根目录所在的位置)
  3. 打包项目。运行命令:poetry build
  4. 发布项目。运行命令:poetry publish

【二】其他

将本项目需求的第三方软件包统一组织在 pyproject.toml 文件内。

  1. 安装第三方软件包。运行命令:poetry add 包名
  2. 更新第三方软件包。运行命令:poetry update 包名
  3. 删除第三方软件包。运行命令:poetry remove 包名
  4. 查看已安装的第三方软件包。运行命令:poetry show

【三】本库的使用说明

1. 库安装(更新)说明

更新公司类库 BasicLibrary.PY 的命令:

  1. 传统pip方式
    pip install BasicLibrary.PY -U
    # (因为本地的pip通常都为了加速,进行过换源处理了,换源之后缓存更新会比较慢。
    # 所以为了使用最新的库功能,可以使用原始的PIPY源,代码如下:)
    pip install BasicLibrary.PY -U -i https://pypi.org/simple
    pip install BasicLibrary.PY -U -i https://pypi.tuna.tsinghua.edu.cn/simple
    
  2. poetry方式
    poetry add BasicLibrary.PY
    poetry update BasicLibrary.PY
    poetry remove BasicLibrary.PY
    

2. 库使用说明

  1. 以下两个文件复制到项目根目录下

    1. __projectConfig.ini 改名为 _projectConfig.ini
    2. __projectHelper.py 改名为 _projectHelper.py
  2. 如果有敏感信息(比如账号口令等)不适合写在 ini 文件内的,可以将 .env.default 文件拷贝到文件 _projectConfig.ini 所在的项目根目录,然后改名为 .env,然后在 .env 文件内配置这些信息. ( ini 文件是嵌入到 vcs 系统的,但 .env 是不嵌入 vcs 系统的)

【四】类库自动更新版本号的说明

4.1. 每次提交git的时候,自动更新类库的版本号功能的实现与使用

  1. 复制BasicLibrary/_res/pre-commit.auto-increase-version到.git/hooks目录下, 并改名为pre-commit
  2. 适当修改文件中的个别信息
  3. 这样当每次git有提交的时候,就会自动更新类库的版本号

Metadata

Release files for BasicLibrary.PY 0.6.60

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for BasicLibrary.PY 0.6.60
File Size Uploaded
basiclibrary_py-0.6.60.tar.gz 66.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for BasicLibrary.PY 0.6.60
File Interpreter ABI Platform
basiclibrary_py-0.6.60-py3-none-any.whl Python 3 none any Details

Total release size: 180.1 kB

Release files / basiclibrary_py-0.6.60.tar.gz

Download URL basiclibrary_py-0.6.60.tar.gz
Size 66.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6a9c55bd3da2fdc5a15328f59084aece848e407bb03f516806d62f4f5b0dc950
BLAKE2b-256 checksum
How to use checksums
7630739c208ea2ce2e6a13fcc0e5014583ecb8f72381d7e34f0f9f52cd0ca94b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.14.2 Windows/11

Release files / basiclibrary_py-0.6.60-py3-none-any.whl

Download URL basiclibrary_py-0.6.60-py3-none-any.whl
Size 113.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6473883cffa9878cb12ad45e638a997842e24412142e54e6a602549d3cf4d0e5
BLAKE2b-256 checksum
How to use checksums
fa34c6d48de985264bee22a88d4fc0fb30d8344b834f0a92dae84adf3d7f2a24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.14.2 Windows/11

Release history Release notifications | RSS feed

This release

0.6.60 This release

2 release files

0.6.59

2 release files

0.6.58

2 release files

0.6.57

2 release files

0.6.56

2 release files

0.6.55

2 release files

0.6.54

2 release files

0.6.53

2 release files

0.6.52

2 release files

0.6.51

2 release files

0.6.50

2 release files

0.6.49

2 release files

0.6.46

2 release files

0.6.43

2 release files

0.6.42

2 release files

0.6.38

2 release files

0.6.37

2 release files

0.6.36

2 release files

0.6.32

2 release files

0.6.29

2 release files

0.6.24

2 release files

0.6.15

2 release files

0.6.14

2 release files

0.6.13

2 release files

0.6.12

2 release files

0.6.11

2 release files

0.6.10

2 release files

0.6.9

2 release files

0.6.8

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.5.39

1 release file

0.5.38

1 release file

0.5.37

1 release file

0.5.36

1 release file

0.5.35

1 release file

0.5.34

1 release file

0.5.33

1 release file

0.5.32

1 release file

0.5.31

1 release file

0.5.30

1 release file

0.5.28

1 release file

0.5.27

1 release file

0.5.26

1 release file

0.5.25

1 release file

0.5.24

1 release file

0.5.23

1 release file

0.5.22

1 release file

0.5.21

1 release file

0.5.20

1 release file

0.5.18

1 release file

0.5.15

1 release file

0.5.13

1 release file

0.5.12

1 release file

0.5.11

1 release file

0.5.10

1 release file

0.5.9

1 release file

0.5.8

1 release file

0.5.7

1 release file

0.5.6

1 release file

0.5.5

1 release file

0.5.4

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.23

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page