r5py 1.0.0.dev0__tar.gz → 1.0.0.dev3__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.

Potentially problematic release.


This version of r5py might be problematic. Click here for more details.

Files changed (72) hide show
  1. {r5py-1.0.0.dev0/src/r5py.egg-info → r5py-1.0.0.dev3}/PKG-INFO +3 -6
  2. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/pyproject.toml +4 -6
  3. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/__init__.py +1 -1
  4. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/travel_time_matrix.py +5 -6
  5. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/classpath.py +2 -2
  6. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/config.py +3 -3
  7. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/sample_data_set.py +4 -1
  8. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3/src/r5py.egg-info}/PKG-INFO +3 -6
  9. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py.egg-info/requires.txt +0 -2
  10. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_travel_time_matrix.py +48 -0
  11. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/LICENSE +0 -0
  12. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/README.md +0 -0
  13. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/setup.cfg +0 -0
  14. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/__main__.py +0 -0
  15. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/__init__.py +0 -0
  16. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/access_leg.py +0 -0
  17. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/base_travel_time_matrix.py +0 -0
  18. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/breakdown_stat.py +0 -0
  19. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/detailed_itineraries.py +0 -0
  20. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/direct_leg.py +0 -0
  21. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/egress_leg.py +0 -0
  22. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/regional_task.py +0 -0
  23. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/scenario.py +0 -0
  24. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/street_layer.py +0 -0
  25. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/transfer_leg.py +0 -0
  26. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/transit_layer.py +0 -0
  27. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/transit_leg.py +0 -0
  28. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/transport_mode.py +0 -0
  29. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/transport_network.py +0 -0
  30. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/trip.py +0 -0
  31. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/trip_leg.py +0 -0
  32. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/r5/trip_planner.py +0 -0
  33. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/__init__.py +0 -0
  34. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/camel_to_snake_case.py +0 -0
  35. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/contains_gtfs_data.py +0 -0
  36. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/data_validation.py +0 -0
  37. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/environment.py +0 -0
  38. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/exceptions.py +0 -0
  39. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/good_enough_equidistant_crs.py +0 -0
  40. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/jvm.py +0 -0
  41. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/memory_footprint.py +0 -0
  42. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/parse_int_date.py +0 -0
  43. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/snake_to_camel_case.py +0 -0
  44. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/validating_requests_session.py +0 -0
  45. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py/util/warnings.py +0 -0
  46. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py.egg-info/SOURCES.txt +0 -0
  47. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py.egg-info/dependency_links.txt +0 -0
  48. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/src/r5py.egg-info/top_level.txt +0 -0
  49. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_breakdownstats.py +0 -0
  50. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_camel_to_snake_case.py +0 -0
  51. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_classpath.py +0 -0
  52. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_config.py +0 -0
  53. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_contains_gtfs_data.py +0 -0
  54. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_data_validation.py +0 -0
  55. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_detailed_itineraries.py +0 -0
  56. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_deterministic_behaviour.py +0 -0
  57. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_good_enough_equidistant_crs.py +0 -0
  58. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_java_casting.py +0 -0
  59. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_memory_footprint.py +0 -0
  60. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_parse_int_date.py +0 -0
  61. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_regional_task.py +0 -0
  62. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_sample_data_set.py +0 -0
  63. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_snake_to_camel_case.py +0 -0
  64. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_street_layer.py +0 -0
  65. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_transit_layer.py +0 -0
  66. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_transport_mode.py +0 -0
  67. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_transport_network.py +0 -0
  68. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_trip.py +0 -0
  69. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_trip_leg.py +0 -0
  70. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_trip_planner.py +0 -0
  71. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_validating_request_session.py +0 -0
  72. {r5py-1.0.0.dev0 → r5py-1.0.0.dev3}/tests/test_verbose_warnings.py +0 -0
@@ -1,9 +1,8 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: r5py
3
- Version: 1.0.0.dev0
3
+ Version: 1.0.0.dev3
4
4
  Summary: Python wrapper for the R5 routing analysis engine
