Trăn nở

Kiến trúc. kho lưu trữ bất kỳ. Cộng đồngMô tả. Một plugin nở để giúp xây dựng các gói Jupyter URL ngược dòng. https. // jupyter. org/Giấy phép. tùy chỉnh bảo trì. Antonio Rojas
Kích thước gói hàng. 28. 3 KBKích thước cài đặt. 94. 4 KBLast Packager. Antonio RojasNgày xây dựng. 2022-12-13 22. 08 UTC Đã ký bởi. Antonio RojasNgày ký. 2022-12-13 22. 08 UTCCập nhật lần cuối. 2022-12-13 22. 10 giờ UTC

Ngành kiến ​​​​trúc. kho lưu trữ bất kỳ. cộng đồngMô tả. Trình quản lý dự án, gói và virtualenv hiện đại URL ngược dòng. https. //github. com/ofek/hatchLicense[s]. Kích thước cài đặt MIT. 479KiBNgày xây dựng. Thứ ba 20 tháng 9 23. 59. 06 2022 UTC

Bản quyền ©2009-2022 Arch Linux ARM
Nhãn hiệu đã đăng ký Linux® được sử dụng theo giấy phép con từ LMI, người được cấp phép độc quyền của Linus Torvalds, chủ sở hữu của nhãn hiệu trên một thế giới .
Tên và biểu tượng Arch Linux™ được sử dụng dưới sự cho phép của Trưởng dự án Arch Linux.

Hatch có một cli phiên bản tuyệt vời cho các gói python chỉ hoạt động. Cần rất ít cấu hình để bắt đầu sử dụng và bạn có thể bắt đầu nâng cấp các phiên bản mà không phải lo lắng

tạo các phiên bản mới do chính tôi tạo ra với độ khuếch tán ổn định

bố trí dự án

Để dùng thử cli

❯ tree .
.
├── pkg
│   ├── __about__.py
│   └── __init__.py
├── pyproject.toml
└── README.md

1 directory, 4 files
8, hãy tạo một dự án đơn giản với cái tên khủng khiếp
[project]
name = "pkg"
description = "Show how to version packages with hatch"
readme = "README.md"
dynamic = [
 "version",
]

[build-system]
requires = [
 "hatchling>=1.4.1",
]
build-backend = "hatchling.build"

[tool.hatch.version]
path = "pkg/__about__.py"
0

❯ tree .
.
├── pkg
│   ├── __about__.py
│   └── __init__.py
├── pyproject.toml
└── README.md

1 directory, 4 files

pyproject. toml

Nhân vật chính của bài đăng này là

[project]
name = "pkg"
description = "Show how to version packages with hatch"
readme = "README.md"
dynamic = [
 "version",
]

[build-system]
requires = [
 "hatchling>=1.4.1",
]
build-backend = "hatchling.build"

[tool.hatch.version]
path = "pkg/__about__.py"
1. Đây là những gì xác định tất cả các thiết lập dự án theo phong cách PEP 517 của chúng tôi

[project]
name = "pkg"
description = "Show how to version packages with hatch"
readme = "README.md"
dynamic = [
 "version",
]

[build-system]
requires = [
 "hatchling>=1.4.1",
]
build-backend = "hatchling.build"

[tool.hatch.version]
path = "pkg/__about__.py"

phiên bản tĩnh

dự định. phiên bản

Có thể đặt số phiên bản bên trong

[project]
name = "pkg"
description = "Show how to version packages with hatch"
readme = "README.md"
dynamic = [
 "version",
]

[build-system]
requires = [
 "hatchling>=1.4.1",
]
build-backend = "hatchling.build"

[tool.hatch.version]
path = "pkg/__about__.py"
1 một cách tĩnh. Điều này tốt nếu bạn chỉ muốn phiên bản gói của mình theo cách thủ công chứ không phải thông qua cli
[project]
name = "pkg"
description = "Show how to version packages with hatch"
readme = "README.md"
dynamic = [
 "version",
]

[build-system]
requires = [
 "hatchling>=1.4.1",
]
build-backend = "hatchling.build"

[tool.hatch.version]
path = "pkg/__about__.py"
3

[project]
name = "pkg"
version = "0.0.0"
# ...

Phiên bản tĩnh trong pyproject. toml sẽ không hoạt động với

❯ tree .
.
├── pkg
│   ├── __about__.py
│   └── __init__.py
├── pyproject.toml
└── README.md

1 directory, 4 files
8

Cannot set version when it is statically defined by the `project.version` field

Phiên bản động

dự định. năng động

Việc thiết lập phiên bản dự án một cách linh hoạt có thể được thực hiện bằng cách thay đổi thông tin sau thành

[project]
name = "pkg"
description = "Show how to version packages with hatch"
readme = "README.md"
dynamic = [
 "version",
]

