Skip to content

Commit 33d4b0f

Browse files
committed
feat: add deprecation warnings to old python sdk
1 parent 9fc22f3 commit 33d4b0f

File tree

13 files changed

+207
-56
lines changed

13 files changed

+207
-56
lines changed

openrouteservice/__init__.py

Lines changed: 133 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,133 @@
1-
# -*- coding: utf-8 -*-
2-
# Copyright 2014 Google Inc. All rights reserved.
3-
#
4-
# Modifications Copyright (C) 2018 HeiGIT, University of Heidelberg.
5-
#
6-
#
7-
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
8-
# use this file except in compliance with the License. You may obtain a copy of
9-
# the License at
10-
#
11-
# http://www.apache.org/licenses/LICENSE-2.0
12-
#
13-
# Unless required by applicable law or agreed to in writing, software
14-
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15-
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
16-
# License for the specific language governing permissions and limitations under
17-
# the License.
18-
#
19-
20-
"""Initialize openrouteservice."""
21-
import pkg_resources
22-
23-
__version__ = pkg_resources.get_distribution("openrouteservice").version
24-
25-
26-
def get_ordinal(number):
27-
"""Produces an ordinal (1st, 2nd, 3rd, 4th) from a number."""
28-
29-
if number == 1:
30-
return "st"
31-
elif number == 2:
32-
return "nd"
33-
elif number == 3:
34-
return "rd"
35-
else:
36-
return "th"
37-
38-
39-
from openrouteservice.client import Client # noqa
1+
# coding: utf-8
2+
3+
# flake8: noqa
4+
5+
"""
6+
Openrouteservice
7+
8+
This is the openrouteservice API documentation for ORS Core-Version 7.1.0. Documentations for [older Core-Versions](https://github.com/GIScience/openrouteservice-docs/releases) can be rendered with the [Swagger-Editor](https://editor-next.swagger.io/). # noqa: E501
9+
10+
OpenAPI spec version: 7.1.0
11+
Contact: support@smartmobility.heigit.org
12+
Generated by: https://github.com/swagger-api/swagger-codegen.git
13+
"""
14+
15+
from __future__ import absolute_import
16+
17+
import warnings
18+
warnings.simplefilter('always', DeprecationWarning)
19+
20+
# import apis into sdk package
21+
from openrouteservice.api.directions_service_api import DirectionsServiceApi
22+
from openrouteservice.api.elevation_api import ElevationApi
23+
from openrouteservice.api.geocode_api import GeocodeApi
24+
from openrouteservice.api.isochrones_service_api import IsochronesServiceApi
25+
from openrouteservice.api.matrix_service_api import MatrixServiceApi
26+
from openrouteservice.api.optimization_api import OptimizationApi
27+
from openrouteservice.api.pois_api import PoisApi
28+
# import ApiClient
29+
from openrouteservice.api_client import ApiClient
30+
from openrouteservice.configuration import Configuration
31+
# import models into sdk package
32+
from openrouteservice.models.alternative_routes import AlternativeRoutes
33+
from openrouteservice.models.directions_service import DirectionsService
34+
from openrouteservice.models.directions_service1 import DirectionsService1
35+
from openrouteservice.models.elevation_line_body import ElevationLineBody
36+
from openrouteservice.models.elevation_point_body import ElevationPointBody
37+
from openrouteservice.models.engine_info import EngineInfo
38+
from openrouteservice.models.geo_json_features_object import GeoJSONFeaturesObject
39+
from openrouteservice.models.geo_json_geometry_object import GeoJSONGeometryObject
40+
from openrouteservice.models.geo_json_isochrone_base import GeoJSONIsochroneBase
41+
from openrouteservice.models.geo_json_isochrone_base_geometry import GeoJSONIsochroneBaseGeometry
42+
from openrouteservice.models.geo_json_isochrones_response import GeoJSONIsochronesResponse
43+
from openrouteservice.models.geo_json_isochrones_response_features import GeoJSONIsochronesResponseFeatures
44+
from openrouteservice.models.geo_json_isochrones_response_metadata import GeoJSONIsochronesResponseMetadata
45+
from openrouteservice.models.geo_json_isochrones_response_metadata_engine import GeoJSONIsochronesResponseMetadataEngine
46+
from openrouteservice.models.geo_json_properties_object import GeoJSONPropertiesObject
47+
from openrouteservice.models.geo_json_properties_object_category_ids import GeoJSONPropertiesObjectCategoryIds
48+
from openrouteservice.models.geo_json_properties_object_category_ids_category_id import GeoJSONPropertiesObjectCategoryIdsCategoryId
49+
from openrouteservice.models.geo_json_properties_object_osm_tags import GeoJSONPropertiesObjectOsmTags
50+
from openrouteservice.models.geo_json_route_response import GeoJSONRouteResponse
51+
from openrouteservice.models.geo_json_route_response_metadata import GeoJSONRouteResponseMetadata
52+
from openrouteservice.models.geocode_response import GeocodeResponse
53+
from openrouteservice.models.gpx import Gpx
54+
from openrouteservice.models.graph_export_service import GraphExportService
55+
from openrouteservice.models.inline_response200 import InlineResponse200
56+
from openrouteservice.models.inline_response2001 import InlineResponse2001
57+
from openrouteservice.models.inline_response2001_geometry import InlineResponse2001Geometry
58+
from openrouteservice.models.inline_response2002 import InlineResponse2002
59+
from openrouteservice.models.inline_response2002_routes import InlineResponse2002Routes
60+
from openrouteservice.models.inline_response2002_steps import InlineResponse2002Steps
61+
from openrouteservice.models.inline_response2002_summary import InlineResponse2002Summary
62+
from openrouteservice.models.inline_response2002_unassigned import InlineResponse2002Unassigned
63+
from openrouteservice.models.inline_response2003 import InlineResponse2003
64+
from openrouteservice.models.inline_response2004 import InlineResponse2004
65+
from openrouteservice.models.inline_response2005 import InlineResponse2005
66+
from openrouteservice.models.inline_response2006 import InlineResponse2006
67+
from openrouteservice.models.inline_response200_geometry import InlineResponse200Geometry
68+
from openrouteservice.models.isochrones_profile_body import IsochronesProfileBody
69+
from openrouteservice.models.isochrones_request import IsochronesRequest
70+
from openrouteservice.models.isochrones_response_info import IsochronesResponseInfo
71+
from openrouteservice.models.json2_d_destinations import JSON2DDestinations
72+
from openrouteservice.models.json2_d_sources import JSON2DSources
73+
from openrouteservice.models.json_extra import JSONExtra
74+
from openrouteservice.models.json_extra_summary import JSONExtraSummary
75+
from openrouteservice.models.json_individual_route_response import JSONIndividualRouteResponse
76+
from openrouteservice.models.json_individual_route_response_extras import JSONIndividualRouteResponseExtras
77+
from openrouteservice.models.json_individual_route_response_instructions import JSONIndividualRouteResponseInstructions
78+
from openrouteservice.models.json_individual_route_response_legs import JSONIndividualRouteResponseLegs
79+
from openrouteservice.models.json_individual_route_response_maneuver import JSONIndividualRouteResponseManeuver
80+
from openrouteservice.models.json_individual_route_response_segments import JSONIndividualRouteResponseSegments
81+
from openrouteservice.models.json_individual_route_response_stops import JSONIndividualRouteResponseStops
82+
from openrouteservice.models.json_individual_route_response_summary import JSONIndividualRouteResponseSummary
83+
from openrouteservice.models.json_individual_route_response_warnings import JSONIndividualRouteResponseWarnings
84+
from openrouteservice.models.json_leg import JSONLeg
85+
from openrouteservice.models.json_object import JSONObject
86+
from openrouteservice.models.jsonpt_stop import JSONPtStop
87+
from openrouteservice.models.json_route_response import JSONRouteResponse
88+
from openrouteservice.models.json_route_response_routes import JSONRouteResponseRoutes
89+
from openrouteservice.models.json_segment import JSONSegment
90+
from openrouteservice.models.json_step import JSONStep
91+
from openrouteservice.models.json_step_maneuver import JSONStepManeuver
92+
from openrouteservice.models.json_summary import JSONSummary
93+
from openrouteservice.models.json_warning import JSONWarning
94+
from openrouteservice.models.json_edge import JsonEdge
95+
from openrouteservice.models.json_edge_extra import JsonEdgeExtra
96+
from openrouteservice.models.json_export_response import JsonExportResponse
97+
from openrouteservice.models.json_export_response_edges import JsonExportResponseEdges
98+
from openrouteservice.models.json_export_response_edges_extra import JsonExportResponseEdgesExtra
99+
from openrouteservice.models.json_export_response_nodes import JsonExportResponseNodes
100+
from openrouteservice.models.json_node import JsonNode
101+
from openrouteservice.models.matrix_profile_body import MatrixProfileBody
102+
from openrouteservice.models.matrix_request import MatrixRequest
103+
from openrouteservice.models.matrix_response import MatrixResponse
104+
from openrouteservice.models.matrix_response_destinations import MatrixResponseDestinations
105+
from openrouteservice.models.matrix_response_info import MatrixResponseInfo
106+
from openrouteservice.models.matrix_response_metadata import MatrixResponseMetadata
107+
from openrouteservice.models.matrix_response_sources import MatrixResponseSources
108+
from openrouteservice.models.openpoiservice_poi_request import OpenpoiservicePoiRequest
109+
from openrouteservice.models.openpoiservice_poi_response import OpenpoiservicePoiResponse
110+
from openrouteservice.models.optimization_body import OptimizationBody
111+
from openrouteservice.models.optimization_jobs import OptimizationJobs
112+
from openrouteservice.models.optimization_options import OptimizationOptions
113+
from openrouteservice.models.optimization_vehicles import OptimizationVehicles
114+
from openrouteservice.models.pois_filters import PoisFilters
115+
from openrouteservice.models.pois_geometry import PoisGeometry
116+
from openrouteservice.models.profile_parameters import ProfileParameters
117+
from openrouteservice.models.profile_parameters_restrictions import ProfileParametersRestrictions
118+
from openrouteservice.models.profile_weightings import ProfileWeightings
119+
from openrouteservice.models.restrictions import Restrictions
120+
from openrouteservice.models.round_trip_route_options import RoundTripRouteOptions
121+
from openrouteservice.models.route_options import RouteOptions
122+
from openrouteservice.models.route_options_avoid_polygons import RouteOptionsAvoidPolygons
123+
from openrouteservice.models.route_response_info import RouteResponseInfo
124+
from openrouteservice.models.rte import Rte
125+
from openrouteservice.models.v2directionsprofilegeojson_schedule_duration import V2directionsprofilegeojsonScheduleDuration
126+
from openrouteservice.models.v2directionsprofilegeojson_schedule_duration_duration import V2directionsprofilegeojsonScheduleDurationDuration
127+
from openrouteservice.models.v2directionsprofilegeojson_schedule_duration_units import V2directionsprofilegeojsonScheduleDurationUnits
128+
from openrouteservice.models.v2directionsprofilegeojson_walking_time import V2directionsprofilegeojsonWalkingTime
129+
from openrouteservice.utility import todict
130+
131+
from openrouteservice.legacy.client import Client
132+
from openrouteservice.legacy import *
133+
import openrouteservice.legacy.convert as convert

