Units Module (hierachain/units/*)
Tổng quan
Module Units chịu trách nhiệm quản lý hệ thống phiên bản (Versioning) của HieraChain. Nó đảm bảo toàn bộ hệ thống (từ Core, API đến CLI) luôn đồng bộ về mặt phiên bản và tuân thủ các tiêu chuẩn đóng gói phần mềm hiện đại như PEP 440.
Cấu trúc Phiên bản (Version Tuple)
HieraChain sử dụng một Tuple 5 thành phần để định nghĩa phiên bản một cách chi tiết:
VERSION = (major, minor, micro, releaselevel, serial)
- Major: Phiên bản lớn, thay đổi khi có các cập nhật kiến trúc quan trọng.
- Minor: Phiên bản nhỏ, thay đổi khi thêm tính năng mới.
- Micro: Phiên bản sửa lỗi (Bug fix).
- Release Level: Trạng thái phát triển (
dev,alpha,beta,rc,final). - Serial: Số thứ tự của bản release trong cùng một level.
Các tính năng chính
-
PEP 440 Compliance
Tự động chuyển đổi Tuple phiên bản sang chuỗi ký tự tiêu chuẩn Python (ví dụ:
0.0.2-beta1hoặc0.0.2cho bản final). -
So sánh Phiên bản
Cung cấp hàm
compare_versionshỗ trợ so sánh cả chuỗi và tuple, giúp hệ thống kiểm tra tính tương thích giữa các thành phần. -
Trạng thái Tài liệu
Xác định trạng thái của dự án (Stable, Under Development, Release Candidate) dựa trên level phiên bản hiện tại.
Ví dụ sử dụng
1. Lấy thông tin phiên bản hiện tại
from hierachain.units.version import get_version, VERSION
# Trả về chuỗi PEP 440 (ví dụ: "0.0.2")
print(f"HieraChain Version: {get_version()}")
# Lấy phiên bản rút gọn (Major.Minor)
from hierachain.units.version import get_major_version
print(f"Base Version: {get_major_version()}")
2. So sánh tính tương thích
from hierachain.units.version import compare_versions
required = "0.0.1"
current = get_version()
if compare_versions(current, required) >= 0:
print("Hệ thống tương thích.")
else:
print("Yêu cầu nâng cấp phiên bản!")
Phân cấp Release Level
Khi so sánh phiên bản, HieraChain tuân theo thứ tự ưu tiên sau (từ thấp đến cao):
1. dev (Development)
2. alpha (Alpha testing)
3. beta (Beta testing)
4. rc (Release Candidate)
5. final (Stable Release)