jijzept-sdk 2025.5.7__tar.gz → 2025.5.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (19) hide show
  1. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/.github/workflows/update_dependencies.yaml +1 -1
  2. {jijzept_sdk-2025.5.7/src/jijzept_sdk.egg-info → jijzept_sdk-2025.5.11}/PKG-INFO +12 -12
  3. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/README.md +2 -2
  4. jijzept_sdk-2025.5.11/gen_pyproject_toml.py +134 -0
  5. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/pyproject.toml +12 -12
  6. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/src/jijzept_sdk/_version.py +2 -2
  7. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11/src/jijzept_sdk.egg-info}/PKG-INFO +12 -12
  8. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/src/jijzept_sdk.egg-info/SOURCES.txt +1 -1
  9. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/src/jijzept_sdk.egg-info/requires.txt +11 -11
  10. jijzept_sdk-2025.5.7/update_dependencies.py +0 -62
  11. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/.github/workflows/weekly_release.yaml +0 -0
  12. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/.gitignore +0 -0
  13. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/PyPI.md +0 -0
  14. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/setup.cfg +0 -0
  15. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/src/jijzept_sdk/__init__.py +0 -0
  16. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/src/jijzept_sdk/__main__.py +0 -0
  17. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/src/jijzept_sdk.egg-info/dependency_links.txt +0 -0
  18. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/src/jijzept_sdk.egg-info/entry_points.txt +0 -0
  19. {jijzept_sdk-2025.5.7 → jijzept_sdk-2025.5.11}/src/jijzept_sdk.egg-info/top_level.txt +0 -0
@@ -16,7 +16,7 @@ jobs:
16
16
  python -m pip install --upgrade pip
17
17
  python -m pip install httpx
18
18
  - name: Update Dependencies
19
- run: python update_dependencies.py
19
+ run: python gen_pyproject_toml.py
20
20
  - name: Check Diffenrences
21
21
  run: git diff
22
22
  - name: Commit and Push
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jijzept_sdk
3
- Version: 2025.5.7
3
+ Version: 2025.5.11
4
4
  Summary: Free development kit provided by JijZept.
5
5
  Author-email: "Jij Inc." <info@j-ij.com>
6
6
  Classifier: Operating System :: POSIX :: Linux
@@ -13,17 +13,17 @@ Description-Content-Type: text/markdown
13
13
  Requires-Dist: jijmodeling==1.12.4
14
14
  Requires-Dist: ommx==1.9.5
15
15
  Provides-Extra: all
16
- Requires-Dist: jijzept_sdk[amplify]; extra == "all"
17
- Requires-Dist: jijzept_sdk[da4]; extra == "all"
18
- Requires-Dist: jijzept_sdk[dwave]; extra == "all"
19
- Requires-Dist: jijzept_sdk[gurobi]; extra == "all"
20
- Requires-Dist: jijzept_sdk[highs]; extra == "all"
21
- Requires-Dist: jijzept_sdk[mip]; python_version < "3.12" and extra == "all"
22
- Requires-Dist: jijzept_sdk[openjij]; extra == "all"
23
- Requires-Dist: jijzept_sdk[scip]; extra == "all"
24
- Requires-Dist: jijzept_sdk[minto]; extra == "all"
25
- Requires-Dist: jijzept_sdk[qamomile]; python_version < "3.12" and extra == "all"
26
- Requires-Dist: jijzept_sdk[lab]; extra == "all"
16
+ Requires-Dist: ommx-fixstars-amplify-adapter==0.2.1; extra == "all"
17
+ Requires-Dist: ommx-da4-adapter==0.0.2; extra == "all"
18
+ Requires-Dist: ommx-dwave-adapter==0.0.3; extra == "all"
19
+ Requires-Dist: ommx-gurobipy-adapter==0.1.1; extra == "all"
20
+ Requires-Dist: ommx-highs-adapter==1.9.5; extra == "all"
21
+ Requires-Dist: ommx-python-mip-adapter==1.9.5; python_version < "3.12" and extra == "all"
22
+ Requires-Dist: ommx-openjij-adapter==1.9.5; extra == "all"
23
+ Requires-Dist: ommx-pyscipopt-adapter==1.9.5; extra == "all"
24
+ Requires-Dist: minto==1.1.4; extra == "all"
25
+ Requires-Dist: qamomile==0.6.0; python_version < "3.12" and extra == "all"
26
+ Requires-Dist: jupyterlab; extra == "all"
27
27
  Provides-Extra: amplify
