forked from nics-tw/petsard
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
172 lines (159 loc) · 4.75 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# ......
# The dependency management for this package is maintained using Poetry.
# Below are the related commands documented:
# 本套件之相依性維護使用 Poetry,以下紀錄相關指令:
#
# ......
# Setting up a new virtual environment
# 新設定虛擬環境
#
# 1. poetry config virtualenvs.in-project true
# - Limit virtual environment to not add random strings.
# - 限制虛擬環境不添加隨機字符串。
# 2. poetry env use python
# - Ensure that your Python is linked to a valid Python version.
# - 確保您的 Python 鏈接到有效的 Python 版本。
# 3. poetry shell
# - Activate virtual environment.
# - 啟動虛擬環境。
# 4. poetry lock
# - update poetry.lock based on the current pyproject.toml.
# - 根據當前的 pyproject.toml 更新 poetry.lock。
# 5. poetry install
# - Install the required packages based on poetry.lock.
# - 依據 poetry.lock 安裝所需的套件。
#
# ......
# Set dependencies and their versions.
# 設定相依性套件與版本
#
# General environment
# 一般環境
# 1. install libraries 安裝套件
# - key libraries: Synethezer and Evaluator. See below for details
# - 關鍵套件:合成器與評估器。詳情見下文
#
# ......
#
# Development environment
# 開發環境
#
# 1. poetry add --group dev ipykernel pytest python-semantic-release
#
#
# ......
# Output requirement.txt
# 輸出 requirement.txt
#
# 1. poetry export -f requirements.txt -o requirements.txt
# - Export development environment to requirements-dev.txt.
# - 輸出一般環境的 requirements.txt。
# 2. poetry export -f requirements.txt -o requirements-dev.txt --with dev
# - Export development environment to requirements-dev.txt.
# - 輸出開發環境的 requirements.txt。
#
# ......
# Dependencies version in key libraries
# 關鍵套件相依性版本
#
# 1. SDV: 1.10 above
# - https://github.com/sdv-dev/SDV
# - Latest 1.17.1 update: 2024/10/10
# 2. SDMetrics: 0.13 above
# - https://github.com/sdv-dev/SDMetrics
# - Latest 0.16.0 update: 2024/09/25
# 3. anonymeter: 1.0.0 above
# - https://github.com/statice/anonymeter
# - Latest 1.0.0 update: 2024/02/02
# 4. smartnoise-synth: 1.0.3 above
# - https://github.com/opendp/smartnoise-sdk
# - Latest 1.0.4 update: 2024/07.31
# 5. private-pgm
# - see opendp/smartnoise-sdk/pull/602
#
# ......
# Python 語義版本控制 python-semantic-release
#
# 設定 Setting:
#
# 1. 添加預設配置 Append default configuration
# semantic-release generate-config -f toml --pyproject >> pyproject.toml
#
# ......
[tool.poetry]
name = "petsard"
version = "1.0.0"
description = "Facilitates data generation algorithm and their evaluation processes"
authors = [
"alexchen830 <[email protected]>",
"matheme-justyn <[email protected]>"
]
readme = "README.md"
[tool.poetry.dependencies]
python = "~3.10"
sdv = "^1.17.1"
smartnoise-synth = "1.0.4"
private-pgm = {git = "https://github.com/ryan112358/private-pgm.git"}
anonymeter = "^1.0.0"
sdmetrics = "^0.16.0"
wheel = "^0.43.0"
pyyaml = "^6.0.2"
boto3 = "^1.35.55"
requests = "^2.32.3"
# for dependency bot management
scikit-learn = "^1.5.0" # 582
certifi = "^2024.7.4" # 581
urllib3 = "^2.2.2" # 580
tornado = "^6.4.1" # 579
[tool.poetry.group.dev.dependencies]
ipykernel = "^6.29.4"
pytest = "^8.2.0"
python-semantic-release = "^9.6.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.semantic_release]
assets = []
commit_message = "{version}\n\nAutomatically generated by python-semantic-release"
commit_parser = "angular"
logging_use_named_masks = false
major_on_zero = true
allow_zero_version = true
tag_format = "v{version}"
[tool.semantic_release.branches.main]
match = "main" # "(main|master)"
prerelease_token = "rc"
prerelease = false
[tool.semantic_release.changelog]
template_dir = "templates"
changelog_file = "CHANGELOG.md"
exclude_commit_patterns = []
[tool.semantic_release.changelog.environment]
block_start_string = "{%"
block_end_string = "%}"
variable_start_string = "{{"
variable_end_string = "}}"
comment_start_string = "{#"
comment_end_string = "#}"
trim_blocks = false
lstrip_blocks = false
newline_sequence = "\n"
keep_trailing_newline = false
extensions = []
autoescape = true
[tool.semantic_release.commit_author]
env = "GIT_COMMIT_AUTHOR"
default = "semantic-release <semantic-release>"
[tool.semantic_release.commit_parser_options]
allowed_tags = ["build", "chore", "ci", "docs", "feat", "fix", "perf", "style", "refactor", "test"]
minor_tags = ["feat"]
patch_tags = ["fix", "perf"]
default_bump_level = 0
[tool.semantic_release.remote]
name = "origin"
type = "github"
ignore_token_for_push = false
insecure = false
[tool.semantic_release.publish]
dist_glob_patterns = ["dist/*"]
upload_to_vcs_release = true