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.
Files changed (68) hide show
  1. pandarm-0.0.0/.coveragerc +3 -0
  2. pandarm-0.0.0/.github/workflows/build-wheels.yml +65 -0
  3. pandarm-0.0.0/.github/workflows/build_docs.yml +57 -0
  4. pandarm-0.0.0/.github/workflows/unittests.yml +95 -0
  5. pandarm-0.0.0/.gitignore +66 -0
  6. pandarm-0.0.0/LICENSE +662 -0
  7. pandarm-0.0.0/PKG-INFO +43 -0
  8. pandarm-0.0.0/README.md +57 -0
  9. pandarm-0.0.0/ci/312.yml +21 -0
  10. pandarm-0.0.0/ci/313.yml +21 -0
  11. pandarm-0.0.0/ci/314.yml +21 -0
  12. pandarm-0.0.0/docs/Makefile +34 -0
  13. pandarm-0.0.0/docs/source/Makefile +177 -0
  14. pandarm-0.0.0/docs/source/_static/.placeholder +0 -0
  15. pandarm-0.0.0/docs/source/conf.py +261 -0
  16. pandarm-0.0.0/docs/source/img/2000metersum.png +0 -0
  17. pandarm-0.0.0/docs/source/img/500metersum.png +0 -0
  18. pandarm-0.0.0/docs/source/img/distance_to_restaurants.png +0 -0
  19. pandarm-0.0.0/docs/source/index.rst +36 -0
  20. pandarm-0.0.0/docs/source/installation.rst +53 -0
  21. pandarm-0.0.0/docs/source/introduction.rst +101 -0
  22. pandarm-0.0.0/docs/source/loaders.rst +49 -0
  23. pandarm-0.0.0/docs/source/network.rst +8 -0
  24. pandarm-0.0.0/docs/source/tutorial.rst +226 -0
  25. pandarm-0.0.0/docs/source/utilities.rst +4 -0
  26. pandarm-0.0.0/environment.yml +12 -0
  27. pandarm-0.0.0/examples/range_example.py +39 -0
  28. pandarm-0.0.0/examples/shortest_path_example.py +96 -0
  29. pandarm-0.0.0/examples/simple_example.py +43 -0
  30. pandarm-0.0.0/pandarm/__init__.py +7 -0
  31. pandarm-0.0.0/pandarm/loaders/__init__.py +0 -0
  32. pandarm-0.0.0/pandarm/loaders/osm.py +159 -0
  33. pandarm-0.0.0/pandarm/loaders/pandash5.py +77 -0
  34. pandarm-0.0.0/pandarm/network.py +905 -0
  35. pandarm-0.0.0/pandarm/testing.py +5 -0
  36. pandarm-0.0.0/pandarm/utils.py +37 -0
  37. pandarm-0.0.0/pandarm.egg-info/PKG-INFO +43 -0
  38. pandarm-0.0.0/pandarm.egg-info/SOURCES.txt +66 -0
  39. pandarm-0.0.0/pandarm.egg-info/dependency_links.txt +1 -0
  40. pandarm-0.0.0/pandarm.egg-info/requires.txt +38 -0
  41. pandarm-0.0.0/pandarm.egg-info/top_level.txt +2 -0
  42. pandarm-0.0.0/pyproject.toml +64 -0
  43. pandarm-0.0.0/setup.cfg +4 -0
  44. pandarm-0.0.0/setup.py +91 -0
  45. pandarm-0.0.0/src/accessibility.cpp +473 -0
  46. pandarm-0.0.0/src/accessibility.h +129 -0
  47. pandarm-0.0.0/src/contraction_hierarchies/Makefile +20 -0
  48. pandarm-0.0.0/src/contraction_hierarchies/src/BasicDefinitions.h +48 -0
  49. pandarm-0.0.0/src/contraction_hierarchies/src/Contractor/ContractionCleanup.h +320 -0
  50. pandarm-0.0.0/src/contraction_hierarchies/src/Contractor/Contractor.h +616 -0
  51. pandarm-0.0.0/src/contraction_hierarchies/src/DataStructures/BinaryHeap.h +292 -0
  52. pandarm-0.0.0/src/contraction_hierarchies/src/DataStructures/DynamicGraph.h +230 -0
  53. pandarm-0.0.0/src/contraction_hierarchies/src/DataStructures/Percent.h +90 -0
  54. pandarm-0.0.0/src/contraction_hierarchies/src/DataStructures/SimpleCHQuery.h +281 -0
  55. pandarm-0.0.0/src/contraction_hierarchies/src/DataStructures/StaticGraph.h +158 -0
  56. pandarm-0.0.0/src/contraction_hierarchies/src/POIIndex/POIIndex.h +281 -0
  57. pandarm-0.0.0/src/contraction_hierarchies/src/Util/HyperThreading.h +80 -0
  58. pandarm-0.0.0/src/contraction_hierarchies/src/libch.cpp +399 -0
  59. pandarm-0.0.0/src/contraction_hierarchies/src/libch.h +161 -0
  60. pandarm-0.0.0/src/cyaccess.pyx +211 -0
  61. pandarm-0.0.0/src/graphalg.cpp +121 -0
  62. pandarm-0.0.0/src/graphalg.h +50 -0
  63. pandarm-0.0.0/src/shared.h +12 -0
  64. pandarm-0.0.0/tests/osm_sample.h5 +0 -0
  65. pandarm-0.0.0/tests/test_cyaccess.py +119 -0
  66. pandarm-0.0.0/tests/test_pandana.py +434 -0
  67. pandarm-0.0.0/tests/test_pandash5.py +160 -0
  68. pandarm-0.0.0/tests/test_utils.py +35 -0
@@ -0,0 +1,3 @@
1
+ [run]
2
+ omit =
3
+ pandarm/**/tests/*
@@ -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
@@ -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