r5py 0.1.1.dev2__py3-none-any.whl → 1.0.0.dev0__py3-none-any.whl
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.
- r5py/__init__.py +6 -1
- r5py/__main__.py +1 -14
- r5py/r5/__init__.py +18 -2
- r5py/r5/{base_travel_time_matrix_computer.py → base_travel_time_matrix.py} +28 -8
- r5py/r5/{detailed_itineraries_computer.py → detailed_itineraries.py} +72 -19
- r5py/r5/direct_leg.py +1 -3
- r5py/r5/regional_task.py +12 -9
- r5py/r5/street_layer.py +1 -0
- r5py/r5/transfer_leg.py +2 -6
- r5py/r5/transit_layer.py +6 -0
- r5py/r5/transit_leg.py +1 -5
- r5py/r5/transport_mode.py +5 -3
- r5py/r5/transport_network.py +16 -7
- r5py/r5/{travel_time_matrix_computer.py → travel_time_matrix.py} +94 -19
- r5py/r5/trip.py +13 -8
- r5py/r5/trip_leg.py +76 -15
- r5py/r5/trip_planner.py +103 -47
- r5py/util/__init__.py +2 -0
- r5py/util/classpath.py +9 -5
- r5py/util/config.py +11 -2
- r5py/util/environment.py +34 -0
- r5py/util/good_enough_equidistant_crs.py +0 -1
- r5py/util/memory_footprint.py +3 -5
- r5py/util/sample_data_set.py +13 -5
- r5py/util/validating_requests_session.py +2 -2
- {r5py-0.1.1.dev2.dist-info → r5py-1.0.0.dev0.dist-info}/METADATA +29 -27
- r5py-1.0.0.dev0.dist-info/RECORD +42 -0
- {r5py-0.1.1.dev2.dist-info → r5py-1.0.0.dev0.dist-info}/WHEEL +1 -1
- r5py/sampledata/_keep/__init__.py +0 -3
- r5py-0.1.1.dev2.dist-info/RECORD +0 -42
- {r5py-0.1.1.dev2.dist-info → r5py-1.0.0.dev0.dist-info}/LICENSE +0 -0
- {r5py-0.1.1.dev2.dist-info → r5py-1.0.0.dev0.dist-info}/top_level.txt +0 -0
r5py/util/__init__.py
CHANGED
r5py/util/classpath.py
CHANGED
|
@@ -17,8 +17,10 @@ from .warnings import R5pyWarning
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
# update these to use a newer R5 version if no R5 available locally
|
|
20
|
-
R5_JAR_URL =
|
|
21
|
-
|
|
20
|
+
R5_JAR_URL = (
|
|
21
|
+
"https://github.com/r5py/r5/releases/download/v7.2-r5py/r5-v7.2-r5py-all.jar"
|
|
22
|
+
)
|
|
23
|
+
R5_JAR_SHA256 = "f693af105b4b9c5fb317f0c81cf2d6d54a46b3b56a7c4817454d758920fbe706"
|
|
22
24
|
# ---
|
|
23
25
|
|
|
24
26
|
|
|
@@ -73,9 +75,11 @@ def find_r5_classpath(arguments):
|
|
|
73
75
|
"Could not find R5 jar, trying to download it from upstream",
|
|
74
76
|
R5pyWarning,
|
|
75
77
|
)
|
|
76
|
-
with
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
with (
|
|
79
|
+
ValidatingRequestsSession() as session,
|
|
80
|
+
session.get(R5_JAR_URL, R5_JAR_SHA256) as response,
|
|
81
|
+
open(r5_classpath, "wb") as jar,
|
|
82
|
+
):
|
|
79
83
|
jar.write(response.content)
|
|
80
84
|
if arguments.verbose:
|
|
81
85
|
warnings.warn(
|
r5py/util/config.py
CHANGED
|
@@ -31,7 +31,6 @@ class Config:
|
|
|
31
31
|
|
|
32
32
|
def __init__(self):
|
|
33
33
|
"""Load configuration from config files or command line arguments."""
|
|
34
|
-
|
|
35
34
|
self.argparser.add(
|
|
36
35
|
"-v",
|
|
37
36
|
"--verbose",
|
|
@@ -40,6 +39,7 @@ class Config:
|
|
|
40
39
|
)
|
|
41
40
|
|
|
42
41
|
def __new__(cls):
|
|
42
|
+
"""Load configuration from config files or command line arguments."""
|
|
43
43
|
if cls._instance is None:
|
|
44
44
|
cls._instance = super(Config, cls).__new__(cls)
|
|
45
45
|
return cls._instance
|
|
@@ -55,6 +55,7 @@ class Config:
|
|
|
55
55
|
|
|
56
56
|
@property
|
|
57
57
|
def argparser(self):
|
|
58
|
+
"""Return a singleton instance of a `configargparse.ArgumentParser`."""
|
|
58
59
|
try:
|
|
59
60
|
argparser = configargparse.get_argument_parser(
|
|
60
61
|
prog=PACKAGE,
|
|
@@ -67,6 +68,7 @@ class Config:
|
|
|
67
68
|
|
|
68
69
|
@functools.cached_property
|
|
69
70
|
def CACHE_DIR(self):
|
|
71
|
+
"""Save persistent cache files into this directory."""
|
|
70
72
|
cache_dir = (
|
|
71
73
|
pathlib.Path(
|
|
72
74
|
os.environ.get("LOCALAPPDATA")
|
|
@@ -80,6 +82,7 @@ class Config:
|
|
|
80
82
|
|
|
81
83
|
@functools.cached_property
|
|
82
84
|
def CONFIG_FILES(self):
|
|
85
|
+
"""List locations of potential configuration files."""
|
|
83
86
|
config_files = [
|
|
84
87
|
pathlib.Path(f"/etc/{PACKAGE}.yml"),
|
|
85
88
|
pathlib.Path(
|
|
@@ -130,8 +133,14 @@ class Config:
|
|
|
130
133
|
|
|
131
134
|
@functools.cached_property
|
|
132
135
|
def TEMP_DIR(self):
|
|
136
|
+
"""
|
|
137
|
+
Save temporary files to this directory.
|
|
138
|
+
|
|
139
|
+
read-only property,
|
|
140
|
+
use command-line option `--temporary-directory` to change.
|
|
141
|
+
"""
|
|
133
142
|
parent_dir = self.arguments.temporary_directory
|
|
134
|
-
temp_dir = pathlib.Path(tempfile.mkdtemp(prefix=self.PACKAGE
|
|
143
|
+
temp_dir = pathlib.Path(tempfile.mkdtemp(prefix=self.PACKAGE, dir=parent_dir))
|
|
135
144
|
return temp_dir
|
|
136
145
|
|
|
137
146
|
PACKAGE = PACKAGE
|
r5py/util/environment.py
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
"""Normalise some environment variables that might not always get set."""
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import pathlib
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# if a readthedocs runner uses a conda environment, it fails to
|
|
12
|
+
# properly initialise the JAVA_HOME and PROJ_LIB environment variables
|
|
13
|
+
#
|
|
14
|
+
# this might happen on other installation, so let’s keep this as general
|
|
15
|
+
# as possible.
|
|
16
|
+
#
|
|
17
|
+
# As readthedocs also does not export CONDA_PREFIX, we first reconstruct
|
|
18
|
+
# it from CONDA_ENVS_PATH and CONDA_DEFAULT_ENV
|
|
19
|
+
if (
|
|
20
|
+
"CONDA_PREFIX" not in os.environ
|
|
21
|
+
and "CONDA_DEFAULT_ENV" in os.environ
|
|
22
|
+
and "CONDA_ENVS_PATH" in os.environ
|
|
23
|
+
):
|
|
24
|
+
os.environ["CONDA_PREFIX"] = str(
|
|
25
|
+
pathlib.Path(os.environ["CONDA_ENVS_PATH"]) / os.environ["CONDA_DEFAULT_ENV"]
|
|
26
|
+
)
|
|
27
|
+
if "JAVA_HOME" not in os.environ and "CONDA_PREFIX" in os.environ:
|
|
28
|
+
os.environ["JAVA_HOME"] = str(
|
|
29
|
+
pathlib.Path(os.environ["CONDA_PREFIX"]) / "lib" / "jvm"
|
|
30
|
+
)
|
|
31
|
+
if "PROJ_LIB" not in os.environ and "CONDA_PREFIX" in os.environ:
|
|
32
|
+
os.environ["PROJ_LIB"] = str(
|
|
33
|
+
pathlib.Path(os.environ["CONDA_PREFIX"]) / "share" / "proj"
|
|
34
|
+
)
|
|
@@ -31,7 +31,6 @@ class GoodEnoughEquidistantCrs(pyproj.CRS):
|
|
|
31
31
|
The geographical extent for which to find an equidistant reference
|
|
32
32
|
system, in `EPSG:4326`
|
|
33
33
|
"""
|
|
34
|
-
|
|
35
34
|
if GoodEnoughEquidistantCrs._is_plausible_in_epsg4326(extent):
|
|
36
35
|
# default CRS in case we do not find any better match
|
|
37
36
|
crs = pyproj.CRS.from_epsg(3857)
|
r5py/util/memory_footprint.py
CHANGED
|
@@ -62,9 +62,9 @@ def _share_of_ram(share=0.8, leave_at_least=(2 * 1024**3)):
|
|
|
62
62
|
|
|
63
63
|
def _parse_value_and_unit(value_and_unit, max_unit_length=1):
|
|
64
64
|
"""
|
|
65
|
-
Extract value and unit from a string
|
|
66
|
-
(non-numeric) unit suffix.
|
|
65
|
+
Extract value and unit from a string.
|
|
67
66
|
|
|
67
|
+
The string is allowed to contain a (non-numeric) unit suffix.
|
|
68
68
|
For instance, input values of `'1M'` or `3.732G` would yield return
|
|
69
69
|
values `(1, 'M')` or `(3.732, 'G')`, respectively.
|
|
70
70
|
|
|
@@ -112,11 +112,10 @@ def _interpret_power_of_two_units(value, unit):
|
|
|
112
112
|
int:
|
|
113
113
|
interpreted value in bytes
|
|
114
114
|
"""
|
|
115
|
-
|
|
116
|
-
SUFFIXES = " KMGTPEZY"
|
|
117
115
|
# the position of each suffix in this string is the unit’s exponent
|
|
118
116
|
# over 1024.
|
|
119
117
|
# Compare https://en.wikipedia.org/wiki/ISO%2FIEC_80000#Part_13:_Information_science_and_technology
|
|
118
|
+
SUFFIXES = " KMGTPEZY"
|
|
120
119
|
|
|
121
120
|
if unit is None:
|
|
122
121
|
unit = " "
|
|
@@ -152,7 +151,6 @@ def _get_max_memory(max_memory):
|
|
|
152
151
|
int
|
|
153
152
|
Maximum amount of memory allocated for R5 in bytes.
|
|
154
153
|
"""
|
|
155
|
-
|
|
156
154
|
try:
|
|
157
155
|
value, unit = _parse_value_and_unit(max_memory)
|
|
158
156
|
except TypeError:
|
r5py/util/sample_data_set.py
CHANGED
|
@@ -25,6 +25,7 @@ class SampleDataSet(pathlib.Path):
|
|
|
25
25
|
_CACHE_DIR = pathlib.Path(config.CACHE_DIR) / "sampledata"
|
|
26
26
|
|
|
27
27
|
def __new__(cls, remote_url, sha256_checksum):
|
|
28
|
+
"""Define a data set that is downloaded and cached on demand."""
|
|
28
29
|
# pathlib.Path does everything in __new__, rather than __init__
|
|
29
30
|
cached_path = cls._CACHE_DIR / pathlib.Path(remote_url).name
|
|
30
31
|
return super().__new__(cls, cached_path)
|
|
@@ -40,10 +41,16 @@ class SampleDataSet(pathlib.Path):
|
|
|
40
41
|
sha256_checksum : str
|
|
41
42
|
checksum for this data set, using an SHA256 algorithm
|
|
42
43
|
"""
|
|
43
|
-
|
|
44
|
+
cached_path = self._CACHE_DIR / pathlib.Path(remote_url).name
|
|
45
|
+
|
|
46
|
+
try: # Python>=3.12
|
|
47
|
+
super().__init__(cached_path)
|
|
48
|
+
except TypeError:
|
|
49
|
+
super().__init__()
|
|
50
|
+
|
|
44
51
|
self.remote_url = remote_url
|
|
45
52
|
self.checksum = sha256_checksum
|
|
46
|
-
self.cached_path =
|
|
53
|
+
self.cached_path = cached_path
|
|
47
54
|
self._download_remote_file()
|
|
48
55
|
|
|
49
56
|
def _download_remote_file(self):
|
|
@@ -60,7 +67,8 @@ class SampleDataSet(pathlib.Path):
|
|
|
60
67
|
RuntimeWarning,
|
|
61
68
|
)
|
|
62
69
|
self.cached_path.parent.mkdir(exist_ok=True)
|
|
63
|
-
with
|
|
64
|
-
|
|
65
|
-
|
|
70
|
+
with (
|
|
71
|
+
ValidatingRequestsSession() as session,
|
|
72
|
+
session.get(self.remote_url, self.checksum) as response,
|
|
73
|
+
):
|
|
66
74
|
self.cached_path.write_bytes(response.content)
|
|
@@ -30,12 +30,12 @@ class ValidatingRequestsSession(requests.Session):
|
|
|
30
30
|
self._algorithm = checksum_algorithm
|
|
31
31
|
|
|
32
32
|
def get(self, url, checksum, **kwargs):
|
|
33
|
-
"""
|
|
33
|
+
"""Send a GET request, tests checksum."""
|
|
34
34
|
kwargs.setdefault("allow_redirects", True)
|
|
35
35
|
return self.request("GET", url, checksum, **kwargs)
|
|
36
36
|
|
|
37
37
|
def post(self, url, checksum, **kwargs):
|
|
38
|
-
"""
|
|
38
|
+
"""Send a POST request, tests checksum."""
|
|
39
39
|
return self.request("POST", url, checksum, **kwargs)
|
|
40
40
|
|
|
41
41
|
# delete, put, head don’t return data,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: r5py
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0.dev0
|
|
4
4
|
Summary: Python wrapper for the R5 routing analysis engine
|
|
5
5
|
Author: Willem Klumpenhouwer, Marcus Sairava, Rafael Pereira, Henrikki Tenkanen
|
|
6
6
|
Author-email: Christoph Fink <christoph.fink@helsinki.fi>
|
|
@@ -25,37 +25,39 @@ Requires-Dist: importlib-resources
|
|
|
25
25
|
Requires-Dist: joblib
|
|
26
26
|
Requires-Dist: jpype1
|
|
27
27
|
Requires-Dist: numpy
|
|
28
|
-
Requires-Dist: pandas
|
|
28
|
+
Requires-Dist: pandas>=2.1.0
|
|
29
29
|
Requires-Dist: psutil
|
|
30
30
|
Requires-Dist: pyproj
|
|
31
31
|
Requires-Dist: requests
|
|
32
|
-
Requires-Dist: shapely
|
|
32
|
+
Requires-Dist: shapely>=2.0
|
|
33
33
|
Provides-Extra: docs
|
|
34
|
-
Requires-Dist: contextily
|
|
35
|
-
Requires-Dist: folium
|
|
36
|
-
Requires-Dist: GitPython
|
|
37
|
-
Requires-Dist: h3
|
|
38
|
-
Requires-Dist: jupyterlab-myst
|
|
39
|
-
Requires-Dist: mapclassify
|
|
40
|
-
Requires-Dist: matplotlib
|
|
41
|
-
Requires-Dist: myst-nb
|
|
42
|
-
Requires-Dist: nbsphinx
|
|
43
|
-
Requires-Dist: pybtex-apa7-style
|
|
44
|
-
Requires-Dist: r5py.sampledata.helsinki
|
|
45
|
-
Requires-Dist: r5py.sampledata.sao-paulo
|
|
46
|
-
Requires-Dist: shapely
|
|
47
|
-
Requires-Dist: sphinx
|
|
48
|
-
Requires-Dist: sphinx-book-theme
|
|
49
|
-
Requires-Dist: sphinx-design
|
|
50
|
-
Requires-Dist: sphinxcontrib-bibtex
|
|
51
|
-
Requires-Dist: sphinxcontrib-images
|
|
34
|
+
Requires-Dist: contextily; extra == "docs"
|
|
35
|
+
Requires-Dist: folium; extra == "docs"
|
|
36
|
+
Requires-Dist: GitPython; extra == "docs"
|
|
37
|
+
Requires-Dist: h3>=4.0.0b2; extra == "docs"
|
|
38
|
+
Requires-Dist: jupyterlab-myst; extra == "docs"
|
|
39
|
+
Requires-Dist: mapclassify; extra == "docs"
|
|
40
|
+
Requires-Dist: matplotlib; extra == "docs"
|
|
41
|
+
Requires-Dist: myst-nb; extra == "docs"
|
|
42
|
+
Requires-Dist: nbsphinx; extra == "docs"
|
|
43
|
+
Requires-Dist: pybtex-apa7-style; extra == "docs"
|
|
44
|
+
Requires-Dist: r5py.sampledata.helsinki>=0.1.1; extra == "docs"
|
|
45
|
+
Requires-Dist: r5py.sampledata.sao-paulo>=0.1.1; extra == "docs"
|
|
46
|
+
Requires-Dist: shapely; extra == "docs"
|
|
47
|
+
Requires-Dist: sphinx; extra == "docs"
|
|
48
|
+
Requires-Dist: sphinx-book-theme; extra == "docs"
|
|
49
|
+
Requires-Dist: sphinx-design; extra == "docs"
|
|
50
|
+
Requires-Dist: sphinxcontrib-bibtex; extra == "docs"
|
|
51
|
+
Requires-Dist: sphinxcontrib-images; extra == "docs"
|
|
52
52
|
Provides-Extra: tests
|
|
53
|
-
Requires-Dist:
|
|
54
|
-
Requires-Dist: pytest
|
|
55
|
-
Requires-Dist: pytest-
|
|
56
|
-
Requires-Dist: pytest-
|
|
57
|
-
Requires-Dist:
|
|
58
|
-
Requires-Dist: r5py.sampledata.
|
|
53
|
+
Requires-Dist: pyarrow; extra == "tests"
|
|
54
|
+
Requires-Dist: pytest; extra == "tests"
|
|
55
|
+
Requires-Dist: pytest-asyncio; extra == "tests"
|
|
56
|
+
Requires-Dist: pytest-cov; extra == "tests"
|
|
57
|
+
Requires-Dist: pytest-lazy-fixtures; extra == "tests"
|
|
58
|
+
Requires-Dist: r5py.sampledata.helsinki>=0.1.1; extra == "tests"
|
|
59
|
+
Requires-Dist: r5py.sampledata.sao-paulo>=0.1.1; extra == "tests"
|
|
60
|
+
Requires-Dist: typing-extensions; extra == "tests"
|
|
59
61
|
|
|
60
62
|
<img class="r5py_logo" align="right" src="https://github.com/r5py/r5py/raw/main/docs/_static/images/r5py_blue.svg" alt="r5py logo" style="width:180px; max-width:30vW;">
|
|
61
63
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
r5py/__init__.py,sha256=8aG7qJXJb_PEHvRoC4PUA7i4CHF8bFS5k8Dgkbgc1X8,516
|
|
2
|
+
r5py/__main__.py,sha256=Wvn0ChD7E-dCSZ8b8k_HhHG0KMOk0qMNFkijGuSH3-0,81
|
|
3
|
+
r5py/r5/__init__.py,sha256=N_55XlwBDUtljFEHIDYSFb4pPPHXsHdPfF-8qu9IjhQ,1071
|
|
4
|
+
r5py/r5/access_leg.py,sha256=W3GfPEpqmWD1c4xipd6UcVIaBC-yb6srGCZV30E2dPY,293
|
|
5
|
+
r5py/r5/base_travel_time_matrix.py,sha256=Vl82Wkk2iANNy6L3r937yXNnQ9lmMOErGT_-fQnb1Ms,6978
|
|
6
|
+
r5py/r5/breakdown_stat.py,sha256=ZQkWA0hXlcRH3KVgtxPSNHP0FUDri8MWqdFk8EUdDMU,533
|
|
7
|
+
r5py/r5/detailed_itineraries.py,sha256=kLIlMMMGC3pbjzkhIQDx9AdQ7wFBcMzCteB8E7JLdQQ,10964
|
|
8
|
+
r5py/r5/direct_leg.py,sha256=T7wX8puhOVIssCpflXthYs-G9OA8pasFbdz9p8k8teg,1054
|
|
9
|
+
r5py/r5/egress_leg.py,sha256=9rsCIcwlZUzoZE6q4imNY3VWpjJepO1IJvheVrlPi90,297
|
|
10
|
+
r5py/r5/regional_task.py,sha256=wTNx2NT3-GCEvDyz0e-_YYkVWtpE66dg2IlXTA1gI-4,23234
|
|
11
|
+
r5py/r5/scenario.py,sha256=nUNAlN3cO7E_b4sMpNqdL0FD7WQaQ49iIvh-k8l4YRM,763
|
|
12
|
+
r5py/r5/street_layer.py,sha256=iGlAWftzmwzaRUpXngis7prVuH3Oq8i-AXS8-pnVXMk,2259
|
|
13
|
+
r5py/r5/transfer_leg.py,sha256=_IpzQJAyW4hDPO5V4k-ZjIPd3uyxhHPa4U6_b8UbKt4,311
|
|
14
|
+
r5py/r5/transit_layer.py,sha256=vVo_o10yDCzpujOQ99xdzmznwVjAbANjdDflQy2QOpI,3223
|
|
15
|
+
r5py/r5/transit_leg.py,sha256=R0Qc9YLMEXYu51NIdo7Q0bdmpYIJf5irEDXWrW6pZWE,221
|
|
16
|
+
r5py/r5/transport_mode.py,sha256=zHSqXb0R4oyjTp069CzO69IgoCKt0nmOAwsSy272rGo,3675
|
|
17
|
+
r5py/r5/transport_network.py,sha256=d4PPBEBk3t2QbUI5KMS9zM-a4s4E4zEYOHIV6txCnYg,10777
|
|
18
|
+
r5py/r5/travel_time_matrix.py,sha256=S76Ir53hFwsJeB2t2MrC1azu5apt6Sptgew9NNJO3YA,8028
|
|
19
|
+
r5py/r5/trip.py,sha256=AqhlhgYaGRL5jVzV08BhsqgWxe8f4wAb5HMP8HIGwc8,2944
|
|
20
|
+
r5py/r5/trip_leg.py,sha256=9E4vZpBEJCXIVqAXWJvnPloC-upEASKhFnjiuen8i8A,6495
|
|
21
|
+
r5py/r5/trip_planner.py,sha256=qUzzTA3PHcHkN7kNzAywhLFQswGDyPSgtkkvPZ9eJVQ,23819
|
|
22
|
+
r5py/util/__init__.py,sha256=S-agt-08twU7hFIH1_x_VjuNC-WHfP6844n0xM0E8t8,714
|
|
23
|
+
r5py/util/camel_to_snake_case.py,sha256=zj5F3PNBvsuS6vqN4USeeo8NI-3hnscGhwun0G95AK0,673
|
|
24
|
+
r5py/util/classpath.py,sha256=Q8DETY-U_rY9UeFmrp3stxDj75wv-u7fhxXVp9AL00s,2773
|
|
25
|
+
r5py/util/config.py,sha256=TpT67KZoHj17USjmGgiyH7HKa757CFXVk5nnBEio8E0,4667
|
|
26
|
+
r5py/util/contains_gtfs_data.py,sha256=ooX4hfVDKK0aqX1MI46jSFZ7dZ6riyXaORrgF6PUFrk,1211
|
|
27
|
+
r5py/util/data_validation.py,sha256=H5Mcp2nS4vu5RKym20mPnGpl-8d0SDchzDRJBrrL6WE,1039
|
|
28
|
+
r5py/util/environment.py,sha256=cbSM8TKTuhbXsTIIB06pMtydBOiqLkitF2Lj2asVTho,1082
|
|
29
|
+
r5py/util/exceptions.py,sha256=r65XUg_AJ_bTw8ARNj7A2-GbFZlSTrOAjDynx1pSD2Y,1049
|
|
30
|
+
r5py/util/good_enough_equidistant_crs.py,sha256=1aqJLghNwcd2FbLfODcht_6pyOEqhsrE2KPaC3NLoek,2354
|
|
31
|
+
r5py/util/jvm.py,sha256=NCwoYLDznXydcIRAZl2kzUQA6D6NCvzjVG74pm6ioR0,5027
|
|
32
|
+
r5py/util/memory_footprint.py,sha256=p8efCUs4UXRg6P1GrRxVs71m7SpEw2mASoz6PVTRvgQ,4672
|
|
33
|
+
r5py/util/parse_int_date.py,sha256=JmnV8TwdUdUp3kSp2e73ZSxCbRyqv2FmQzNt0I_MsM0,667
|
|
34
|
+
r5py/util/sample_data_set.py,sha256=SRTFmhnhtwNCYtXRGPNKkh_lh3OEvgcyHS4Fz8N9uM8,2394
|
|
35
|
+
r5py/util/snake_to_camel_case.py,sha256=uJ5hTCVDUEmIxTyy4LGFTbpGC_rtnjDZVQ2vmVRTQ4k,485
|
|
36
|
+
r5py/util/validating_requests_session.py,sha256=sH5FgpS9eGax5DG2qA2GrGuiwgTJgh8tKsZ9OiXKmvk,1807
|
|
37
|
+
r5py/util/warnings.py,sha256=CvxKWKlNO_p3riB4SkNqbU5AGPsaY_3-OzqaBObE3B8,139
|
|
38
|
+
r5py-1.0.0.dev0.dist-info/LICENSE,sha256=VAnuGDX1TPylSN9G2xLa-urDpj_SQwn-qqs068dx4tk,51
|
|
39
|
+
r5py-1.0.0.dev0.dist-info/METADATA,sha256=PpjIwfXHBYr9nU0MBk9OArFFYjmnz-lJHAhE3-U3TmM,10039
|
|
40
|
+
r5py-1.0.0.dev0.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
|
|
41
|
+
r5py-1.0.0.dev0.dist-info/top_level.txt,sha256=fOH1R85dkNDOI7jkg-lIsl5CQIO4fE5X868K9dTqs9U,5
|
|
42
|
+
r5py-1.0.0.dev0.dist-info/RECORD,,
|
r5py-0.1.1.dev2.dist-info/RECORD
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
r5py/__init__.py,sha256=eWYsVlnfyYPcIveYA3jP_niDewEPlrWau81hem9WybM,418
|
|
2
|
-
r5py/__main__.py,sha256=5p_QWx8hsNbz34OwMKl9mY644bfqwXRFXkFSlTP06AM,239
|
|
3
|
-
r5py/r5/__init__.py,sha256=gq-1XbdrHE4v3XAvyV-Amod-Vcgp_c1Sbs13mgxOD08,643
|
|
4
|
-
r5py/r5/access_leg.py,sha256=W3GfPEpqmWD1c4xipd6UcVIaBC-yb6srGCZV30E2dPY,293
|
|
5
|
-
r5py/r5/base_travel_time_matrix_computer.py,sha256=lnyI70dIGq0e9E1cvLJfF17hIw8eG8Qnt8WfXOwNFBo,6313
|
|
6
|
-
r5py/r5/breakdown_stat.py,sha256=ZQkWA0hXlcRH3KVgtxPSNHP0FUDri8MWqdFk8EUdDMU,533
|
|
7
|
-
r5py/r5/detailed_itineraries_computer.py,sha256=kRV8OBpvdsgYHcNGQzBi6Y3WyAlPCTSQn0HrWoBqvus,8483
|
|
8
|
-
r5py/r5/direct_leg.py,sha256=opX575iuByoy8WORIsSvIgVqAwglBVCl15ZCo1pv_Mk,1064
|
|
9
|
-
r5py/r5/egress_leg.py,sha256=9rsCIcwlZUzoZE6q4imNY3VWpjJepO1IJvheVrlPi90,297
|
|
10
|
-
r5py/r5/regional_task.py,sha256=uzciavh9qWrMPYtixIdSR8hMxg4tyC98FnTYqpN4FME,23136
|
|
11
|
-
r5py/r5/scenario.py,sha256=nUNAlN3cO7E_b4sMpNqdL0FD7WQaQ49iIvh-k8l4YRM,763
|
|
12
|
-
r5py/r5/street_layer.py,sha256=aA8cBXvV60wH7WlEnwqbPXPpPxwQQsPPbW59HDUJrc0,2196
|
|
13
|
-
r5py/r5/transfer_leg.py,sha256=m_9t1Kr8pq5rmtJz4XZSvRpog4_WpMtF2nKeybJ0v8U,325
|
|
14
|
-
r5py/r5/transit_layer.py,sha256=znQcJmtFpqVcsvZziPDHxAcRS0OXvyn3JdWE_lXZv0A,2928
|
|
15
|
-
r5py/r5/transit_leg.py,sha256=zd8QnMiOHCw3hS6WO5uwegxROdwDpqNDqvZwVJ2MlKo,241
|
|
16
|
-
r5py/r5/transport_mode.py,sha256=YJj2CzZ0cz4hAu48udYtX8MnFuSx4he703xcP3BV_7I,3586
|
|
17
|
-
r5py/r5/transport_network.py,sha256=ZWKHEhRkmpy_lQLvMjjjRqp_8ciP5kea7263Y4WwhG0,10470
|
|
18
|
-
r5py/r5/travel_time_matrix_computer.py,sha256=ns4DnWXfyPpslwQlHGM5Vsmpdzvr8NF-hWaRgc8HYGc,4880
|
|
19
|
-
r5py/r5/trip.py,sha256=SvXXQdvkCZzXcAbLyxKjCEwdbft_Jt7SPmPDzdw0K9w,2617
|
|
20
|
-
r5py/r5/trip_leg.py,sha256=gto-VRo_AdUxdRDRlIey6f8jSZ021NI91BODTowp-wQ,4131
|
|
21
|
-
r5py/r5/trip_planner.py,sha256=298IvJioFz4uj1L8qXJE5Ehrqcy51IP_2FoQfo3GEDc,21293
|
|
22
|
-
r5py/sampledata/_keep/__init__.py,sha256=Dd14TxWipq66sLK3ponMl09SbtzWoqmD-dhbTuS889M,114
|
|
23
|
-
r5py/util/__init__.py,sha256=moUcR_oxpITt2vdNQxuej6haFywjA62UcUY4T5TMDns,673
|
|
24
|
-
r5py/util/camel_to_snake_case.py,sha256=zj5F3PNBvsuS6vqN4USeeo8NI-3hnscGhwun0G95AK0,673
|
|
25
|
-
r5py/util/classpath.py,sha256=os4UmHEs2GGk0jnHSD_1wJHEjmpYQU3VAb6T_iUdFEw,2724
|
|
26
|
-
r5py/util/config.py,sha256=M3eT4B2mB0CaFHQYn5DmtFTtSc4_RCK8fS3UuO7X2D8,4216
|
|
27
|
-
r5py/util/contains_gtfs_data.py,sha256=ooX4hfVDKK0aqX1MI46jSFZ7dZ6riyXaORrgF6PUFrk,1211
|
|
28
|
-
r5py/util/data_validation.py,sha256=H5Mcp2nS4vu5RKym20mPnGpl-8d0SDchzDRJBrrL6WE,1039
|
|
29
|
-
r5py/util/exceptions.py,sha256=r65XUg_AJ_bTw8ARNj7A2-GbFZlSTrOAjDynx1pSD2Y,1049
|
|
30
|
-
r5py/util/good_enough_equidistant_crs.py,sha256=VuzPGPTyL7T0Cl3SZba7atBTyyt9uUTLkq7JVMxjGsI,2355
|
|
31
|
-
r5py/util/jvm.py,sha256=NCwoYLDznXydcIRAZl2kzUQA6D6NCvzjVG74pm6ioR0,5027
|
|
32
|
-
r5py/util/memory_footprint.py,sha256=FlOLEAz7yI3YOv3wJe_tejJPh0y640QlDd0Z3Ce5i2s,4660
|
|
33
|
-
r5py/util/parse_int_date.py,sha256=JmnV8TwdUdUp3kSp2e73ZSxCbRyqv2FmQzNt0I_MsM0,667
|
|
34
|
-
r5py/util/sample_data_set.py,sha256=YQcDjcywria2hiR9A3cS8y3LmGsEAraQMDaGXFPg4JU,2165
|
|
35
|
-
r5py/util/snake_to_camel_case.py,sha256=uJ5hTCVDUEmIxTyy4LGFTbpGC_rtnjDZVQ2vmVRTQ4k,485
|
|
36
|
-
r5py/util/validating_requests_session.py,sha256=nkgOsZ_fbaP19R8l0ImZLFo5zUdw9-B289w0DEygtW0,1809
|
|
37
|
-
r5py/util/warnings.py,sha256=CvxKWKlNO_p3riB4SkNqbU5AGPsaY_3-OzqaBObE3B8,139
|
|
38
|
-
r5py-0.1.1.dev2.dist-info/LICENSE,sha256=VAnuGDX1TPylSN9G2xLa-urDpj_SQwn-qqs068dx4tk,51
|
|
39
|
-
r5py-0.1.1.dev2.dist-info/METADATA,sha256=ZFy_vU_mdoQtSMduASSOhF8uIIL0Yq2PG0KxnuBVnCY,9997
|
|
40
|
-
r5py-0.1.1.dev2.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
41
|
-
r5py-0.1.1.dev2.dist-info/top_level.txt,sha256=fOH1R85dkNDOI7jkg-lIsl5CQIO4fE5X868K9dTqs9U,5
|
|
42
|
-
r5py-0.1.1.dev2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|