5
- Author: Willem Klumpenhouwer, Marcus Sairava, Rafael Pereira, Henrikki Tenkanen
6
- Author-email: Christoph Fink <christoph.fink@helsinki.fi>
5
+ Author: Christoph Fink, Willem Klumpenhouwer, Marcus Sairava, Rafael Pereira, Henrikki Tenkanen
7
6
  License: GPL-3.0-or-later or MIT
8
7
  Project-URL: Documentation, https://r5py.readthedocs.org/
9
8
  Project-URL: Repository, https://github.com/r5py/r5py.git
@@ -21,7 +20,6 @@ Requires-Dist: ConfigArgParse
21
20
  Requires-Dist: filelock
22
21
  Requires-Dist: fiona
23
22
  Requires-Dist: geopandas
24
- Requires-Dist: importlib_resources
25
23
  Requires-Dist: joblib
26
24
  Requires-Dist: jpype1
27
25
  Requires-Dist: numpy
@@ -52,7 +50,6 @@ Requires-Dist: sphinxcontrib-images; extra == "docs"
52
50
  Provides-Extra: tests
53
51
  Requires-Dist: pyarrow; extra == "tests"
54
52
  Requires-Dist: pytest; extra == "tests"
55
- Requires-Dist: pytest-asyncio; extra == "tests"
56
53
  Requires-Dist: pytest-cov; extra == "tests"
57
54
  Requires-Dist: pytest-lazy-fixtures; extra == "tests"
58
55
  Requires-Dist: r5py.sampledata.helsinki>=0.1.1; extra == "tests"
@@ -8,7 +8,7 @@ description = "Python wrapper for the R5 routing analysis engine"
8
8
  readme = "README.md"
9
9
 
