pandarm 0.0.0__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.
- pandarm-0.0.0/.coveragerc +3 -0
- pandarm-0.0.0/.github/workflows/build-wheels.yml +65 -0
- pandarm-0.0.0/.github/workflows/build_docs.yml +57 -0
- pandarm-0.0.0/.github/workflows/unittests.yml +95 -0
- pandarm-0.0.0/.gitignore +66 -0
- pandarm-0.0.0/LICENSE +662 -0
- pandarm-0.0.0/PKG-INFO +43 -0
- pandarm-0.0.0/README.md +57 -0
- pandarm-0.0.0/ci/312.yml +21 -0
- pandarm-0.0.0/ci/313.yml +21 -0
- pandarm-0.0.0/ci/314.yml +21 -0
- pandarm-0.0.0/docs/Makefile +34 -0
- pandarm-0.0.0/docs/source/Makefile +177 -0
- pandarm-0.0.0/docs/source/_static/.placeholder +0 -0
- pandarm-0.0.0/docs/source/conf.py +261 -0
- pandarm-0.0.0/docs/source/img/2000metersum.png +0 -0
- pandarm-0.0.0/docs/source/img/500metersum.png +0 -0
- pandarm-0.0.0/docs/source/img/distance_to_restaurants.png +0 -0
- pandarm-0.0.0/docs/source/index.rst +36 -0
- pandarm-0.0.0/docs/source/installation.rst +53 -0
- pandarm-0.0.0/docs/source/introduction.rst +101 -0
- pandarm-0.0.0/docs/source/loaders.rst +49 -0
- pandarm-0.0.0/docs/source/network.rst +8 -0
- pandarm-0.0.0/docs/source/tutorial.rst +226 -0
- pandarm-0.0.0/docs/source/utilities.rst +4 -0
- pandarm-0.0.0/environment.yml +12 -0
- pandarm-0.0.0/examples/range_example.py +39 -0
- pandarm-0.0.0/examples/shortest_path_example.py +96 -0
- pandarm-0.0.0/examples/simple_example.py +43 -0
- pandarm-0.0.0/pandarm/__init__.py +7 -0
- pandarm-0.0.0/pandarm/loaders/__init__.py +0 -0
- pandarm-0.0.0/pandarm/loaders/osm.py +159 -0
- pandarm-0.0.0/pandarm/loaders/pandash5.py +77 -0
- pandarm-0.0.0/pandarm/network.py +905 -0
- pandarm-0.0.0/pandarm/testing.py +5 -0
- pandarm-0.0.0/pandarm/utils.py +37 -0
- pandarm-0.0.0/pandarm.egg-info/PKG-INFO +43 -0
- pandarm-0.0.0/pandarm.egg-info/SOURCES.txt +66 -0
- pandarm-0.0.0/pandarm.egg-info/dependency_links.txt +1 -0
- pandarm-0.0.0/pandarm.egg-info/requires.txt +38 -0
- pandarm-0.0.0/pandarm.egg-info/top_level.txt +2 -0
- pandarm-0.0.0/pyproject.toml +64 -0
- pandarm-0.0.0/setup.cfg +4 -0
- pandarm-0.0.0/setup.py +91 -0
- pandarm-0.0.0/src/accessibility.cpp +473 -0
- pandarm-0.0.0/src/accessibility.h +129 -0
- pandarm-0.0.0/src/contraction_hierarchies/Makefile +20 -0
- pandarm-0.0.0/src/contraction_hierarchies/src/BasicDefinitions.h +48 -0
- pandarm-0.0.0/src/contraction_hierarchies/src/Contractor/ContractionCleanup.h +320 -0
- pandarm-0.0.0/src/contraction_hierarchies/src/Contractor/Contractor.h +616 -0
- pandarm-0.0.0/src/contraction_hierarchies/src/DataStructures/BinaryHeap.h +292 -0
- pandarm-0.0.0/src/contraction_hierarchies/src/DataStructures/DynamicGraph.h +230 -0
- pandarm-0.0.0/src/contraction_hierarchies/src/DataStructures/Percent.h +90 -0
- pandarm-0.0.0/src/contraction_hierarchies/src/DataStructures/SimpleCHQuery.h +281 -0
- pandarm-0.0.0/src/contraction_hierarchies/src/DataStructures/StaticGraph.h +158 -0
- pandarm-0.0.0/src/contraction_hierarchies/src/POIIndex/POIIndex.h +281 -0
- pandarm-0.0.0/src/contraction_hierarchies/src/Util/HyperThreading.h +80 -0
- pandarm-0.0.0/src/contraction_hierarchies/src/libch.cpp +399 -0
- pandarm-0.0.0/src/contraction_hierarchies/src/libch.h +161 -0
- pandarm-0.0.0/src/cyaccess.pyx +211 -0
- pandarm-0.0.0/src/graphalg.cpp +121 -0
- pandarm-0.0.0/src/graphalg.h +50 -0
- pandarm-0.0.0/src/shared.h +12 -0
- pandarm-0.0.0/tests/osm_sample.h5 +0 -0
- pandarm-0.0.0/tests/test_cyaccess.py +119 -0
- pandarm-0.0.0/tests/test_pandana.py +434 -0
- pandarm-0.0.0/tests/test_pandash5.py +160 -0
- pandarm-0.0.0/tests/test_utils.py +35 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
name: Build-wheels and publish to PyPI
|
|
2
|
+
|
|
3
|
+
# This workflow builds "wheels", which are the binary package installers hosted on PyPI.
|
|
4
|
+
# GitHub Actions is super helpful here because each one needs to be compiled in its own
|
|
5
|
+
# target environment. The wheel files are saved as artifacts, which you can download from
|
|
6
|
+
# the GitHub website. Wheels should be uploaded manually to PyPI -- see CONTRIBUTING.md.
|
|
7
|
+
|
|
8
|
+
# The Linux wheels cannot be generated using `ubuntu-latest` because they require a
|
|
9
|
+
# special Docker image to provide cross-Linux compatibility. There are at least a couple
|
|
10
|
+
# of third-party actions set up using the official image; we could switch to another if
|
|
11
|
+
# this ever breaks.
|
|
12
|
+
|
|
13
|
+
on:
|
|
14
|
+
push:
|
|
15
|
+
# Sequence of patterns matched against refs/tags
|
|
16
|
+
tags:
|
|
17
|
+
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10 pull_request:
|
|
18
|
+
release:
|
|
19
|
+
workflow_dispatch:
|
|
20
|
+
|
|
21
|
+
jobs:
|
|
22
|
+
|
|
23
|
+
build_wheels:
|
|
24
|
+
name: Build wheels on ${{ matrix.os }}
|
|
25
|
+
runs-on: ${{ matrix.os }}
|
|
26
|
+
strategy:
|
|
27
|
+
matrix:
|
|
28
|
+
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest]
|
|
29
|
+
|
|
30
|
+
steps:
|
|
31
|
+
- uses: actions/checkout@v5
|
|
32
|
+
|
|
33
|
+
# Used to host cibuildwheel
|
|
34
|
+
- uses: actions/setup-python@v5
|
|
35
|
+
|
|
36
|
+
- name: Install cibuildwheel
|
|
37
|
+
run: python -m pip install cibuildwheel==3.3.0
|
|
38
|
+
|
|
39
|
+
- name: Build wheels
|
|
40
|
+
run: python -m cibuildwheel --output-dir wheelhouse
|
|
41
|
+
# to supply options, put them in 'env', like:
|
|
42
|
+
# env:
|
|
43
|
+
# CIBW_SOME_OPTION: value
|
|
44
|
+
# ...
|
|
45
|
+
|
|
46
|
+
- uses: actions/upload-artifact@v4
|
|
47
|
+
with:
|
|
48
|
+
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
|
|
49
|
+
path: ./wheelhouse/*.whl
|
|
50
|
+
|
|
51
|
+
- name: Create Release Notes
|
|
52
|
+
uses: actions/github-script@v6
|
|
53
|
+
with:
|
|
54
|
+
github-token: ${{secrets.GITHUB_TOKEN}}
|
|
55
|
+
script: |
|
|
56
|
+
await github.request(`POST /repos/${{ github.repository }}/releases`, {
|
|
57
|
+
tag_name: "${{ github.ref }}",
|
|
58
|
+
generate_release_notes: true
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
- name: Publish distribution 📦 to PyPI
|
|
62
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
63
|
+
with:
|
|
64
|
+
user: __token__
|
|
65
|
+
password: ${{ secrets.PYPI_PASSWORD }}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
name: Build Docs
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches:
|
|
5
|
+
- main
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
docs:
|
|
9
|
+
name: Build & Push Docs
|
|
10
|
+
runs-on: ${{ matrix.os }}
|
|
11
|
+
timeout-minutes: 90
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
os: ['ubuntu-latest']
|
|
15
|
+
environment-file: [ci/312.yml]
|
|
16
|
+
experimental: [false]
|
|
17
|
+
defaults:
|
|
18
|
+
run:
|
|
19
|
+
shell: bash -l {0}
|
|
20
|
+
|
|
21
|
+
steps:
|
|
22
|
+
- name: Checkout repo
|
|
23
|
+
uses: actions/checkout@v4
|
|
24
|
+
with:
|
|
25
|
+
fetch-depth: 0 # Fetch all history for all branches and tags.
|
|
26
|
+
|
|
27
|
+
- name: Setup micromamba
|
|
28
|
+
uses: mamba-org/setup-micromamba@v1
|
|
29
|
+
with:
|
|
30
|
+
environment-file: ${{ matrix.environment-file }}
|
|
31
|
+
micromamba-version: 'latest'
|
|
32
|
+
|
|
33
|
+
- name: Install
|
|
34
|
+
run: pip install -e . --no-deps --force-reinstall
|
|
35
|
+
|
|
36
|
+
- name: Make Docs
|
|
37
|
+
run: cd docs; make html
|
|
38
|
+
|
|
39
|
+
- name: Commit Docs
|
|
40
|
+
run: |
|
|
41
|
+
git clone https://github.com/ammaraskar/sphinx-action-test.git --branch gh-pages --single-branch gh-pages
|
|
42
|
+
cp -r docs/_build/html/* gh-pages/
|
|
43
|
+
cd gh-pages
|
|
44
|
+
git config --local user.email "action@github.com"
|
|
45
|
+
git config --local user.name "GitHub Action"
|
|
46
|
+
git add .
|
|
47
|
+
git commit -m "Update documentation" -a || true
|
|
48
|
+
# The above command will fail if no changes were present,
|
|
49
|
+
# so we ignore the return code.
|
|
50
|
+
|
|
51
|
+
- name: Push to gh-pages
|
|
52
|
+
uses: ad-m/github-push-action@master
|
|
53
|
+
with:
|
|
54
|
+
branch: gh-pages
|
|
55
|
+
directory: gh-pages
|
|
56
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
57
|
+
force: true
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
name: Continuous Integration
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- '*'
|
|
7
|
+
pull_request:
|
|
8
|
+
branches:
|
|
9
|
+
- '*'
|
|
10
|
+
schedule:
|
|
11
|
+
- cron: '59 23 * * *'
|
|
12
|
+
workflow_dispatch:
|
|
13
|
+
inputs:
|
|
14
|
+
version:
|
|
15
|
+
description: Manual CI Run
|
|
16
|
+
default: test
|
|
17
|
+
required: false
|
|
18
|
+
|
|
19
|
+
jobs:
|
|
20
|
+
tests:
|
|
21
|
+
name: ${{ matrix.os }}, ${{ matrix.environment-file }}
|
|
22
|
+
runs-on: ${{ matrix.os }}
|
|
23
|
+
timeout-minutes: 30
|
|
24
|
+
strategy:
|
|
25
|
+
matrix:
|
|
26
|
+
os: [ubuntu-latest]
|
|
27
|
+
environment-file: [
|
|
28
|
+
ci/312.yml,
|
|
29
|
+
ci/313.yml,
|
|
30
|
+
ci/314.yml,
|
|
31
|
+
]
|
|
32
|
+
include:
|
|
33
|
+
- environment-file: ci/312.yml
|
|
34
|
+
os: macos-13 # Intel
|
|
35
|
+
- environment-file: ci/312.yml
|
|
36
|
+
os: macos-latest # Apple Silicon
|
|
37
|
+
- environment-file: ci/312.yml
|
|
38
|
+
os: windows-latest
|
|
39
|
+
fail-fast: false
|
|
40
|
+
|
|
41
|
+
defaults:
|
|
42
|
+
run:
|
|
43
|
+
shell: bash -l {0}
|
|
44
|
+
|
|
45
|
+
steps:
|
|
46
|
+
- name: checkout repo
|
|
47
|
+
uses: actions/checkout@v4
|
|
48
|
+
with:
|
|
49
|
+
fetch-depth: 0 # Fetch all history for all branches and tags.
|
|
50
|
+
|
|
51
|
+
- name: setup micromamba
|
|
52
|
+
uses: mamba-org/setup-micromamba@v1
|
|
53
|
+
with:
|
|
54
|
+
environment-file: ${{ matrix.environment-file }}
|
|
55
|
+
micromamba-version: 'latest'
|
|
56
|
+
|
|
57
|
+
- name: environment info
|
|
58
|
+
run: |
|
|
59
|
+
micromamba info
|
|
60
|
+
micromamba list
|
|
61
|
+
|
|
62
|
+
- name: spatial versions
|
|
63
|
+
run: 'python -c "import geopandas; geopandas.show_versions();"'
|
|
64
|
+
|
|
65
|
+
- name: install package
|
|
66
|
+
run: 'pip install . --no-deps'
|
|
67
|
+
|
|
68
|
+
- name: run tests
|
|
69
|
+
run: |
|
|
70
|
+
pytest tests \
|
|
71
|
+
-v \
|
|
72
|
+
-r a \
|
|
73
|
+
-n auto \
|
|
74
|
+
--color yes \
|
|
75
|
+
--cov pandarm \
|
|
76
|
+
--cov-append \
|
|
77
|
+
--cov-report term-missing \
|
|
78
|
+
--cov-report xml
|
|
79
|
+
|
|
80
|
+
- name: codecov
|
|
81
|
+
uses: codecov/codecov-action@v3
|
|
82
|
+
with:
|
|
83
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
84
|
+
file: ./coverage.xml
|
|
85
|
+
name: panradm-codecov
|
|
86
|
+
|
|
87
|
+
- name: Generate and publish the report
|
|
88
|
+
if: |
|
|
89
|
+
failure()
|
|
90
|
+
&& steps.status.outcome == 'failure'
|
|
91
|
+
&& github.event_name == 'schedule'
|
|
92
|
+
&& github.repository_owner == 'pysal'
|
|
93
|
+
uses: xarray-contrib/issue-from-pytest-log@v1
|
|
94
|
+
with:
|
|
95
|
+
log-path: pytest-log.jsonl
|
pandarm-0.0.0/.gitignore
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# tmp file for builds
|
|
2
|
+
src/cyaccess.cpp
|
|
3
|
+
|
|
4
|
+
.idea/
|
|
5
|
+
.ipynb_checkpoints/
|
|
6
|
+
|
|
7
|
+
# Byte-compiled / optimized / DLL files
|
|
8
|
+
__pycache__/
|
|
9
|
+
*.py[cod]
|
|
10
|
+
|
|
11
|
+
# C extensions
|
|
12
|
+
*.so
|
|
13
|
+
|
|
14
|
+
# Distribution / packaging
|
|
15
|
+
.Python
|
|
16
|
+
env/
|
|
17
|
+
bin/
|
|
18
|
+
build/
|
|
19
|
+
develop-eggs/
|
|
20
|
+
dist/
|
|
21
|
+
eggs/
|
|
22
|
+
lib/
|
|
23
|
+
lib64/
|
|
24
|
+
parts/
|
|
25
|
+
sdist/
|
|
26
|
+
var/
|
|
27
|
+
*.egg-info/
|
|
28
|
+
.installed.cfg
|
|
29
|
+
*.egg
|
|
30
|
+
*.eggs
|
|
31
|
+
|
|
32
|
+
# Installer logs
|
|
33
|
+
pip-log.txt
|
|
34
|
+
pip-delete-this-directory.txt
|
|
35
|
+
|
|
36
|
+
# Unit test / coverage reports
|
|
37
|
+
htmlcov/
|
|
38
|
+
.tox/
|
|
39
|
+
.coverage
|
|
40
|
+
.cache
|
|
41
|
+
nosetests.xml
|
|
42
|
+
coverage.xml
|
|
43
|
+
|
|
44
|
+
# Translations
|
|
45
|
+
*.mo
|
|
46
|
+
|
|
47
|
+
# Mr Developer
|
|
48
|
+
.mr.developer.cfg
|
|
49
|
+
.project
|
|
50
|
+
.pydevproject
|
|
51
|
+
|
|
52
|
+
# Rope
|
|
53
|
+
.ropeproject
|
|
54
|
+
|
|
55
|
+
# Django stuff:
|
|
56
|
+
*.log
|
|
57
|
+
*.pot
|
|
58
|
+
|
|
59
|
+
# Sphinx documentation
|
|
60
|
+
docs/_build/
|
|
61
|
+
|
|
62
|
+
# OSMnet logs
|
|
63
|
+
logs
|
|
64
|
+
|
|
65
|
+
# Example data
|
|
66
|
+
examples/data
|