openrouteservice/legacy/__init__.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
__version__ = "2.3.3"
2+
3+
def get_ordinal(number):
4+
"""Produces an ordinal (1st, 2nd, 3rd, 4th) from a number."""
5+
6+
if number == 1:
7+
return "st"
8+
elif number == 2:
9+
return "nd"
10+
elif number == 3:
11+
return "rd"
12+
else:
13+
return "th"

openrouteservice/client.py renamed to openrouteservice/legacy/client.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import time
3030
import warnings
3131

32-
from openrouteservice import exceptions, __version__, get_ordinal
32+
from openrouteservice.legacy import exceptions, __version__, get_ordinal, deprecation
3333

3434
_USER_AGENT = "ORSClientPython.v{}".format(__version__)
3535
_DEFAULT_BASE_URL = "https://api.openrouteservice.org"
@@ -78,6 +78,8 @@ def __init__(
7878
:type retry_over_query_limit: bool
7979
"""
8080

81+
deprecation.deprecated("Client", "ApiClient")
82+
8183
self._session = requests.Session()
8284
self._key = key
8385
self._base_url = base_url
@@ -297,17 +299,17 @@ def _generate_auth_url(path, params):
297299
return path + "?" + _urlencode_params(params)
298300

299301

300-
from openrouteservice.directions import directions # noqa
301-
from openrouteservice.distance_matrix import distance_matrix # noqa
302-
from openrouteservice.elevation import elevation_point # noqa
303-
from openrouteservice.elevation import elevation_line # noqa
304-
from openrouteservice.isochrones import isochrones # noqa
305-
from openrouteservice.geocode import pelias_search # noqa
306-
from openrouteservice.geocode import pelias_autocomplete # noqa
307-
from openrouteservice.geocode import pelias_structured # noqa
308-
from openrouteservice.geocode import pelias_reverse # noqa
309-
from openrouteservice.places import places # noqa
310-
from openrouteservice.optimization import optimization # noqa
302+
from openrouteservice.legacy.directions import directions # noqa
303+
from openrouteservice.legacy.distance_matrix import distance_matrix # noqa
304+
from openrouteservice.legacy.elevation import elevation_point # noqa
305+
from openrouteservice.legacy.elevation import elevation_line # noqa
306+
from openrouteservice.legacy.isochrones import isochrones # noqa
307+
from openrouteservice.legacy.geocode import pelias_search # noqa
308+
from openrouteservice.legacy.geocode import pelias_autocomplete # noqa
309+
from openrouteservice.legacy.geocode import pelias_structured # noqa
310+
from openrouteservice.legacy.geocode import pelias_reverse # noqa
311+
from openrouteservice.legacy.places import places # noqa
312+
from openrouteservice.legacy.optimization import optimization # noqa
311313

312314

313315
def _make_api_method(func):
File renamed without changes.

openrouteservice/deprecation.py renamed to openrouteservice/legacy/deprecation.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,14 @@ def warning(old_name, new_name):
3030
DeprecationWarning,
3131
stacklevel=2,
3232
)
33+
34+
def deprecated(old_name, new_name):
35+
"""Deprecation warning."""
36+
37+
warnings.warn(
38+
"{} is deprecated. Please use {} instead. For more information on the new SDK please check out https://github.com/GIScience/openrouteservice-py".format(
39+
old_name, new_name
40+
),
41+
DeprecationWarning,
42+
stacklevel=2,
43+
)

openrouteservice/directions.py renamed to openrouteservice/legacy/directions.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
#
1919
"""Performs requests to the ORS directions API."""
2020

21-
from openrouteservice import deprecation
22-
from openrouteservice.optimization import optimization, Job, Vehicle
21+
from openrouteservice.legacy import deprecation
22+
from openrouteservice.legacy.optimization import optimization, Job, Vehicle
2323

2424
import warnings
2525

@@ -201,6 +201,8 @@ def directions(
201201
:rtype: call to Client.request()
202202
"""
203203

204+
deprecation.deprecated("Client.directions", "DirectionsServiceApi.get_geo_json_route")
205+
204206
# call optimization endpoint and get new order of waypoints
205207
if optimize_waypoints is not None and not dry_run:
206208
if len(coordinates) <= 3:

openrouteservice/distance_matrix.py renamed to openrouteservice/legacy/distance_matrix.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
"""Performs requests to the ORS Matrix API."""
2020

2121

22+
from openrouteservice.legacy import deprecation
23+
24+
2225
def distance_matrix(
2326
client,
2427
locations,
@@ -84,6 +87,8 @@ def distance_matrix(
8487
:rtype: call to Client.request()
8588
"""
8689

90+
deprecation.deprecated("Client.distance_matrix", "MatrixServiceApi.get_default")
91+
8792
params = {
8893
"locations": locations,
8994
}

openrouteservice/elevation.py renamed to openrouteservice/legacy/elevation.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
"""Performs requests to the ORS elevation API."""
1717

1818

19+
from openrouteservice.legacy import deprecation
20+
21+
1922
def elevation_point(
2023
client,
2124
format_in,
@@ -48,6 +51,8 @@ def elevation_point(
4851
:rtype: Client.request()
4952
"""
5053

54+
deprecation.deprecated("Client.elevation_point", "ElevationApi.elevation_point_post")
55+
5156
params = {
5257
"format_in": format_in,
5358
"geometry": geometry,
@@ -94,6 +99,8 @@ def elevation_line(
9499
:rtype: Client.request()
95100
"""
96101

102+
deprecation.deprecated("Client.elevation_line", "ElevationApi.elevation_line_post")
103+
97104
params = {
98105
"format_in": format_in,
99106
"geometry": geometry,

openrouteservice/geocode.py renamed to openrouteservice/legacy/geocode.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# the License.
1818
#
1919
"""Performs requests to the ORS geocode API (direct Pelias clone)."""
20-
from openrouteservice import convert
20+
from openrouteservice.legacy import convert, deprecation
2121

2222

2323
def pelias_search(
@@ -93,6 +93,8 @@ def pelias_search(
9393
:rtype: call to Client.request()
9494
"""
9595

96+
deprecation.deprecated("Client.pelias_search", "GeocodeApi.geocode_search_get")
97+
9698
params = {"text": text}
9799

98100
if focus_point:
@@ -202,6 +204,8 @@ def pelias_autocomplete(
202204
:rtype: dict from JSON response
203205
"""
204206

207+
deprecation.deprecated("Client.pelias_autocomplete", "GeocodeApi.geocode_autocomplete_get")
208+
205209
params = {"text": text}
206210

207211
if focus_point:
@@ -295,6 +299,8 @@ def pelias_structured(
295299
:rtype: dict from JSON response
296300
"""
297301

302+
deprecation.deprecated("Client.pelias_structured", "GeocodeApi.geocode_search_structured_get")
303+
298304
params = {}
299305

300306
if address:
@@ -371,6 +377,8 @@ def pelias_reverse(
371377
:rtype: dict from JSON response
372378
"""
373379

380+
deprecation.deprecated("Client.pelias_reverse", "GeocodeApi.geocode_reverse_get")
381+
374382
params = {
375383
"point.lon": convert._format_float(point[0]),
376384
"point.lat": convert._format_float(point[1]),

0 commit comments

Comments
 (0)