28
28
  Requires-Dist: ommx-fixstars-amplify-adapter==0.2.1; extra == "amplify"
29
29
  Provides-Extra: da4
@@ -4,10 +4,10 @@ JijZeptSDKとは、Jijが提供する無償のパッケージ群をまとめて
4
4
 
5
5
  ## 依存関係の自動更新について
6
6
 
7
- JijZeptSDKの依存関係は毎週日曜日12時に自動で更新されます。具体的には、 [`update_dependencies.yaml`](.github/workflows/update_dependencies.yaml) で依存関係を更新しており、その更新処理の本体は [`update_dependencies.py`](update_dependencies.py) というPythonスクリプトです。
7
+ JijZeptSDKの依存関係は毎週日曜日12時に自動で更新されます。具体的には、 [`update_dependencies.yaml`](.github/workflows/update_dependencies.yaml) で依存関係を更新しており、その更新処理の本体は [`gen_pyproject_toml.py`](gen_pyproject_toml.py) というPythonスクリプトです。
8
8
 
9
9
  > [!WARNING]
10
- > 現時点のワークフローはバージョンアップデートの種類に関係なく、PyPIにあがっている最新のものに更新されるようになっています。また、更新対象となる依存関係も、 `"[パッケージ名] == [バージョン]"` の形に当てはまる文字列のみとなっています。
10
+ > `pyproject.toml` の内容を書き換える際は、 `gen_pyproject_toml.py` 内にあるf-stringを変更してください。
11
11
 
12
12
  > [!NOTE]
13
13
  > 本来ならばDependabotを使うほうが良いが、pyproject.tomlのproject.optional-dependenciesの更新が不安定だったため、独自のスクリプトとワークフローを実行する形に変更した。将来的にDependabotに戻すようにしてほしい。
