pyvalhalla-git 3.5.1.post132__cp39-cp39-macosx_14_0_arm64.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.
- _valhalla.cpython-39-darwin.so +0 -0
- pyvalhalla_git-3.5.1.post132.dist-info/METADATA +137 -0
- pyvalhalla_git-3.5.1.post132.dist-info/RECORD +216 -0
- pyvalhalla_git-3.5.1.post132.dist-info/WHEEL +6 -0
- pyvalhalla_git-3.5.1.post132.dist-info/licenses/AUTHORS +5 -0
- pyvalhalla_git-3.5.1.post132.dist-info/licenses/COPYING +22 -0
- pyvalhalla_git-3.5.1.post132.dist-info/licenses/LICENSE.md +1 -0
- pyvalhalla_git-3.5.1.post132.dist-info/top_level.txt +2 -0
- valhalla/.dylibs/libIex-3_3.32.3.3.3.dylib +0 -0
- valhalla/.dylibs/libIlmThread-3_3.32.3.3.3.dylib +0 -0
- valhalla/.dylibs/libImath-3_1.29.11.0.dylib +0 -0
- valhalla/.dylibs/libLerc.4.dylib +0 -0
- valhalla/.dylibs/libOpenEXR-3_3.32.3.3.3.dylib +0 -0
- valhalla/.dylibs/libOpenEXRCore-3_3.32.3.3.3.dylib +0 -0
- valhalla/.dylibs/libOpenEXRUtil-3_3.32.3.3.3.dylib +0 -0
- valhalla/.dylibs/libabsl_bad_optional_access.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_bad_variant_access.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_base.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_city.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_civil_time.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_cord.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_cord_internal.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_cordz_functions.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_cordz_handle.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_cordz_info.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_crc32c.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_crc_cord_state.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_crc_cpu_detect.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_crc_internal.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_debugging_internal.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_decode_rust_punycode.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_demangle_internal.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_demangle_rust.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_die_if_null.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_examine_stack.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_exponential_biased.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_flags_commandlineflag.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_flags_commandlineflag_internal.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_flags_config.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_flags_internal.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_flags_marshalling.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_flags_private_handle_accessor.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_flags_program_name.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_flags_reflection.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_graphcycles_internal.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_hash.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_hashtablez_sampler.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_int128.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_kernel_timeout_internal.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_leak_check.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_entry.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_globals.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_initialize.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_internal_check_op.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_internal_conditions.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_internal_fnmatch.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_internal_format.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_internal_globals.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_internal_log_sink_set.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_internal_message.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_internal_nullguard.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_internal_proto.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_severity.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_log_sink.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_low_level_hash.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_malloc_internal.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_random_distributions.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_random_internal_platform.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_random_internal_pool_urbg.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_random_internal_randen.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_random_internal_randen_hwaes.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_random_internal_randen_hwaes_impl.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_random_internal_randen_slow.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_random_internal_seed_material.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_random_seed_gen_exception.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_random_seed_sequences.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_raw_hash_set.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_raw_logging_internal.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_spinlock_wait.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_stacktrace.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_status.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_statusor.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_str_format_internal.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_strerror.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_string_view.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_strings.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_strings_internal.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_symbolize.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_synchronization.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_throw_delegate.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_time.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_time_zone.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_utf8_for_code_point.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libabsl_vlog_config_internal.2407.0.0.dylib +0 -0
- valhalla/.dylibs/libaec.0.1.3.dylib +0 -0
- valhalla/.dylibs/libaom.3.12.1.dylib +0 -0
- valhalla/.dylibs/libarchive.13.dylib +0 -0
- valhalla/.dylibs/libarrow.2000.0.0.dylib +0 -0
- valhalla/.dylibs/libarrow_acero.2000.0.0.dylib +0 -0
- valhalla/.dylibs/libarrow_dataset.2000.0.0.dylib +0 -0
- valhalla/.dylibs/libassuan.9.dylib +0 -0
- valhalla/.dylibs/libaws-c-auth.1.0.0.dylib +0 -0
- valhalla/.dylibs/libaws-c-cal.1.0.0.dylib +0 -0
- valhalla/.dylibs/libaws-c-common.1.0.0.dylib +0 -0
- valhalla/.dylibs/libaws-c-compression.1.0.0.dylib +0 -0
- valhalla/.dylibs/libaws-c-event-stream.1.0.0.dylib +0 -0
- valhalla/.dylibs/libaws-c-http.1.0.0.dylib +0 -0
- valhalla/.dylibs/libaws-c-io.1.0.0.dylib +0 -0
- valhalla/.dylibs/libaws-c-mqtt.1.0.0.dylib +0 -0
- valhalla/.dylibs/libaws-c-s3.1.0.0.dylib +0 -0
- valhalla/.dylibs/libaws-c-sdkutils.1.0.0.dylib +0 -0
- valhalla/.dylibs/libaws-checksums.1.0.0.dylib +0 -0
- valhalla/.dylibs/libaws-cpp-sdk-cognito-identity.dylib +0 -0
- valhalla/.dylibs/libaws-cpp-sdk-core.dylib +0 -0
- valhalla/.dylibs/libaws-cpp-sdk-identity-management.dylib +0 -0
- valhalla/.dylibs/libaws-cpp-sdk-s3.dylib +0 -0
- valhalla/.dylibs/libaws-cpp-sdk-sts.dylib +0 -0
- valhalla/.dylibs/libaws-crt-cpp.dylib +0 -0
- valhalla/.dylibs/libb2.1.dylib +0 -0
- valhalla/.dylibs/libblosc.1.21.6.dylib +0 -0
- valhalla/.dylibs/libbrotlicommon.1.1.0.dylib +0 -0
- valhalla/.dylibs/libbrotlidec.1.1.0.dylib +0 -0
- valhalla/.dylibs/libbrotlienc.1.1.0.dylib +0 -0
- valhalla/.dylibs/libcfitsio.4.6.2.dylib +0 -0
- valhalla/.dylibs/libcom_err.3.0.dylib +0 -0
- valhalla/.dylibs/libcrypto.3.dylib +0 -0
- valhalla/.dylibs/libczmq.4.dylib +0 -0
- valhalla/.dylibs/libde265.0.dylib +0 -0
- valhalla/.dylibs/libdeflate.0.dylib +0 -0
- valhalla/.dylibs/libexpat.1.10.2.dylib +0 -0
- valhalla/.dylibs/libfontconfig.1.dylib +0 -0
- valhalla/.dylibs/libfreetype.6.dylib +0 -0
- valhalla/.dylibs/libfreexl.1.dylib +0 -0
- valhalla/.dylibs/libgdal.37.3.11.0.dylib +0 -0
- valhalla/.dylibs/libgeos.3.13.1.dylib +0 -0
- valhalla/.dylibs/libgeos_c.1.19.2.dylib +0 -0
- valhalla/.dylibs/libgeotiff.5.dylib +0 -0
- valhalla/.dylibs/libgif.7.2.0.dylib +0 -0
- valhalla/.dylibs/libgpg-error.0.dylib +0 -0
- valhalla/.dylibs/libgpgme.11.dylib +0 -0
- valhalla/.dylibs/libgpgmepp.6.dylib +0 -0
- valhalla/.dylibs/libgssapi_krb5.2.2.dylib +0 -0
- valhalla/.dylibs/libhdf5.310.5.1.dylib +0 -0
- valhalla/.dylibs/libhdf5_hl.310.0.6.dylib +0 -0
- valhalla/.dylibs/libheif.1.19.8.dylib +0 -0
- valhalla/.dylibs/libhwy.1.2.0.dylib +0 -0
- valhalla/.dylibs/libicudata.77.1.dylib +0 -0
- valhalla/.dylibs/libicuuc.77.1.dylib +0 -0
- valhalla/.dylibs/libintl.8.dylib +0 -0
- valhalla/.dylibs/libjpeg.8.3.2.dylib +0 -0
- valhalla/.dylibs/libjson-c.5.4.0.dylib +0 -0
- valhalla/.dylibs/libjxl.0.11.1.dylib +0 -0
- valhalla/.dylibs/libjxl_cms.0.11.1.dylib +0 -0
- valhalla/.dylibs/libjxl_threads.0.11.1.dylib +0 -0
- valhalla/.dylibs/libk5crypto.3.1.dylib +0 -0
- valhalla/.dylibs/libkmlbase.1.3.0.dylib +0 -0
- valhalla/.dylibs/libkmldom.1.3.0.dylib +0 -0
- valhalla/.dylibs/libkmlengine.1.3.0.dylib +0 -0
- valhalla/.dylibs/libkrb5.3.3.dylib +0 -0
- valhalla/.dylibs/libkrb5support.1.1.dylib +0 -0
- valhalla/.dylibs/liblcms2.2.dylib +0 -0
- valhalla/.dylibs/libltdl.7.dylib +0 -0
- valhalla/.dylibs/libluajit-5.1.2.1.1748459687.dylib +0 -0
- valhalla/.dylibs/liblz4.1.10.0.dylib +0 -0
- valhalla/.dylibs/liblzma.5.dylib +0 -0
- valhalla/.dylibs/libminizip.1.dylib +0 -0
- valhalla/.dylibs/libnetcdf.22.dylib +0 -0
- valhalla/.dylibs/libnspr4.dylib +0 -0
- valhalla/.dylibs/libnss3.dylib +0 -0
- valhalla/.dylibs/libnssutil3.dylib +0 -0
- valhalla/.dylibs/libodbc.2.dylib +0 -0
- valhalla/.dylibs/libodbcinst.2.dylib +0 -0
- valhalla/.dylibs/libopenjp2.2.5.3.dylib +0 -0
- valhalla/.dylibs/libparquet.2000.0.0.dylib +0 -0
- valhalla/.dylibs/libpcre2-8.0.dylib +0 -0
- valhalla/.dylibs/libplc4.dylib +0 -0
- valhalla/.dylibs/libplds4.dylib +0 -0
- valhalla/.dylibs/libpng16.16.dylib +0 -0
- valhalla/.dylibs/libpoppler.149.0.0.dylib +0 -0
- valhalla/.dylibs/libpq.5.dylib +0 -0
- valhalla/.dylibs/libprime_server.0.dylib +0 -0
- valhalla/.dylibs/libproj.25.9.6.0.dylib +0 -0
- valhalla/.dylibs/libprotobuf-lite.29.3.0.dylib +0 -0
- valhalla/.dylibs/libqhull_r.8.0.2.dylib +0 -0
- valhalla/.dylibs/libre2.11.0.0.dylib +0 -0
- valhalla/.dylibs/librttopo.1.dylib +0 -0
- valhalla/.dylibs/libsharpyuv.0.1.1.dylib +0 -0
- valhalla/.dylibs/libsmime3.dylib +0 -0
- valhalla/.dylibs/libsnappy.1.2.2.dylib +0 -0
- valhalla/.dylibs/libsodium.26.dylib +0 -0
- valhalla/.dylibs/libspatialite.8.dylib +0 -0
- valhalla/.dylibs/libsqlite3.3.50.0.dylib +0 -0
- valhalla/.dylibs/libssl.3.dylib +0 -0
- valhalla/.dylibs/libssl3.dylib +0 -0
- valhalla/.dylibs/libsz.2.0.1.dylib +0 -0
- valhalla/.dylibs/libthrift-0.22.0.dylib +0 -0
- valhalla/.dylibs/libtiff.6.dylib +0 -0
- valhalla/.dylibs/liburiparser.1.0.31.dylib +0 -0
- valhalla/.dylibs/libutf8_validity.dylib +0 -0
- valhalla/.dylibs/libutf8proc.3.dylib +0 -0
- valhalla/.dylibs/libvmaf.3.dylib +0 -0
- valhalla/.dylibs/libwebp.7.1.10.dylib +0 -0
- valhalla/.dylibs/libx265.215.dylib +0 -0
- valhalla/.dylibs/libxerces-c-3.3.dylib +0 -0
- valhalla/.dylibs/libxml2.2.dylib +0 -0
- valhalla/.dylibs/libzmq.5.dylib +0 -0
- valhalla/.dylibs/libzstd.1.5.7.dylib +0 -0
- valhalla/__init__.py +11 -0
- valhalla/__main__.py +72 -0
- valhalla/__version__.py +21 -0
- valhalla/_scripts.py +46 -0
- valhalla/_valhalla.cc +81 -0
- valhalla/actor.py +118 -0
- valhalla/config.py +45 -0
- valhalla/utils.py +62 -0
- valhalla/valhalla_build_config.py +760 -0
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
valhalla/__init__.py
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
from pathlib import Path
|
2
|
+
|
3
|
+
try:
|
4
|
+
from ._valhalla import *
|
5
|
+
except ModuleNotFoundError:
|
6
|
+
from _valhalla import *
|
7
|
+
from .actor import Actor
|
8
|
+
from .config import get_config, get_help
|
9
|
+
from .__version__ import __version__
|
10
|
+
|
11
|
+
PYVALHALLA_DIR = Path(__file__).parent.resolve()
|
valhalla/__main__.py
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
import subprocess
|
2
|
+
import sys
|
3
|
+
from typing import Optional
|
4
|
+
|
5
|
+
from ._scripts import PYVALHALLA_BIN_DIR, run
|
6
|
+
|
7
|
+
try:
|
8
|
+
from .__version__ import version as __version__
|
9
|
+
except ImportError:
|
10
|
+
__version__ = "undefined"
|
11
|
+
|
12
|
+
PRINT_BIN_PATH = "print_bin_path"
|
13
|
+
|
14
|
+
|
15
|
+
def print_help():
|
16
|
+
# left-align executable names
|
17
|
+
exe_names = [p.name for p in PYVALHALLA_BIN_DIR.iterdir()]
|
18
|
+
fixed_width = len(max(exe_names, key=lambda x: len(x)))
|
19
|
+
|
20
|
+
# TODO: we also want the git commit to show here, probably written to __version__.py by setup.py's BDistWheelCommand
|
21
|
+
print(
|
22
|
+
F"""
|
23
|
+
valhalla Python package {__version__}
|
24
|
+
|
25
|
+
pyvalhalla package provides a CLI to run Valhalla C++ executables. Arguments are simply passed on as they are.
|
26
|
+
One notable exception is --quiet/-q, which will forward the C++ executable's stdout to /dev/null.
|
27
|
+
'python -m valhalla --help' will print this help.
|
28
|
+
|
29
|
+
Example usage: 'python -m valhalla --quiet valhalla_build_tiles -c valhalla.json -s initialize -e build test.pbf'
|
30
|
+
|
31
|
+
Available commands (in {PYVALHALLA_BIN_DIR}):
|
32
|
+
\t{PRINT_BIN_PATH:<{fixed_width}} - Print the absolute path of directory containing the C++ executables
|
33
|
+
"""
|
34
|
+
)
|
35
|
+
|
36
|
+
|
37
|
+
def main():
|
38
|
+
if len(sys.argv) < 2:
|
39
|
+
print("[FATAL] command needs arguments, see 'python -m valhalla --help': \n")
|
40
|
+
print_help()
|
41
|
+
sys.exit(1)
|
42
|
+
|
43
|
+
prog_or_opt = sys.argv[1]
|
44
|
+
|
45
|
+
if prog_or_opt in ("--help", "-h"):
|
46
|
+
print_help()
|
47
|
+
sys.exit(0)
|
48
|
+
elif prog_or_opt == PRINT_BIN_PATH:
|
49
|
+
# useful when another script wants to run the executables directly for some reason
|
50
|
+
print(PYVALHALLA_BIN_DIR)
|
51
|
+
else:
|
52
|
+
exc: Optional[Exception] = None
|
53
|
+
try:
|
54
|
+
run(from_main=True)
|
55
|
+
except (FileNotFoundError, subprocess.CalledProcessError) as e:
|
56
|
+
exc = e
|
57
|
+
finally:
|
58
|
+
if not exc:
|
59
|
+
sys.exit(0)
|
60
|
+
|
61
|
+
if isinstance(exc, subprocess.CalledProcessError):
|
62
|
+
print(f"Failed calling command '{exc.cmd}'\n")
|
63
|
+
|
64
|
+
print_help()
|
65
|
+
print("Sub-command failed with:\n")
|
66
|
+
print(exc, file=sys.stderr)
|
67
|
+
|
68
|
+
sys.exit(1)
|
69
|
+
|
70
|
+
|
71
|
+
if __name__ == "__main__":
|
72
|
+
main()
|
valhalla/__version__.py
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# file generated by setuptools-scm
|
2
|
+
# don't change, don't track in version control
|
3
|
+
|
4
|
+
__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
|
5
|
+
|
6
|
+
TYPE_CHECKING = False
|
7
|
+
if TYPE_CHECKING:
|
8
|
+
from typing import Tuple
|
9
|
+
from typing import Union
|
10
|
+
|
11
|
+
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
12
|
+
else:
|
13
|
+
VERSION_TUPLE = object
|
14
|
+
|
15
|
+
version: str
|
16
|
+
__version__: str
|
17
|
+
__version_tuple__: VERSION_TUPLE
|
18
|
+
version_tuple: VERSION_TUPLE
|
19
|
+
|
20
|
+
__version__ = version = '3.5.1.post132'
|
21
|
+
__version_tuple__ = version_tuple = (3, 5, 1, 'post132')
|
valhalla/_scripts.py
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
from pathlib import Path
|
2
|
+
from shutil import which
|
3
|
+
import subprocess
|
4
|
+
import sys
|
5
|
+
|
6
|
+
from . import PYVALHALLA_DIR
|
7
|
+
|
8
|
+
PYVALHALLA_BIN_DIR = PYVALHALLA_DIR.joinpath("bin").resolve()
|
9
|
+
|
10
|
+
|
11
|
+
def run(from_main=False) -> None:
|
12
|
+
"""
|
13
|
+
Parses the command line arguments and runs the Valhalla executables with the
|
14
|
+
provided arguments. Note, by default we assume this is not being called by
|
15
|
+
__main__.py via e.g. 'python -m valhalla ...', but directly with e.g.d
|
16
|
+
'valhalla_build_tiles -h'. sys.argv relates to different executables for
|
17
|
+
both scenarios.
|
18
|
+
|
19
|
+
:param from_main: We parse sys.argv differently if it's called from __main__.py
|
20
|
+
"""
|
21
|
+
prog = sys.argv[1] if from_main else Path(sys.argv[0]).name
|
22
|
+
prog_args = sys.argv[2:] if from_main else sys.argv[1:]
|
23
|
+
|
24
|
+
if not which(prog):
|
25
|
+
raise FileNotFoundError(f"Can't find executable at {prog}")
|
26
|
+
prog_path = PYVALHALLA_BIN_DIR.joinpath(prog).resolve()
|
27
|
+
|
28
|
+
print(f"[INFO] Running {prog_path} with args: {prog_args}...")
|
29
|
+
|
30
|
+
# --quiet/-q is our option, don't pass it to the executables
|
31
|
+
is_quiet = False
|
32
|
+
for arg in prog_args:
|
33
|
+
if arg not in ("--quiet", "-q"):
|
34
|
+
continue
|
35
|
+
prog_args.pop(prog_args.index(arg))
|
36
|
+
is_quiet = True
|
37
|
+
|
38
|
+
# recommended way to call exe
|
39
|
+
proc = subprocess.run(
|
40
|
+
[str(prog_path)] + prog_args,
|
41
|
+
stderr=sys.stderr,
|
42
|
+
stdout=subprocess.DEVNULL if is_quiet else sys.stdout,
|
43
|
+
)
|
44
|
+
|
45
|
+
# raises CalledProcessError if not successful
|
46
|
+
proc.check_returncode()
|
valhalla/_valhalla.cc
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
#include "baldr/rapidjson_utils.h"
|
2
|
+
#include "midgard/logging.h"
|
3
|
+
#include "midgard/util.h"
|
4
|
+
#include "tyr/actor.h"
|
5
|
+
|
6
|
+
#include <boost/make_shared.hpp>
|
7
|
+
#include <boost/noncopyable.hpp>
|
8
|
+
#include <boost/property_tree/ptree.hpp>
|
9
|
+
#include <pybind11/pybind11.h>
|
10
|
+
|
11
|
+
#include <string>
|
12
|
+
|
13
|
+
namespace vt = valhalla::tyr;
|
14
|
+
namespace {
|
15
|
+
|
16
|
+
// configuring multiple times is wasteful/ineffectual but not harmful
|
17
|
+
// TODO: make this threadsafe just in case its abused
|
18
|
+
const boost::property_tree::ptree configure(const std::string& config) {
|
19
|
+
boost::property_tree::ptree pt;
|
20
|
+
try {
|
21
|
+
// parse the config and configure logging
|
22
|
+
rapidjson::read_json(config, pt);
|
23
|
+
|
24
|
+
auto logging_subtree = pt.get_child_optional("mjolnir.logging");
|
25
|
+
if (logging_subtree) {
|
26
|
+
auto logging_config = valhalla::midgard::ToMap<const boost::property_tree::ptree&,
|
27
|
+
std::unordered_map<std::string, std::string>>(
|
28
|
+
logging_subtree.get());
|
29
|
+
valhalla::midgard::logging::Configure(logging_config);
|
30
|
+
}
|
31
|
+
} catch (...) { throw std::runtime_error("Failed to load config from: " + config); }
|
32
|
+
|
33
|
+
return pt;
|
34
|
+
}
|
35
|
+
} // namespace
|
36
|
+
|
37
|
+
namespace py = pybind11;
|
38
|
+
|
39
|
+
PYBIND11_MODULE(_valhalla, m) {
|
40
|
+
py::class_<vt::actor_t>(m, "_Actor", "Valhalla Actor class")
|
41
|
+
.def(py::init<>([](std::string config) { return vt::actor_t(configure(config), true); }))
|
42
|
+
.def(
|
43
|
+
"route", [](vt::actor_t& self, std::string& req) { return self.route(req); },
|
44
|
+
"Calculates a route.")
|
45
|
+
.def(
|
46
|
+
"locate", [](vt::actor_t& self, std::string& req) { return self.locate(req); },
|
47
|
+
"Provides information about nodes and edges.")
|
48
|
+
.def(
|
49
|
+
"optimized_route",
|
50
|
+
[](vt::actor_t& self, std::string& req) { return self.optimized_route(req); },
|
51
|
+
"Optimizes the order of a set of waypoints by time.")
|
52
|
+
.def(
|
53
|
+
"matrix", [](vt::actor_t& self, std::string& req) { return self.matrix(req); },
|
54
|
+
"Computes the time and distance between a set of locations and returns them as a matrix table.")
|
55
|
+
.def(
|
56
|
+
"isochrone", [](vt::actor_t& self, std::string& req) { return self.isochrone(req); },
|
57
|
+
"Calculates isochrones and isodistances.")
|
58
|
+
.def(
|
59
|
+
"trace_route", [](vt::actor_t& self, std::string& req) { return self.trace_route(req); },
|
60
|
+
"Map-matching for a set of input locations, e.g. from a GPS.")
|
61
|
+
.def(
|
62
|
+
"trace_attributes",
|
63
|
+
[](vt::actor_t& self, std::string& req) { return self.trace_attributes(req); },
|
64
|
+
"Returns detailed attribution along each portion of a route calculated from a set of input locations, e.g. from a GPS trace.")
|
65
|
+
.def(
|
66
|
+
"height", [](vt::actor_t& self, std::string& req) { return self.height(req); },
|
67
|
+
"Provides elevation data for a set of input geometries.")
|
68
|
+
.def(
|
69
|
+
"transit_available",
|
70
|
+
[](vt::actor_t& self, std::string& req) { return self.transit_available(req); },
|
71
|
+
"Lookup if transit stops are available in a defined radius around a set of input locations.")
|
72
|
+
.def(
|
73
|
+
"expansion", [](vt::actor_t& self, std::string& req) { return self.expansion(req); },
|
74
|
+
"Returns all road segments which were touched by the routing algorithm during the graph traversal.")
|
75
|
+
.def(
|
76
|
+
"centroid", [](vt::actor_t& self, std::string& req) { return self.centroid(req); },
|
77
|
+
"Returns routes from all the input locations to the minimum cost meeting point of those paths.")
|
78
|
+
.def(
|
79
|
+
"status", [](vt::actor_t& self, std::string& req) { return self.status(req); },
|
80
|
+
"Returns nothing or optionally details about Valhalla's configuration.");
|
81
|
+
}
|