scisoftdev-tmp-HiPOP 1.0.5__tar.gz → 1.0.9__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.
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/.github/workflows/ci.yaml +6 -2
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/.github/workflows/deploy.yaml +22 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/PKG-INFO +7 -6
- scisoftdev_tmp_hipop-1.0.9/VERSION.txt +1 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/pyproject.toml +13 -12
- scisoftdev_tmp_hipop-1.0.5/VERSION.txt +0 -1
- scisoftdev_tmp_hipop-1.0.5/bump_version.py +0 -48
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/.gitignore +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/CMakeLists.txt +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/LICENSE +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/README.md +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/conda/env.yaml +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/CMakeLists.txt +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/cmake/HipopConfig.cmake.in +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/examples/CMakeLists.txt +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/examples/ParallelKShortestPath.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/include/hipop/create.h +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/include/hipop/graph.h +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/include/hipop/shortest_path.h +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/src/create.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/src/graph.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/src/shortest_path.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/tests/CMakeLists.txt +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/tests/helpers.h +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/tests/testCopyGraph.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/tests/testDijkstra1.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/tests/testDijkstra2.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/tests/testGraph.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/tests/testGraphMerge.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/tests/testKShortestPath.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/tests/testManhattan.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/tests/testYenKShortestPath.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/tests/testparallelKShortestPath.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/pytest.toml +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/CMakeLists.txt +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/examples/UpdateCosts.py +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/examples/ksp.py +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/examples/merge.py +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/examples/test.py +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/hipop/__init__.py.template +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/hipop/cpp/graph.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/hipop/cpp/main.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/hipop/cpp/shortest_path.cpp +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/hipop/graph.py +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/hipop/render.py +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/hipop/shortest_path.py +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/tests/test_Graph.py +0 -0
- {scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/tests/test_VersionConsistency.py +0 -0
|
@@ -10,7 +10,8 @@ on:
|
|
|
10
10
|
|
|
11
11
|
jobs:
|
|
12
12
|
build-and-test:
|
|
13
|
-
|
|
13
|
+
|
|
14
|
+
name: Build & test (py ${{ matrix.python-version }} on ${{ matrix.os }})
|
|
14
15
|
runs-on: ${{ matrix.os }}
|
|
15
16
|
|
|
16
17
|
strategy:
|
|
@@ -20,13 +21,16 @@ jobs:
|
|
|
20
21
|
- ubuntu-latest # Arch: x64
|
|
21
22
|
- windows-latest # Arch: x64
|
|
22
23
|
- macos-latest # Arch: arm64
|
|
24
|
+
python-version:
|
|
25
|
+
- '3.10' # Oldest supported version (must be kept consistent with the classifiers in `pyproject.toml`).
|
|
26
|
+
- '3.14' # Most recent supported version (must be kept consistent with the classifiers in `pyproject.toml`).
|
|
23
27
|
|
|
24
28
|
steps:
|
|
25
29
|
- uses: actions/checkout@v7
|
|
26
30
|
|
|
27
31
|
- uses: actions/setup-python@v7
|
|
28
32
|
with:
|
|
29
|
-
python-version:
|
|
33
|
+
python-version: ${{ matrix.python-version }}
|
|
30
34
|
|
|
31
35
|
- name: Install OpenMP (macOS only)
|
|
32
36
|
if: runner.os == 'macOS'
|
|
@@ -8,9 +8,28 @@ on:
|
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
10
|
|
|
11
|
+
check-version:
|
|
12
|
+
name: Check git tag
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v7
|
|
17
|
+
|
|
18
|
+
- name: Ensure git tag corresponds to project version
|
|
19
|
+
run: |
|
|
20
|
+
project_version="v$(tr -d '[:space:]' < VERSION.txt)"
|
|
21
|
+
echo "Git tag = [$GITHUB_REF_NAME]"
|
|
22
|
+
echo "Project version = [$project_version]"
|
|
23
|
+
if [ "$GITHUB_REF_NAME" != "$project_version" ]; then
|
|
24
|
+
echo "Mismatch between git tag and project version (VERSION.txt), aborting deployment..."
|
|
25
|
+
exit 1
|
|
26
|
+
fi
|
|
27
|
+
|
|
11
28
|
build-wheels:
|
|
12
29
|
name: Build wheels (${{ matrix.os }})
|
|
13
30
|
runs-on: ${{ matrix.os }}
|
|
31
|
+
needs:
|
|
32
|
+
- check-version
|
|
14
33
|
|
|
15
34
|
strategy:
|
|
16
35
|
fail-fast: false
|
|
@@ -42,6 +61,8 @@ jobs:
|
|
|
42
61
|
build-sdist:
|
|
43
62
|
name: Build source distribution
|
|
44
63
|
runs-on: ubuntu-latest
|
|
64
|
+
needs:
|
|
65
|
+
- check-version
|
|
45
66
|
|
|
46
67
|
steps:
|
|
47
68
|
- uses: actions/checkout@v7
|
|
@@ -64,6 +85,7 @@ jobs:
|
|
|
64
85
|
name: Publish to PyPI
|
|
65
86
|
runs-on: ubuntu-latest
|
|
66
87
|
needs:
|
|
88
|
+
- check-version
|
|
67
89
|
- build-wheels
|
|
68
90
|
- build-sdist
|
|
69
91
|
# TODO keep? if: github.event_name == 'release'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: scisoftdev-tmp-HiPOP
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.9
|
|
4
4
|
Summary: High Performance Optimal Path module
|
|
5
5
|
Keywords: graph,graph-theory,shortest-path,dijkstra
|
|
6
6
|
License-Expression: LGPL-3.0-only
|
|
@@ -8,18 +8,19 @@ License-File: LICENSE
|
|
|
8
8
|
Classifier: Development Status :: 5 - Production/Stable
|
|
9
9
|
Classifier: Intended Audience :: Developers
|
|
10
10
|
Classifier: Intended Audience :: Science/Research
|
|
11
|
-
Classifier:
|
|
11
|
+
Classifier: Operating System :: MacOS
|
|
12
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
13
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
12
14
|
Classifier: Programming Language :: C++
|
|
13
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
14
17
|
Classifier: Programming Language :: Python :: 3.10
|
|
15
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
16
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
20
|
Classifier: Programming Language :: Python :: 3.13
|
|
18
21
|
Classifier: Programming Language :: Python :: 3.14
|
|
19
|
-
Classifier:
|
|
20
|
-
Classifier:
|
|
21
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
22
|
-
Classifier: Operating System :: POSIX :: Linux
|
|
22
|
+
Classifier: Topic :: Scientific/Engineering
|
|
23
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
24
|
Project-URL: Repository, https://github.com/EMob-Lab/HiPOP
|
|
24
25
|
Project-URL: Issues, https://github.com/EMob-Lab/HiPOP/issues
|
|
25
26
|
Requires-Python: >=3.10
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.0.9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "scisoftdev-tmp-HiPOP" # TODO Project name (and VERSION !!) modified to test deployment, to restore.
|
|
3
|
-
dynamic = ["version"]
|
|
3
|
+
dynamic = ["version"] # Version number is defined in file VERSION.txt.
|
|
4
4
|
description = "High Performance Optimal Path module"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">= 3.10"
|
|
@@ -17,18 +17,19 @@ classifiers = [
|
|
|
17
17
|
"Development Status :: 5 - Production/Stable",
|
|
18
18
|
"Intended Audience :: Developers",
|
|
19
19
|
"Intended Audience :: Science/Research",
|
|
20
|
-
"
|
|
20
|
+
"Operating System :: MacOS",
|
|
21
|
+
"Operating System :: Microsoft :: Windows",
|
|
22
|
+
"Operating System :: POSIX :: Linux",
|
|
21
23
|
"Programming Language :: C++",
|
|
22
24
|
"Programming Language :: Python :: 3",
|
|
23
|
-
"Programming Language :: Python :: 3
|
|
25
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
26
|
+
"Programming Language :: Python :: 3.10", # Oldest supported version (must be kept consistent with `ci.yaml`).
|
|
24
27
|
"Programming Language :: Python :: 3.11",
|
|
25
28
|
"Programming Language :: Python :: 3.12",
|
|
26
29
|
"Programming Language :: Python :: 3.13",
|
|
27
|
-
"Programming Language :: Python :: 3.14",
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"Operating System :: Microsoft :: Windows",
|
|
31
|
-
"Operating System :: POSIX :: Linux",
|
|
30
|
+
"Programming Language :: Python :: 3.14", # Most recent supported version (must be kept consistent with `ci.yaml`).
|
|
31
|
+
"Topic :: Scientific/Engineering",
|
|
32
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
32
33
|
]
|
|
33
34
|
|
|
34
35
|
[project.urls]
|
|
@@ -36,12 +37,12 @@ Repository = "https://github.com/EMob-Lab/HiPOP"
|
|
|
36
37
|
Issues = "https://github.com/EMob-Lab/HiPOP/issues"
|
|
37
38
|
|
|
38
39
|
[dependency-groups]
|
|
39
|
-
build = [ # Dependencies needed for build tasks. Must be
|
|
40
|
+
build = [ # Dependencies needed for build tasks. Must be kept identical to "build-system".requires
|
|
40
41
|
"dynamic-metadata >= 0.5",
|
|
41
42
|
"pybind11 >= 3.1",
|
|
42
43
|
"scikit-build-core >= 1.0",
|
|
43
44
|
]
|
|
44
|
-
test = [ # Dependencies needed for test tasks. Must be
|
|
45
|
+
test = [ # Dependencies needed for test tasks. Must be kept identical to tool.cibuildwheel."test-requires"
|
|
45
46
|
"pytest >= 9.1",
|
|
46
47
|
]
|
|
47
48
|
dev = [ # All dependencies needed for development tasks.
|
|
@@ -54,7 +55,7 @@ distrib = [ # Dependencies needed to build distribution files (wheels & source d
|
|
|
54
55
|
]
|
|
55
56
|
|
|
56
57
|
[build-system]
|
|
57
|
-
requires = [ # Must be
|
|
58
|
+
requires = [ # Must be kept identical to "dependency-groups".build
|
|
58
59
|
"dynamic-metadata >= 0.5",
|
|
59
60
|
"pybind11 >= 3.1",
|
|
60
61
|
"scikit-build-core >= 1.0",
|
|
@@ -94,7 +95,7 @@ build = [ # Build Linux + Win for x64, and MacOS for ARM64. TODO is it enough?
|
|
|
94
95
|
skip = [
|
|
95
96
|
"cp3??t-*", # Free-threaded standard interpreter (https://docs.python.org/3/glossary.html#term-free-threading).
|
|
96
97
|
]
|
|
97
|
-
test-requires = [ # Must be
|
|
98
|
+
test-requires = [ # Must be kept identical to "dependency-groups".test
|
|
98
99
|
"pytest >= 9.1",
|
|
99
100
|
]
|
|
100
101
|
test-command = "pytest {project}"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1.0.5
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import re
|
|
2
|
-
from pathlib import Path
|
|
3
|
-
import argparse
|
|
4
|
-
|
|
5
|
-
PATTERN_VERSION = r"\d+\.\d+\.\d+"
|
|
6
|
-
|
|
7
|
-
files = [("cpp/CMakeLists.txt", re.compile(rf"(project\(HiPOP VERSION )({PATTERN_VERSION})(\))")),
|
|
8
|
-
("python/hipop/__init__.py", re.compile(rf'(__version__ = ")({PATTERN_VERSION})(")')),
|
|
9
|
-
("conda/recipe/meta.yaml", re.compile(r'({% set version = ")('+PATTERN_VERSION+r')(" %})'))]
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def read(file):
|
|
13
|
-
with open(file, "r") as f:
|
|
14
|
-
contents = f.read()
|
|
15
|
-
return contents
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
def write(file, new_contents):
|
|
19
|
-
with open(file, "w") as f:
|
|
20
|
-
f.write(new_contents)
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
cwd = Path(__file__).parent.resolve()
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def show_diff(contents, new_contents):
|
|
27
|
-
for i, (lc, lnc) in enumerate(zip(contents.split("\n"), new_contents.split("\n"))):
|
|
28
|
-
if lc != lnc:
|
|
29
|
-
print(f"\tline {i}: {lc} -> {lnc}")
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if __name__ == "__main__":
|
|
33
|
-
import argparse
|
|
34
|
-
parser = argparse.ArgumentParser()
|
|
35
|
-
parser.add_argument('MAJOR', help='major version number', type=int)
|
|
36
|
-
parser.add_argument('MINOR', help='minor version number', type=int)
|
|
37
|
-
parser.add_argument('PATCH', help='patch version number', type=int)
|
|
38
|
-
args = parser.parse_args()
|
|
39
|
-
|
|
40
|
-
new_version = f"{args.MAJOR}.{args.MINOR}.{args.PATCH}"
|
|
41
|
-
|
|
42
|
-
for f, pattern in files:
|
|
43
|
-
print("Bumping version in file:", f)
|
|
44
|
-
f_path = cwd.joinpath(f)
|
|
45
|
-
contents = read(f_path)
|
|
46
|
-
new_contents = pattern.sub(f"\g<1>{new_version}\g<3>", contents, count=1)
|
|
47
|
-
show_diff(contents, new_contents)
|
|
48
|
-
write(f_path, new_contents)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/examples/ParallelKShortestPath.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/tests/testYenKShortestPath.cpp
RENAMED
|
File without changes
|
{scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/cpp/tests/testparallelKShortestPath.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/hipop/cpp/shortest_path.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scisoftdev_tmp_hipop-1.0.5 → scisoftdev_tmp_hipop-1.0.9}/python/tests/test_VersionConsistency.py
RENAMED
|
File without changes
|