jijzept-sdk 2025.1.26__tar.gz → 2025.2.2__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.
- jijzept_sdk-2025.2.2/.github/workflows/update_dependencies.yaml +44 -0
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/.github/workflows/weekly_release.yaml +2 -2
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/.gitignore +3 -0
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/PKG-INFO +7 -7
- jijzept_sdk-2025.2.2/README.md +17 -0
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/pyproject.toml +6 -6
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/src/jijzept_sdk/_version.py +2 -2
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/src/jijzept_sdk.egg-info/PKG-INFO +7 -7
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/src/jijzept_sdk.egg-info/SOURCES.txt +2 -2
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/src/jijzept_sdk.egg-info/requires.txt +5 -5
- jijzept_sdk-2025.2.2/update_dependencies.py +62 -0
- jijzept_sdk-2025.1.26/.github/dependabot.yaml +0 -10
- jijzept_sdk-2025.1.26/.github/workflows/dependabot_auto_merge.yaml +0 -14
- jijzept_sdk-2025.1.26/README.md +0 -20
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/PyPI.md +0 -0
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/setup.cfg +0 -0
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/src/jijzept_sdk/__init__.py +0 -0
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/src/jijzept_sdk/__main__.py +0 -0
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/src/jijzept_sdk.egg-info/dependency_links.txt +0 -0
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/src/jijzept_sdk.egg-info/entry_points.txt +0 -0
- {jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/src/jijzept_sdk.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: Update Dependencies
|
|
2
|
+
on:
|
|
3
|
+
workflow_dispatch:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: "0 12 * * 0"
|
|
6
|
+
jobs:
|
|
7
|
+
update_dependencies:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- uses: actions/checkout@v4
|
|
11
|
+
- uses: actions/setup-python@v5
|
|
12
|
+
with:
|
|
13
|
+
python-version: "3.10"
|
|
14
|
+
- name: Install required dependencies
|
|
15
|
+
run: |
|
|
16
|
+
python -m pip install --upgrade pip
|
|
17
|
+
python -m pip install httpx
|
|
18
|
+
- name: Update Dependencies
|
|
19
|
+
run: python update_dependencies.py
|
|
20
|
+
- name: Check Diffenrences
|
|
21
|
+
run: git diff
|
|
22
|
+
- name: Commit and Push
|
|
23
|
+
run: |
|
|
24
|
+
git config --global user.name "${USERNAME}"
|
|
25
|
+
git config --global user.email "${EMAIL}"
|
|
26
|
+
git add .
|
|
27
|
+
git commit --allow-empty -m "Update dependencies: $(date +'%Y-%m-%d %H:%M:%S')"
|
|
28
|
+
git push origin HEAD:main
|
|
29
|
+
env:
|
|
30
|
+
USERNAME: github-actions[bot]
|
|
31
|
+
EMAIL: 41898282+github-actions[bot]@users.noreply.github.com
|
|
32
|
+
GITHUB_TOKEN: ${{ github.token }}
|
|
33
|
+
notify:
|
|
34
|
+
needs: [update_dependencies]
|
|
35
|
+
if: ${{ failure() }}
|
|
36
|
+
runs-on: ubuntu-latest
|
|
37
|
+
env:
|
|
38
|
+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
39
|
+
steps:
|
|
40
|
+
- uses: slackapi/slack-github-action@v1.23.0
|
|
41
|
+
with:
|
|
42
|
+
payload: '{"text": "JijZeptSDKの依存関係の更新に失敗しました: <https://github.com/Jij-Inc/JijZeptSDK|JijZeptSDK> "}'
|
|
43
|
+
env:
|
|
44
|
+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
@@ -2,7 +2,7 @@ name: Weekly Release
|
|
|
2
2
|
on:
|
|
3
3
|
workflow_dispatch:
|
|
4
4
|
schedule:
|
|
5
|
-
- cron:
|
|
5
|
+
- cron: "0 14 * * 0"
|
|
6
6
|
jobs:
|
|
7
7
|
check_dependencies:
|
|
8
8
|
strategy:
|
|
@@ -25,7 +25,7 @@ jobs:
|
|
|
25
25
|
steps:
|
|
26
26
|
- uses: slackapi/slack-github-action@v1.23.0
|
|
27
27
|
with:
|
|
28
|
-
payload: '{"text": "
|
|
28
|
+
payload: '{"text": "JijZeptSDKの依存関係が壊れています: <https://github.com/Jij-Inc/JijZeptSDK|JijZeptSDK> "}'
|
|
29
29
|
env:
|
|
30
30
|
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
31
31
|
# 理想を言えば、リリース作成とアップロードのGitHubActionsは分けたいところだが、
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: jijzept_sdk
|
|
3
|
-
Version: 2025.
|
|
3
|
+
Version: 2025.2.2
|
|
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
|
|
7
7
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
8
8
|
Classifier: Programming Language :: Python :: 3.10
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.11
|
|
10
|
-
Requires-Python: <3.
|
|
10
|
+
Requires-Python: <3.13,>=3.10
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
Requires-Dist: jijmodeling==1.11.0
|
|
13
13
|
Requires-Dist: ommx==1.6.0
|
|
14
14
|
Provides-Extra: mip
|
|
15
|
-
Requires-Dist:
|
|
15
|
+
Requires-Dist: ommx-python-mip-adapter==1.6.0; extra == "mip"
|
|
16
16
|
Provides-Extra: scip
|
|
17
|
-
Requires-Dist:
|
|
17
|
+
Requires-Dist: ommx-pyscipopt-adapter==1.6.0; extra == "scip"
|
|
18
18
|
Provides-Extra: amplify
|
|
19
|
-
Requires-Dist:
|
|
19
|
+
Requires-Dist: ommx-fixstars-amplify-adapter==0.1.0; extra == "amplify"
|
|
20
20
|
Provides-Extra: openjij
|
|
21
|
-
Requires-Dist:
|
|
21
|
+
Requires-Dist: ommx-openjij-adapter==1.6.0; extra == "openjij"
|
|
22
22
|
Provides-Extra: qamomile
|
|
23
23
|
Requires-Dist: qamomile==0.5.1; extra == "qamomile"
|
|
24
24
|
Provides-Extra: minto
|
|
25
|
-
Requires-Dist: minto==1.1.
|
|
25
|
+
Requires-Dist: minto==1.1.2; extra == "minto"
|
|
26
26
|
Provides-Extra: lab
|
|
27
27
|
Requires-Dist: jupyterlab; extra == "lab"
|
|
28
28
|
Provides-Extra: all
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# JijZeptSDK
|
|
2
|
+
|
|
3
|
+
JijZeptSDKとは、Jijが提供する無償のパッケージ群をまとめてインストールできるPythonパッケージです。使い方は [PyPI.md](PyPI.md) を、含まれるPythonパッケージは [pyproject.toml](pyproject.toml) を参照してください。
|
|
4
|
+
|
|
5
|
+
## 依存関係の自動更新について
|
|
6
|
+
|
|
7
|
+
JijZeptSDKの依存関係は毎週日曜日12時に自動で更新されます。具体的には、 [`update_dependencies.yaml](.github/workflows/update_dependencies.yaml) で依存関係を更新しており、その更新処理の本体は [`update_dependencies.py`](update_dependencies.py) というPythonスクリプトです。
|
|
8
|
+
|
|
9
|
+
> [!WARNING]
|
|
10
|
+
> 現時点のワークフローはバージョンアップデートの種類に関係なく、PyPIにあがっている最新のものに更新されるようになっています。また、更新対象となる依存関係も、 `"[パッケージ名] == [バージョン]"` の形に当てはまる文字列のみとなっています。
|
|
11
|
+
|
|
12
|
+
> [!NOTE]
|
|
13
|
+
> 本来ならばDependabotを使うほうが良いが、pyproject.tomlのproject.optional-dependenciesの更新が不安定だったため、独自のスクリプトとワークフローを実行する形に変更した。将来的にDependabotに戻すようにしてほしい。
|
|
14
|
+
|
|
15
|
+
## リリースについて
|
|
16
|
+
|
|
17
|
+
JijZeptSDKのリリースは毎週日曜日14時に自動で行われます。具体的には、 [`weekly_release.yaml`](.github/workflows/weekly_release.yaml) でリリースを行っています。
|
|
@@ -9,7 +9,7 @@ authors = [
|
|
|
9
9
|
]
|
|
10
10
|
description = "Free development kit provided by JijZept."
|
|
11
11
|
readme = "PyPI.md"
|
|
12
|
-
requires-python = ">=3.10, <3.
|
|
12
|
+
requires-python = ">=3.10, <3.13"
|
|
13
13
|
classifiers = [
|
|
14
14
|
"Operating System :: POSIX :: Linux",
|
|
15
15
|
"Programming Language :: Python :: 3 :: Only",
|
|
@@ -24,22 +24,22 @@ dependencies = [
|
|
|
24
24
|
|
|
25
25
|
[project.optional-dependencies]
|
|
26
26
|
mip = [
|
|
27
|
-
"
|
|
27
|
+
"ommx-python-mip-adapter == 1.6.0"
|
|
28
28
|
]
|
|
29
29
|
scip = [
|
|
30
|
-
"
|
|
30
|
+
"ommx-pyscipopt-adapter == 1.6.0"
|
|
31
31
|
]
|
|
32
32
|
amplify = [
|
|
33
|
-
"
|
|
33
|
+
"ommx-fixstars-amplify-adapter == 0.1.0"
|
|
34
34
|
]
|
|
35
35
|
openjij = [
|
|
36
|
-
"
|
|
36
|
+
"ommx-openjij-adapter == 1.6.0"
|
|
37
37
|
]
|
|
38
38
|
qamomile = [
|
|
39
39
|
"qamomile == 0.5.1"
|
|
40
40
|
]
|
|
41
41
|
minto = [
|
|
42
|
-
"minto == 1.1.
|
|
42
|
+
"minto == 1.1.2"
|
|
43
43
|
]
|
|
44
44
|
lab = [
|
|
45
45
|
"jupyterlab"
|
|
@@ -12,5 +12,5 @@ __version__: str
|
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
|
13
13
|
version_tuple: VERSION_TUPLE
|
|
14
14
|
|
|
15
|
-
__version__ = version = '2025.
|
|
16
|
-
__version_tuple__ = version_tuple = (2025,
|
|
15
|
+
__version__ = version = '2025.2.2'
|
|
16
|
+
__version_tuple__ = version_tuple = (2025, 2, 2)
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: jijzept_sdk
|
|
3
|
-
Version: 2025.
|
|
3
|
+
Version: 2025.2.2
|
|
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
|
|
7
7
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
8
8
|
Classifier: Programming Language :: Python :: 3.10
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.11
|
|
10
|
-
Requires-Python: <3.
|
|
10
|
+
Requires-Python: <3.13,>=3.10
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
Requires-Dist: jijmodeling==1.11.0
|
|
13
13
|
Requires-Dist: ommx==1.6.0
|
|
14
14
|
Provides-Extra: mip
|
|
15
|
-
Requires-Dist:
|
|
15
|
+
Requires-Dist: ommx-python-mip-adapter==1.6.0; extra == "mip"
|
|
16
16
|
Provides-Extra: scip
|
|
17
|
-
Requires-Dist:
|
|
17
|
+
Requires-Dist: ommx-pyscipopt-adapter==1.6.0; extra == "scip"
|
|
18
18
|
Provides-Extra: amplify
|
|
19
|
-
Requires-Dist:
|
|
19
|
+
Requires-Dist: ommx-fixstars-amplify-adapter==0.1.0; extra == "amplify"
|
|
20
20
|
Provides-Extra: openjij
|
|
21
|
-
Requires-Dist:
|
|
21
|
+
Requires-Dist: ommx-openjij-adapter==1.6.0; extra == "openjij"
|
|
22
22
|
Provides-Extra: qamomile
|
|
23
23
|
Requires-Dist: qamomile==0.5.1; extra == "qamomile"
|
|
24
24
|
Provides-Extra: minto
|
|
25
|
-
Requires-Dist: minto==1.1.
|
|
25
|
+
Requires-Dist: minto==1.1.2; extra == "minto"
|
|
26
26
|
Provides-Extra: lab
|
|
27
27
|
Requires-Dist: jupyterlab; extra == "lab"
|
|
28
28
|
Provides-Extra: all
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
PyPI.md
|
|
3
3
|
README.md
|
|
4
4
|
pyproject.toml
|
|
5
|
-
.
|
|
6
|
-
.github/workflows/
|
|
5
|
+
update_dependencies.py
|
|
6
|
+
.github/workflows/update_dependencies.yaml
|
|
7
7
|
.github/workflows/weekly_release.yaml
|
|
8
8
|
src/jijzept_sdk/__init__.py
|
|
9
9
|
src/jijzept_sdk/__main__.py
|
|
@@ -11,22 +11,22 @@ jijzept_sdk[minto]
|
|
|
11
11
|
jijzept_sdk[lab]
|
|
12
12
|
|
|
13
13
|
[amplify]
|
|
14
|
-
|
|
14
|
+
ommx-fixstars-amplify-adapter==0.1.0
|
|
15
15
|
|
|
16
16
|
[lab]
|
|
17
17
|
jupyterlab
|
|
18
18
|
|
|
19
19
|
[minto]
|
|
20
|
-
minto==1.1.
|
|
20
|
+
minto==1.1.2
|
|
21
21
|
|
|
22
22
|
[mip]
|
|
23
|
-
|
|
23
|
+
ommx-python-mip-adapter==1.6.0
|
|
24
24
|
|
|
25
25
|
[openjij]
|
|
26
|
-
|
|
26
|
+
ommx-openjij-adapter==1.6.0
|
|
27
27
|
|
|
28
28
|
[qamomile]
|
|
29
29
|
qamomile==0.5.1
|
|
30
30
|
|
|
31
31
|
[scip]
|
|
32
|
-
|
|
32
|
+
ommx-pyscipopt-adapter==1.6.0
|
|
@@ -0,0 +1,62 @@
|
|
|
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())
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
name: Dependabot Auto Merge
|
|
2
|
-
on: pull_request
|
|
3
|
-
jobs:
|
|
4
|
-
merge:
|
|
5
|
-
if: ${{ github.actor == 'dependabot[bot]' }}
|
|
6
|
-
runs-on: ubuntu-latest
|
|
7
|
-
permissions:
|
|
8
|
-
contents: write
|
|
9
|
-
pull-requests: write
|
|
10
|
-
env:
|
|
11
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
12
|
-
steps:
|
|
13
|
-
- uses: actions/checkout@v4
|
|
14
|
-
- run: gh pr merge "${GITHUB_HEAD_REF}" --merge --auto
|
jijzept_sdk-2025.1.26/README.md
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# JijZeptSDK
|
|
2
|
-
|
|
3
|
-
JijZeptSDKとは、Jijが提供する無償のパッケージ群をまとめてインストールできるPythonパッケージです。使い方は [PyPI.md](PyPI.md) を、含まれるPythonパッケージは [pyproject.toml](pyproject.toml) を参照してください。
|
|
4
|
-
|
|
5
|
-
## 依存関係の更新について
|
|
6
|
-
|
|
7
|
-
JijZeptSDKの依存関係は日次で自動更新されるようになっています。具体的には以下のようになっています。詳しくは、 [dependabot.yaml](.github/dependabot.yaml) と [dependabot_auto_merge.yaml](.github/workflows/dependabot_auto_merge.yaml) を確認してください。
|
|
8
|
-
|
|
9
|
-
> [!IMPORTANT]
|
|
10
|
-
> 上記のDependabotはメジャーバージョンアップデートを対象外としています。そのため、メジャーバージョンアップデートの際は手作業で更新を行うようにしてください。
|
|
11
|
-
|
|
12
|
-
## リリースについて
|
|
13
|
-
|
|
14
|
-
JijZeptSDKのリリースは週次で自動的に行われるようになっています。詳しくは、 [weekly_release.yaml](.github/workflows/weekly_release.yaml) を確認してください。
|
|
15
|
-
|
|
16
|
-
> [!WARNING]
|
|
17
|
-
> [weekly_release.yaml](.github/workflows/weekly_release.yaml) では、リリース前に依存関係の確認を行うようにしていますが、万が一、リリース後に問題が発覚した場合は以下のように対処してください。
|
|
18
|
-
> 1. (既にその日付でリリースされている場合)リリース・タグ・PyPIの該当バージョンを削除してください
|
|
19
|
-
> 2. [weekly_release.yaml](.github/workflows//weekly_release.yaml) のWorkflowDispatchでワークフローを起動してください
|
|
20
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jijzept_sdk-2025.1.26 → jijzept_sdk-2025.2.2}/src/jijzept_sdk.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|