10
10
  authors = [
11
- { name = "Christoph Fink", email = "christoph.fink@helsinki.fi" },
11
+ { name = "Christoph Fink" },
12
12
  { name = "Willem Klumpenhouwer" },
13
13
  { name = "Marcus Sairava" },
14
14
  { name = "Rafael Pereira" },
@@ -20,7 +20,6 @@ dependencies = [
20
20
  "filelock",
21
21
  "fiona",
22
22
  "geopandas",
23
- "importlib_resources",
24
23
  "joblib",
25
24
  "jpype1",
26
25
  "numpy",
@@ -49,9 +48,9 @@ docs = ["contextily", "folium", "GitPython", "h3>=4.0.0b2", "jupyterlab_myst",
49
48
  "r5py.sampledata.helsinki>=0.1.1", "r5py.sampledata.sao_paulo>=0.1.1",
50
49
  "shapely", "sphinx", "sphinx-book-theme", "sphinx-design",
51
50
  "sphinxcontrib-bibtex", "sphinxcontrib-images"]
52
- tests = ["pyarrow", "pytest", "pytest-asyncio", "pytest-cov",
53
- "pytest-lazy-fixtures", "r5py.sampledata.helsinki>=0.1.1",
54
- "r5py.sampledata.sao_paulo>=0.1.1", "typing-extensions"]
51
+ tests = ["pyarrow", "pytest", "pytest-cov", "pytest-lazy-fixtures",
52
+ "r5py.sampledata.helsinki>=0.1.1", "r5py.sampledata.sao_paulo>=0.1.1",
53
+ "typing-extensions"]
55
54
 
56
55
 
57
56
  [project.urls]
@@ -81,7 +80,6 @@ filterwarnings = [
81
80
  "ignore:Successfully downloaded r5-"
82
81
  ]
83
82
  testpaths = ["tests"]
84
- asyncio_mode = "auto"
85
83
 
86
84
  [tool.setuptools.dynamic]
87
85
  version = {attr = "r5py.__version__"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  """Python wrapper for the R5 routing analysis engine."""
4
4
 
5
- __version__ = "1.0.0dev0"
5
+ __version__ = "1.0.0.dev3"
6
6
 
7
7
 
8
8
  from .r5 import (
@@ -134,17 +134,16 @@ class TravelTimeMatrix(BaseTravelTimeMatrix):
134
134
  travel time.
135
135
  """
136
136
  # First, create an empty DataFrame (this forces column types)
137
- travel_time_columns = {
138
- "from_id": pandas.Series(dtype=str),
139
- "to_id": pandas.Series(dtype=str),
140
- }
141
- travel_time_columns.update(
137
+ od_matrix = pandas.DataFrame(
142
138
  {
139
+ "from_id": pandas.Series(dtype=str),
140
+ "to_id": pandas.Series(dtype=str),
141
+ }
142
+ | {
143
143
  f"travel_time_p{percentile:d}": pandas.Series(dtype=float)
144
144
  for percentile in self.request.percentiles
145
145
  }
146
146
  )
147
- od_matrix = pandas.DataFrame(travel_time_columns)
148
147
 
149
148
  # first assign columns with correct length (`to_id`),
150
149
  # only then fill `from_id` (it’s a scalar)
@@ -18,9 +18,9 @@ from .warnings import R5pyWarning
18
18
 
19
19
  # update these to use a newer R5 version if no R5 available locally
20
20
  R5_JAR_URL = (
21
- "https://github.com/r5py/r5/releases/download/v7.2-r5py/r5-v7.2-r5py-all.jar"
21
+ "https://github.com/r5py/r5/releases/download/v7.3-r5py/r5-v7.3-r5py-all.jar"
22
22
  )
23
- R5_JAR_SHA256 = "f693af105b4b9c5fb317f0c81cf2d6d54a46b3b56a7c4817454d758920fbe706"
23
+ R5_JAR_SHA256 = "cb1ccad370757ba229cf17f1bedc9549ff5d77fdbb44b7a3058104fe1f243f53"
24
24
  # ---
25
25
 
26
26
 
@@ -3,20 +3,20 @@
3
3
  """Handle configuration options and command line options."""
4
4
 
5
5
  import functools
6
+ import importlib.resources
6
7
  import os
7
8
  import pathlib
8
9
  import sys
9
10
  import tempfile
10
11
 
11
12
  import configargparse
12
- import importlib_resources
13
13
 
14
14
 
15
15
  __all__ = ["Config"]
16
16
 
17
17
 
18
18
  PACKAGE = __package__.split(".")[0]
19
- CONFIG_FILE_TEMPLATE = importlib_resources.files(f"{PACKAGE}.util").joinpath(
19
+ CONFIG_FILE_TEMPLATE = importlib.resources.files(f"{PACKAGE}.util").joinpath(
20
20
  f"{PACKAGE}.yml.template"
21
21
  )
22
22
 
@@ -116,7 +116,7 @@ class Config:
116
116
  try:
117
117
  destination_path.parent.mkdir(parents=True, exist_ok=True)
118
118
 
119
- with importlib_resources.as_file(CONFIG_FILE_TEMPLATE) as template:
119
+ with importlib.resources.as_file(CONFIG_FILE_TEMPLATE) as template:
120
120
  destination_path.write_text(template.read_text())
121
121
 
122
122
  except (
@@ -20,7 +20,10 @@ class SampleDataSet(pathlib.Path):
20
20
 
21
21
  # decide which kind of pathlib.Path we are (Windows, Unix, ...)
22
22
  # cf. https://stackoverflow.com/a/66613346/463864
23
- _flavour = type(pathlib.Path())._flavour
23
+ try:
24
+ _flavour = type(pathlib.Path())._flavour
25
+ except AttributeError: # Python>=3.13
26
+ pass
24
27
 
25
28
  _CACHE_DIR = pathlib.Path(config.CACHE_DIR) / "sampledata"
26
29
 
@@ -1,9 +1,8 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: r5py
3
- Version: 1.0.0.dev0
3
+ Version: 1.0.0.dev3
4
4
  Summary: Python wrapper for the R5 routing analysis engine
5
- Author: Willem Klumpenhouwer, Marcus Sairava, Rafael Pereira, Henrikki Tenkanen
6
- Author-email: Christoph Fink <christoph.fink@helsinki.fi>
5
+ Author: Christoph Fink, Willem Klumpenhouwer, Marcus Sairava, Rafael Pereira, Henrikki Tenkanen
7
6
  License: GPL-3.0-or-later or MIT
8
7
  Project-URL: Documentation, https://r5py.readthedocs.org/
9
8
  Project-URL: Repository, https://github.com/r5py/r5py.git
@@ -21,7 +20,6 @@ Requires-Dist: ConfigArgParse
21
20
  Requires-Dist: filelock
22
21
  Requires-Dist: fiona
23
22
  Requires-Dist: geopandas
24
- Requires-Dist: importlib_resources
25
23
  Requires-Dist: joblib
26
24
  Requires-Dist: jpype1
27
25
  Requires-Dist: numpy
@@ -52,7 +50,6 @@ Requires-Dist: sphinxcontrib-images; extra == "docs"
52
50
  Provides-Extra: tests
53
51
  Requires-Dist: pyarrow; extra == "tests"
54
52
  Requires-Dist: pytest; extra == "tests"
55
- Requires-Dist: pytest-asyncio; extra == "tests"
56
53
  Requires-Dist: pytest-cov; extra == "tests"
57
54
  Requires-Dist: pytest-lazy-fixtures; extra == "tests"
58
55
  Requires-Dist: r5py.sampledata.helsinki>=0.1.1; extra == "tests"
@@ -2,7 +2,6 @@ ConfigArgParse
2
2
  filelock
3
3
  fiona
4
4
  geopandas
5
- importlib_resources
6
5
  joblib
7
6
  jpype1
8
7
  numpy
@@ -35,7 +34,6 @@ sphinxcontrib-images
35
34
  [tests]
36
35
  pyarrow
37
36
  pytest
38
- pytest-asyncio
39
37
  pytest-cov
40
38
  pytest-lazy-fixtures
41
39
  r5py.sampledata.helsinki>=0.1.1
@@ -536,3 +536,51 @@ class TestTravelTimeMatrixComputer:
536
536
  ).compute_travel_times()
537
537
 
538
538
  geopandas.testing.assert_geodataframe_equal(ttm_new, ttm_old)
539
+
540
+ @pytest.mark.parametrize(
541
+ [
542
+ "transport_mode",
543
+ "expected_travel_times",
544
+ ],
545
+ [
546
+ (
547
+ r5py.TransportMode.BICYCLE,
548
+ pytest_lazy_fixtures.lf("travel_times_bicycle"),
549
+ ),
550
+ (
551
+ r5py.TransportMode.CAR,
552
+ pytest_lazy_fixtures.lf("travel_times_car"),
553
+ ),
554
+ (
555
+ r5py.TransportMode.TRANSIT,
556
+ pytest_lazy_fixtures.lf("travel_times_transit"),
557
+ ),
558
+ (
559
+ r5py.TransportMode.WALK,
560
+ pytest_lazy_fixtures.lf("travel_times_walk"),
561
+ ),
562
+ ],
563
+ )
564
+ def test_travel_times_by_transport_mode(
565
+ self,
566
+ transport_network,
567
+ population_grid_points,
568
+ departure_datetime,
569
+ transport_mode,
570
+ expected_travel_times,
571
+ ):
572
+ # subset to keep test comparison data sets small
573
+ origins = population_grid_points[::5].copy()
574
+ travel_times = r5py.TravelTimeMatrix(
575
+ transport_network,
576
+ origins=origins,
577
+ departure=departure_datetime,
578
+ transport_modes=[transport_mode],
579
+ )
580
+
581
+ travel_times = travel_times.reset_index(drop=True)
582
+
583
+ pandas.testing.assert_frame_equal(
584
+ travel_times,
585
+ expected_travel_times,
586
+ )
File without changes
File without changes
File without changes
File without changes
File without changes