[build-system]
requires = [
 "hatchling>=1.4.1",
]
build-backend = "hatchling.build"

[tool.hatch.version]
path = "pkg/__about__.py"
1 của bạn. Hatch chỉ chấp nhận một đường dẫn để lưu trữ phiên bản của bạn. Nếu bạn cần tham khảo nó ở nơi khác trong dự án của mình, bạn có thể lấy nó từ siêu dữ liệu gói cho tệp đó. Tôi sẽ không đặt bất kỳ thứ gì khác có thể xung đột với phiên bản, vì bạn có thể vô tình thay đổi cả hai thứ

Nếu bạn thực sự cần đặt nó ở nhiều nơi hơn, hãy sử dụng gói như Bump2version

[project]
name = "pkg"
dynamic = [
  "version"
]
# ...
[tool.hatch.version]
path = "pkg/__about__.py"

Ghi chú. bạn có thể định cấu hình cửa sập để sử dụng một mẫu khác, nhưng tôi không thấy đó là thứ tôi cần

xung quanh. py

Bản thân dự án hatch sử dụng một khoảng. py để lưu trữ phiên bản của nó. Nội dung duy nhất của nó là một biến

[project]
name = "pkg"
description = "Show how to version packages with hatch"
readme = "README.md"
dynamic = [
 "version",
]

[build-system]
requires = [
 "hatchling>=1.4.1",
]
build-backend = "hatchling.build"

[tool.hatch.version]
path = "pkg/__about__.py"
6 duy nhất. Tôi không có bất kỳ vấn đề cá nhân nào với điều này vì vậy tôi sẽ theo dõi điều này trong các dự án sử dụng hatch của mình

❯ tree .
.
├── pkg
│   ├── __about__.py
│   └── __init__.py
├── pyproject.toml
└── README.md

1 directory, 4 files
1

phiên bản

Hatch có api lập phiên bản khá trực quan.

❯ tree .
.
├── pkg
│   ├── __about__.py
│   └── __init__.py
├── pyproject.toml
└── README.md

1 directory, 4 files
8 cung cấp cho bạn phiên bản. Nếu bạn chuyển vào một phiên bản như
[project]
name = "pkg"
description = "Show how to version packages with hatch"
readme = "README.md"
dynamic = [
 "version",
]

[build-system]
requires = [
 "hatchling>=1.4.1",
]
build-backend = "hatchling.build"

[tool.hatch.version]
path = "pkg/__about__.py"
8, nó sẽ đặt nó thành phiên bản đó miễn là nó tồn tại trong tương lai, nếu không nó sẽ báo lỗi

❯ tree .
.
├── pkg
│   ├── __about__.py
│   └── __init__.py
├── pyproject.toml
└── README.md

1 directory, 4 files
3

va chạm

Bạn có thể gập các phần của phiên bản semver

❯ tree .
.
├── pkg
│   ├── __about__.py
│   └── __init__.py
├── pyproject.toml
└── README.md

1 directory, 4 files
4

Ví dụ

Đây là một ảnh chụp màn hình của một dự án cùng

GitOps

Trong luồng hành động github của tôi, tôi sẽ sử dụng điều này để tự động hóa các phiên bản của mình. Trong các dự án phụ của tôi, tôi sử dụng nhánh

[project]
name = "pkg"
description = "Show how to version packages with hatch"
readme = "README.md"
dynamic = [
 "version",
]

[build-system]
requires = [
 "hatchling>=1.4.1",
]
build-backend = "hatchling.build"

[tool.hatch.version]
path = "pkg/__about__.py"
9 để phát hành --pre phát hành. Tôi có tất cả các dự án phụ thuộc của riêng mình chạy trên các bản phát hành --pre này, điều này cho phép tôi tự cắt mình trong các dự án của riêng mình trước bất kỳ ai khác. Sau đó trên main mình tự động phát hành phiên bản beta này

Hành động GitHub

Đây là giao diện của ci/cd cho

[project]
name = "pkg"
version = "0.0.0"
# ...
0. Có thể có một chiến lược quy trình công việc tốt hơn, nhưng tôi sử dụng một quy trình hành động github duy nhất và cắt các nhánh để phát hành --pre phát hành và phát hành đầy đủ. Các bước này sẽ va chạm, gắn thẻ, cam kết và triển khai cho tôi

❯ tree .
.
├── pkg
│   ├── __about__.py
│   └── __init__.py
├── pyproject.toml
└── README.md

1 directory, 4 files
7

Phiên bản Hatch Hành động

Tôi đang thiết lập một hành động tùy chỉnh github waylonwalker/hatch-version-action sẽ lint, kiểm tra, va chạm và xuất bản cho tôi trong một bước. Thêm về điều đó trong tương lai

Chủ Đề