@@ -0,0 +1,134 @@
1
+ """
2
+ 注意事項: このスクリプトを実行するには`httpx`をpip installしておく必要があります。
3
+ """
4
+
5
+ import asyncio
6
+
7
+ import httpx
8
+
9
+
10
+ async def get_latest_versions(package_names: set[str]) -> dict[str, str]:
11
+ """
12
+ パッケージ名の集合を受け取り、各パッケージの最新バージョンを取得する関数
13
+ 戻り値は {パッケージ名: 最新バージョン} の辞書の形です
14
+ この関数はPyPI JSON APIを利用して最新バージョンを取得しています
15
+ """
16
+ async with httpx.AsyncClient() as client:
17
+ tasks = [
18
+ client.get(f"https://pypi.org/pypi/{package_name}/json")
19
+ for package_name in package_names
20
+ ]
21
+ results = await asyncio.gather(*tasks)
22
+ results_json = [result.json() for result in results]
23
+ return {
24
+ result_json["info"]["name"] : result_json["info"]["version"]
25
+ for result_json in results_json
26
+ }
27
+
28
+
29
+ async def gen_pyproect_toml() -> None:
30
+ # NOTE: 依存関係を更新したいPythonパッケージ名を下記に追加してください
31
+ latest_versions = await get_latest_versions({
32
+ "jijmodeling",
33
+ "ommx",
34
+ "ommx-fixstars-amplify-adapter",
35
+ "ommx-da4-adapter",
36
+ "ommx-dwave-adapter",
37
+ "ommx-gurobipy-adapter",
38
+ "ommx-highs-adapter",
39
+ "ommx-python-mip-adapter",
40
+ "ommx-openjij-adapter",
41
+ "ommx-pyscipopt-adapter",
42
+ "minto",
43
+ "qamomile",
44
+ })
45
+
46
+ # NOTE: pyproect.tomlを変更する場合は以下の文字列を編集すること
47
+ PYPROJECT_TOML = (
48
+ f"""[build-system]
49
+ requires = ["setuptools>=64", "setuptools-scm"]
50
+ build-backend = "setuptools.build_meta"
51
+
52
+ [project]
53
+ name = "jijzept_sdk"
54
+ authors = [
55
+ {{name = "Jij Inc.", email = "info@j-ij.com"}},
56
+ ]
57
+ description = "Free development kit provided by JijZept."
58
+ readme = "PyPI.md"
59
+ requires-python = ">=3.10, <3.13"
60
+ classifiers = [
61
+ "Operating System :: POSIX :: Linux",
62
+ "Programming Language :: Python :: 3 :: Only",
63
+ "Programming Language :: Python :: 3.10",
64
+ "Programming Language :: Python :: 3.11",
65
+ "Programming Language :: Python :: 3.12",
66
+ ]
67
+ dynamic = ["version"]
68
+ dependencies = [
69
+ "jijmodeling == {latest_versions['jijmodeling']}",
70
+ "ommx == {latest_versions['ommx']}",
71
+ ]
72
+
73
+ [project.optional-dependencies]
74
+ all = [
75
+ "ommx-fixstars-amplify-adapter == {latest_versions['ommx-fixstars-amplify-adapter']}",
76
+ "ommx-da4-adapter == {latest_versions['ommx-da4-adapter']}",
77
+ "ommx-dwave-adapter == {latest_versions['ommx-dwave-adapter']}",
78
+ "ommx-gurobipy-adapter == {latest_versions['ommx-gurobipy-adapter']}",
79
+ "ommx-highs-adapter == {latest_versions['ommx-highs-adapter']}",
80
+ "ommx-python-mip-adapter == {latest_versions['ommx-python-mip-adapter']}; python_version < '3.12'",
81
+ "ommx-openjij-adapter == {latest_versions['ommx-openjij-adapter']}",
82
+ "ommx-pyscipopt-adapter == {latest_versions['ommx-pyscipopt-adapter']}",
83
+ "minto == {latest_versions['minto']}",
84
+ "qamomile == {latest_versions['qamomile']}; python_version < '3.12'",
85
+ "jupyterlab",
86
+ ]
87
+ amplify = [
88
+ "ommx-fixstars-amplify-adapter == {latest_versions['ommx-fixstars-amplify-adapter']}"
89
+ ]
90
+ da4 = [
91
+ "ommx-da4-adapter == {latest_versions['ommx-da4-adapter']}"
92
+ ]
93
+ dwave = [
94
+ "ommx-dwave-adapter == {latest_versions['ommx-dwave-adapter']}"
95
+ ]
96
+ gurobi = [
97
+ "ommx-gurobipy-adapter == {latest_versions['ommx-gurobipy-adapter']}"
98
+ ]
99
+ highs = [
100
+ "ommx-highs-adapter == {latest_versions['ommx-highs-adapter']}"
101
+ ]
102
+ mip = [
103
+ "ommx-python-mip-adapter == {latest_versions['ommx-python-mip-adapter']}"
104
+ ]
105
+ openjij = [
106
+ "ommx-openjij-adapter == {latest_versions['ommx-openjij-adapter']}"
107
+ ]
108
+ scip = [
109
+ "ommx-pyscipopt-adapter == {latest_versions['ommx-pyscipopt-adapter']}"
110
+ ]
111
+ minto = [
112
+ "minto == {latest_versions['minto']}"
113
+ ]
114
+ qamomile = [
115
+ "qamomile == {latest_versions['qamomile']}"
116
+ ]
117
+ lab = [
118
+ "jupyterlab"
119
+ ]
120
+
121
+ [project.scripts]
122
+ jijzept_sdk = "jijzept_sdk:run"
123
+
124
+ [tool.setuptools_scm]
125
+ version_file = "src/jijzept_sdk/_version.py"
126
+ """
127
+ )
128
+
129
+ with open("pyproject.toml", "w") as f:
130
+ f.write(PYPROJECT_TOML)
131
+
132
+
133
+ if __name__ == "__main__":
134
+ asyncio.run(gen_pyproect_toml())
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = ["setuptools>=64", "setuptools-scm", "wheel"]
2
+ requires = ["setuptools>=64", "setuptools-scm"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
@@ -25,17 +25,17 @@ dependencies = [
25
25
 
26
26
  [project.optional-dependencies]
27
27
  all = [
28
- "jijzept_sdk[amplify]",
29
- "jijzept_sdk[da4]",
30
- "jijzept_sdk[dwave]",
31
- "jijzept_sdk[gurobi]",
32
- "jijzept_sdk[highs]",
33
- "jijzept_sdk[mip]; python_version < '3.12'",
34
- "jijzept_sdk[openjij]",
35
- "jijzept_sdk[scip]",
36
- "jijzept_sdk[minto]",
37
- "jijzept_sdk[qamomile]; python_version < '3.12'",
38
- "jijzept_sdk[lab]",
28
+ "ommx-fixstars-amplify-adapter == 0.2.1",
29
+ "ommx-da4-adapter == 0.0.2",
30
+ "ommx-dwave-adapter == 0.0.3",
31
+ "ommx-gurobipy-adapter == 0.1.1",
32
+ "ommx-highs-adapter == 1.9.5",
33
+ "ommx-python-mip-adapter == 1.9.5; python_version < '3.12'",
34
+ "ommx-openjij-adapter == 1.9.5",
35
+ "ommx-pyscipopt-adapter == 1.9.5",
36
+ "minto == 1.1.4",
37
+ "qamomile == 0.6.0; python_version < '3.12'",
38
+ "jupyterlab",
39
39
  ]
40
40
  amplify = [
41
41
  "ommx-fixstars-amplify-adapter == 0.2.1"
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '2025.5.7'
21
- __version_tuple__ = version_tuple = (2025, 5, 7)
20
+ __version__ = version = '2025.5.11'
21
+ __version_tuple__ = version_tuple = (2025, 5, 11)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jijzept_sdk
3
- Version: 2025.5.7
3
+ Version: 2025.5.11
4
4
  Summary: Free development kit provided by JijZept.
5
5
  Author-email: "Jij Inc." <info@j-ij.com>
6
6
  Classifier: Operating System :: POSIX :: Linux
@@ -13,17 +13,17 @@ Description-Content-Type: text/markdown
13
13
  Requires-Dist: jijmodeling==1.12.4
14
14
  Requires-Dist: ommx==1.9.5
15
15
  Provides-Extra: all
16
- Requires-Dist: jijzept_sdk[amplify]; extra == "all"
17
- Requires-Dist: jijzept_sdk[da4]; extra == "all"
18
- Requires-Dist: jijzept_sdk[dwave]; extra == "all"
19
- Requires-Dist: jijzept_sdk[gurobi]; extra == "all"
20
- Requires-Dist: jijzept_sdk[highs]; extra == "all"
21
- Requires-Dist: jijzept_sdk[mip]; python_version < "3.12" and extra == "all"
22
- Requires-Dist: jijzept_sdk[openjij]; extra == "all"
23
- Requires-Dist: jijzept_sdk[scip]; extra == "all"
24
- Requires-Dist: jijzept_sdk[minto]; extra == "all"
25
- Requires-Dist: jijzept_sdk[qamomile]; python_version < "3.12" and extra == "all"
26
- Requires-Dist: jijzept_sdk[lab]; extra == "all"
16
+ Requires-Dist: ommx-fixstars-amplify-adapter==0.2.1; extra == "all"
17
+ Requires-Dist: ommx-da4-adapter==0.0.2; extra == "all"
18
+ Requires-Dist: ommx-dwave-adapter==0.0.3; extra == "all"
19
+ Requires-Dist: ommx-gurobipy-adapter==0.1.1; extra == "all"
20
+ Requires-Dist: ommx-highs-adapter==1.9.5; extra == "all"
21
+ Requires-Dist: ommx-python-mip-adapter==1.9.5; python_version < "3.12" and extra == "all"
22
+ Requires-Dist: ommx-openjij-adapter==1.9.5; extra == "all"
23
+ Requires-Dist: ommx-pyscipopt-adapter==1.9.5; extra == "all"
24
+ Requires-Dist: minto==1.1.4; extra == "all"
25
+ Requires-Dist: qamomile==0.6.0; python_version < "3.12" and extra == "all"
26
+ Requires-Dist: jupyterlab; extra == "all"
27
27
  Provides-Extra: amplify
28
28
  Requires-Dist: ommx-fixstars-amplify-adapter==0.2.1; extra == "amplify"
29
29
  Provides-Extra: da4
@@ -1,8 +1,8 @@
1
1
  .gitignore
2
2
  PyPI.md
3
3
  README.md
4
+ gen_pyproject_toml.py
4
5
  pyproject.toml
5
- update_dependencies.py
6
6
  .github/workflows/update_dependencies.yaml
7
7
  .github/workflows/weekly_release.yaml
8
8
  src/jijzept_sdk/__init__.py
@@ -2,19 +2,19 @@ jijmodeling==1.12.4
2
2
  ommx==1.9.5
3
3
 
4
4
  [all]
5
- jijzept_sdk[amplify]
6
- jijzept_sdk[da4]
7
- jijzept_sdk[dwave]
8
- jijzept_sdk[gurobi]
9
- jijzept_sdk[highs]
10
- jijzept_sdk[openjij]
11
- jijzept_sdk[scip]
12
- jijzept_sdk[minto]
13
- jijzept_sdk[lab]
5
+ ommx-fixstars-amplify-adapter==0.2.1
6
+ ommx-da4-adapter==0.0.2
7
+ ommx-dwave-adapter==0.0.3
8
+ ommx-gurobipy-adapter==0.1.1
9
+ ommx-highs-adapter==1.9.5
10
+ ommx-openjij-adapter==1.9.5
11
+ ommx-pyscipopt-adapter==1.9.5
12
+ minto==1.1.4
13
+ jupyterlab
14
14
 
15
15
  [all:python_version < "3.12"]
16
- jijzept_sdk[mip]
17
- jijzept_sdk[qamomile]
16
+ ommx-python-mip-adapter==1.9.5
17
+ qamomile==0.6.0
18
18
 
19
19
  [amplify]
20
20
  ommx-fixstars-amplify-adapter==0.2.1
@@ -1,62 +0,0 @@
1
- """
2
- 注意事項: このスクリプトを実行するには`httpx`をpip installしておく必要があります。
3
- """
4
-
5
- import asyncio
6
- import re
7
-
8
- import httpx
9
-
10
-
11
- async def get_latest_versions(package_names: set[str]) -> dict[str, str]:
12
- """
13
- パッケージ名の集合を受け取り、各パッケージの最新バージョンを取得する関数
14
- 戻り値は {パッケージ名: 最新バージョン} の辞書の形です
15
- この関数はPyPI JSON APIを利用して最新バージョンを取得しています
16
- """
17
- async with httpx.AsyncClient() as client:
18
- tasks = [
19
- client.get(f"https://pypi.org/pypi/{package_name}/json")
20
- for package_name in package_names
21
- ]
22
- results = await asyncio.gather(*tasks)
23
- results_json = [result.json() for result in results]
24
- return {
25
- result_json["info"]["name"] : result_json["info"]["version"]
26
- for result_json in results_json
27
- }
28
-
29
-
30
- async def update_dependencies():
31
- with open("pyproject.toml", "r") as f:
32
- pyproject_toml = f.read()
33
-
34
- # "[パッケージ名] == [バージョン]" の形の文字列を抽出
35
- pattern = r'"((.+) == .+)"'
36
- matches = re.findall(pattern, pyproject_toml)
37
- # {'jijmodeling == 1.10.0': 'jijmodeling'} のような形式の辞書を作成
38
- # この辞書のキーが元の依存関係を定義する文字列である
39
- old_dependency_to_package_name = {
40
- old_dependency: package_name for old_dependency, package_name in matches
41
- }
42
- # パッケージ名の集合を作成し、重複を除去してから、各パッケージ毎に最新バージョンを取得
43
- package_names = set(old_dependency_to_package_name.values())
44
- latest_versions = await get_latest_versions(package_names)
45
- # {'jijmodeling': 'jijmodeling == 1.11.0'} のような形式の辞書を作成
46
- # この辞書の値が最新のバージョンを依存関係として定義する文字列である
47
- package_name_to_new_dependency = {
48
- package_name: f'{package_name} == {latest_versions[package_name]}'
49
- for package_name in latest_versions.keys()
50
- }
51
- # 元の依存関係を定義する文字列を、最新のバージョンを依存関係として定義する文字列に置換
52
- new_pyproject_toml = pyproject_toml
53
- for old_dependency, package_name in old_dependency_to_package_name.items():
54
- new_dependency = package_name_to_new_dependency[package_name]
55
- new_pyproject_toml = new_pyproject_toml.replace(old_dependency, new_dependency)
56
-
57
- with open("pyproject.toml", "w") as f:
58
- f.write(new_pyproject_toml)
59
-
60
-
61
- if __name__ == "__main__":
62
- asyncio.run(update_dependencies())
File without changes