python-navitia-client 2.0.0__tar.gz → 2.0.2__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.
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/PKG-INFO +76 -12
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/README.md +75 -11
- python_navitia_client-2.0.2/navitia_client/__init__.py +3 -0
- python_navitia_client-2.0.2/navitia_client/client/__init__.py +3 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/pyproject.toml +1 -1
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/python_navitia_client.egg-info/PKG-INFO +76 -12
- python_navitia_client-2.0.0/navitia_client/client/raw/__init__.py +0 -0
- python_navitia_client-2.0.0/navitia_client/entities/__init__.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/LICENSE +0 -0
- {python_navitia_client-2.0.0/navitia_client → python_navitia_client-2.0.2/navitia_client/client/apis}/__init__.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/api_base_client.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/arrival_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/contributors_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/coverage_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/datasets_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/departure_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/equipment_report_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/freefloatings_nearby_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/inverted_geocoding_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/isochrone_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/journeys_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/line_report_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/place_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/places_nearby_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/public_transport_objects_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/public_transportation_apis/__init__.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/public_transportation_apis/commercial_mode_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/public_transportation_apis/company_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/public_transportation_apis/disruption_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/public_transportation_apis/entity_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/public_transportation_apis/line_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/public_transportation_apis/network_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/public_transportation_apis/physical_mode_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/public_transportation_apis/route_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/public_transportation_apis/stop_area_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/public_transportation_apis/stop_point_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/public_transportation_apis/vehicle_journey_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/route_schedules_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/stop_schedules_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/terminus_schedules_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/traffic_report_apis.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/exceptions.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/navitia_client.py +0 -0
- {python_navitia_client-2.0.0/navitia_client/client → python_navitia_client-2.0.2/navitia_client/client/raw}/__init__.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/raw/raw_client.py +0 -0
- {python_navitia_client-2.0.0/navitia_client/client/apis → python_navitia_client-2.0.2/navitia_client/entities}/__init__.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/__init__.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/arrival.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/base_entity_request.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/contributor.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/coverage.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/dataset.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/departure.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/equipment_report.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/freefloatings_nearby.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/inverted_geocoding.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/isochrone.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/journey.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/line_report.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/place.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/places_nearby.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/public_transport_object.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/public_transportations/___init__.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/public_transportations/__init__.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/public_transportations/commercial_mode.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/public_transportations/company.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/public_transportations/disruption.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/public_transportations/line.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/public_transportations/network.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/public_transportations/physical_mode.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/public_transportations/route.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/public_transportations/stop_area.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/public_transportations/stop_point.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/public_transportations/vehicle_journey.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/route_schedule.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/stop_schedule.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/terminus_schedule.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/traffic_report.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/__init__.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/access_point.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/address.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/administrative_region.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/arrival.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/base_entity.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/company.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/context.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/contributor.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/coord.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/dataset.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/departure.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/direction.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/display_information.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/disruption.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/equipment.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/equipment_reports.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/free_floating.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/isochrones.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/journey.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/line_and_route.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/line_report.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/link.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/network.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/note.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/pagination.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/path.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/pathway.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/physical_mode.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/place.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/poi.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/pt_datetime.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/pt_object.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/route_schedule.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/schedule_table.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/stand.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/stop_area.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/stop_datetime.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/stop_schedule.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/ticket.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/traffic_report.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/trip.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/vehicle_journey.py +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/python_navitia_client.egg-info/SOURCES.txt +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/python_navitia_client.egg-info/dependency_links.txt +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/python_navitia_client.egg-info/requires.txt +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/python_navitia_client.egg-info/top_level.txt +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/setup.cfg +0 -0
- {python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/tests/test_navitia_client.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-navitia-client
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.2
|
|
4
4
|
Summary: Python library to use with Navitia APIs
|
|
5
5
|
Author-email: Jonathan Perron <jonathan@perron.bzh>
|
|
6
6
|
License: MIT License
|
|
@@ -25,7 +25,12 @@ Dynamic: license-file
|
|
|
25
25
|
|
|
26
26
|
This repository provides a unofficial Python wrapper to use [navitia.io APIs](https://doc.navitia.io).
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
> **⚠️ Version 2.0.0 Breaking Changes**
|
|
29
|
+
>
|
|
30
|
+
> Version 2.0.0 introduces breaking changes with the adoption of Request objects for all API methods.
|
|
31
|
+
> If you're upgrading from v1.x, please see the [CHANGELOG](CHANGELOG.md) for the migration guide.
|
|
32
|
+
|
|
33
|
+
## Pre-requisites
|
|
29
34
|
|
|
30
35
|
To use this library, you will need an access token from [navitia.io](https://navitia.io/tarifs/).
|
|
31
36
|
|
|
@@ -69,30 +74,89 @@ To use this library, you need an authentication token provided by Navitia.io.
|
|
|
69
74
|
|
|
70
75
|
### Create client instance
|
|
71
76
|
|
|
72
|
-
|
|
77
|
+
Create an instance of the NavitiaClient class with your authentication token:
|
|
78
|
+
|
|
79
|
+
```python
|
|
80
|
+
from navitia_client import NavitiaClient
|
|
81
|
+
|
|
82
|
+
client = NavitiaClient(auth="YOUR_TOKEN_HERE")
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
A base URL for Navitia IO is hardcoded and provided to NavitiaClient by default. It can be updated using the `base_navitia_url` parameter.
|
|
86
|
+
|
|
87
|
+
### Access APIs data
|
|
88
|
+
|
|
89
|
+
URLs are mapped as properties in the `NavitiaClient` class. You can find the mapping [here](docs/api_support/).
|
|
90
|
+
|
|
91
|
+
#### Simple APIs (Coverage, Datasets, Contributors)
|
|
92
|
+
|
|
93
|
+
For simple APIs like coverage, datasets, and contributors, you can call methods directly:
|
|
73
94
|
|
|
74
95
|
```python
|
|
75
|
-
|
|
76
|
-
|
|
96
|
+
# Get coverage information
|
|
97
|
+
regions = client.coverage.list_coverage_regions()
|
|
98
|
+
|
|
99
|
+
# Get datasets for a region
|
|
100
|
+
datasets, pagination = client.datasets.list_datasets(region_id="fr-idf")
|
|
77
101
|
```
|
|
78
102
|
|
|
79
|
-
|
|
103
|
+
#### APIs with Request Objects (Journeys, Places, Schedules, etc.)
|
|
80
104
|
|
|
81
|
-
|
|
105
|
+
Most APIs now use Request objects for better type safety and maintainability:
|
|
82
106
|
|
|
83
|
-
|
|
107
|
+
```python
|
|
108
|
+
from navitia_client.entities.request.journey import JourneyRequest
|
|
109
|
+
from datetime import datetime
|
|
110
|
+
|
|
111
|
+
# Create a journey request
|
|
112
|
+
request = JourneyRequest(
|
|
113
|
+
from_="stop_area:RAT:SA:GDLYO",
|
|
114
|
+
to_="stop_area:RAT:SA:CHDEG",
|
|
115
|
+
datetime_=datetime(2024, 6, 1, 8, 0),
|
|
116
|
+
count=5
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
# Get journeys
|
|
120
|
+
journeys = client.journeys.list_journeys(request=request)
|
|
121
|
+
```
|
|
84
122
|
|
|
85
|
-
|
|
123
|
+
Other examples:
|
|
86
124
|
|
|
87
125
|
```python
|
|
88
|
-
|
|
126
|
+
from navitia_client.entities.request.places_nearby import PlacesNearbyRequest
|
|
127
|
+
|
|
128
|
+
# Places nearby with custom parameters
|
|
129
|
+
request = PlacesNearbyRequest(
|
|
130
|
+
distance=1000,
|
|
131
|
+
type=["stop_area", "stop_point"],
|
|
132
|
+
count=20
|
|
133
|
+
)
|
|
134
|
+
places, pagination = client.places_nearby.list_objects_by_region_id_and_path(
|
|
135
|
+
region_id="fr-idf",
|
|
136
|
+
resource_path="lines/line:RAT:M1",
|
|
137
|
+
request=request
|
|
138
|
+
)
|
|
89
139
|
```
|
|
90
140
|
|
|
91
141
|
### Pagination
|
|
92
142
|
|
|
93
|
-
|
|
143
|
+
Several APIs are paginated, particularly the public transportation APIs. You can navigate through results using the `start_page` and `count` parameters in Request objects:
|
|
144
|
+
|
|
145
|
+
```python
|
|
146
|
+
from navitia_client.entities.request.journey import JourneyRequest
|
|
147
|
+
|
|
148
|
+
# Request with pagination
|
|
149
|
+
request = JourneyRequest(
|
|
150
|
+
from_="stop_area:RAT:SA:GDLYO",
|
|
151
|
+
to_="stop_area:RAT:SA:CHDEG",
|
|
152
|
+
start_page=0, # First page
|
|
153
|
+
count=10 # 10 results per page
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
journeys = client.journeys.list_journeys(request=request)
|
|
157
|
+
```
|
|
94
158
|
|
|
95
|
-
|
|
159
|
+
A `Pagination` object is provided by paginated methods to help you navigate through results.
|
|
96
160
|
|
|
97
161
|
### Tips
|
|
98
162
|
|
|
@@ -6,7 +6,12 @@
|
|
|
6
6
|
|
|
7
7
|
This repository provides a unofficial Python wrapper to use [navitia.io APIs](https://doc.navitia.io).
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
> **⚠️ Version 2.0.0 Breaking Changes**
|
|
10
|
+
>
|
|
11
|
+
> Version 2.0.0 introduces breaking changes with the adoption of Request objects for all API methods.
|
|
12
|
+
> If you're upgrading from v1.x, please see the [CHANGELOG](CHANGELOG.md) for the migration guide.
|
|
13
|
+
|
|
14
|
+
## Pre-requisites
|
|
10
15
|
|
|
11
16
|
To use this library, you will need an access token from [navitia.io](https://navitia.io/tarifs/).
|
|
12
17
|
|
|
@@ -50,30 +55,89 @@ To use this library, you need an authentication token provided by Navitia.io.
|
|
|
50
55
|
|
|
51
56
|
### Create client instance
|
|
52
57
|
|
|
53
|
-
|
|
58
|
+
Create an instance of the NavitiaClient class with your authentication token:
|
|
59
|
+
|
|
60
|
+
```python
|
|
61
|
+
from navitia_client import NavitiaClient
|
|
62
|
+
|
|
63
|
+
client = NavitiaClient(auth="YOUR_TOKEN_HERE")
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
A base URL for Navitia IO is hardcoded and provided to NavitiaClient by default. It can be updated using the `base_navitia_url` parameter.
|
|
67
|
+
|
|
68
|
+
### Access APIs data
|
|
69
|
+
|
|
70
|
+
URLs are mapped as properties in the `NavitiaClient` class. You can find the mapping [here](docs/api_support/).
|
|
71
|
+
|
|
72
|
+
#### Simple APIs (Coverage, Datasets, Contributors)
|
|
73
|
+
|
|
74
|
+
For simple APIs like coverage, datasets, and contributors, you can call methods directly:
|
|
54
75
|
|
|
55
76
|
```python
|
|
56
|
-
|
|
57
|
-
|
|
77
|
+
# Get coverage information
|
|
78
|
+
regions = client.coverage.list_coverage_regions()
|
|
79
|
+
|
|
80
|
+
# Get datasets for a region
|
|
81
|
+
datasets, pagination = client.datasets.list_datasets(region_id="fr-idf")
|
|
58
82
|
```
|
|
59
83
|
|
|
60
|
-
|
|
84
|
+
#### APIs with Request Objects (Journeys, Places, Schedules, etc.)
|
|
61
85
|
|
|
62
|
-
|
|
86
|
+
Most APIs now use Request objects for better type safety and maintainability:
|
|
63
87
|
|
|
64
|
-
|
|
88
|
+
```python
|
|
89
|
+
from navitia_client.entities.request.journey import JourneyRequest
|
|
90
|
+
from datetime import datetime
|
|
91
|
+
|
|
92
|
+
# Create a journey request
|
|
93
|
+
request = JourneyRequest(
|
|
94
|
+
from_="stop_area:RAT:SA:GDLYO",
|
|
95
|
+
to_="stop_area:RAT:SA:CHDEG",
|
|
96
|
+
datetime_=datetime(2024, 6, 1, 8, 0),
|
|
97
|
+
count=5
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
# Get journeys
|
|
101
|
+
journeys = client.journeys.list_journeys(request=request)
|
|
102
|
+
```
|
|
65
103
|
|
|
66
|
-
|
|
104
|
+
Other examples:
|
|
67
105
|
|
|
68
106
|
```python
|
|
69
|
-
|
|
107
|
+
from navitia_client.entities.request.places_nearby import PlacesNearbyRequest
|
|
108
|
+
|
|
109
|
+
# Places nearby with custom parameters
|
|
110
|
+
request = PlacesNearbyRequest(
|
|
111
|
+
distance=1000,
|
|
112
|
+
type=["stop_area", "stop_point"],
|
|
113
|
+
count=20
|
|
114
|
+
)
|
|
115
|
+
places, pagination = client.places_nearby.list_objects_by_region_id_and_path(
|
|
116
|
+
region_id="fr-idf",
|
|
117
|
+
resource_path="lines/line:RAT:M1",
|
|
118
|
+
request=request
|
|
119
|
+
)
|
|
70
120
|
```
|
|
71
121
|
|
|
72
122
|
### Pagination
|
|
73
123
|
|
|
74
|
-
|
|
124
|
+
Several APIs are paginated, particularly the public transportation APIs. You can navigate through results using the `start_page` and `count` parameters in Request objects:
|
|
125
|
+
|
|
126
|
+
```python
|
|
127
|
+
from navitia_client.entities.request.journey import JourneyRequest
|
|
128
|
+
|
|
129
|
+
# Request with pagination
|
|
130
|
+
request = JourneyRequest(
|
|
131
|
+
from_="stop_area:RAT:SA:GDLYO",
|
|
132
|
+
to_="stop_area:RAT:SA:CHDEG",
|
|
133
|
+
start_page=0, # First page
|
|
134
|
+
count=10 # 10 results per page
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
journeys = client.journeys.list_journeys(request=request)
|
|
138
|
+
```
|
|
75
139
|
|
|
76
|
-
|
|
140
|
+
A `Pagination` object is provided by paginated methods to help you navigate through results.
|
|
77
141
|
|
|
78
142
|
### Tips
|
|
79
143
|
|
{python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/python_navitia_client.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-navitia-client
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.2
|
|
4
4
|
Summary: Python library to use with Navitia APIs
|
|
5
5
|
Author-email: Jonathan Perron <jonathan@perron.bzh>
|
|
6
6
|
License: MIT License
|
|
@@ -25,7 +25,12 @@ Dynamic: license-file
|
|
|
25
25
|
|
|
26
26
|
This repository provides a unofficial Python wrapper to use [navitia.io APIs](https://doc.navitia.io).
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
> **⚠️ Version 2.0.0 Breaking Changes**
|
|
29
|
+
>
|
|
30
|
+
> Version 2.0.0 introduces breaking changes with the adoption of Request objects for all API methods.
|
|
31
|
+
> If you're upgrading from v1.x, please see the [CHANGELOG](CHANGELOG.md) for the migration guide.
|
|
32
|
+
|
|
33
|
+
## Pre-requisites
|
|
29
34
|
|
|
30
35
|
To use this library, you will need an access token from [navitia.io](https://navitia.io/tarifs/).
|
|
31
36
|
|
|
@@ -69,30 +74,89 @@ To use this library, you need an authentication token provided by Navitia.io.
|
|
|
69
74
|
|
|
70
75
|
### Create client instance
|
|
71
76
|
|
|
72
|
-
|
|
77
|
+
Create an instance of the NavitiaClient class with your authentication token:
|
|
78
|
+
|
|
79
|
+
```python
|
|
80
|
+
from navitia_client import NavitiaClient
|
|
81
|
+
|
|
82
|
+
client = NavitiaClient(auth="YOUR_TOKEN_HERE")
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
A base URL for Navitia IO is hardcoded and provided to NavitiaClient by default. It can be updated using the `base_navitia_url` parameter.
|
|
86
|
+
|
|
87
|
+
### Access APIs data
|
|
88
|
+
|
|
89
|
+
URLs are mapped as properties in the `NavitiaClient` class. You can find the mapping [here](docs/api_support/).
|
|
90
|
+
|
|
91
|
+
#### Simple APIs (Coverage, Datasets, Contributors)
|
|
92
|
+
|
|
93
|
+
For simple APIs like coverage, datasets, and contributors, you can call methods directly:
|
|
73
94
|
|
|
74
95
|
```python
|
|
75
|
-
|
|
76
|
-
|
|
96
|
+
# Get coverage information
|
|
97
|
+
regions = client.coverage.list_coverage_regions()
|
|
98
|
+
|
|
99
|
+
# Get datasets for a region
|
|
100
|
+
datasets, pagination = client.datasets.list_datasets(region_id="fr-idf")
|
|
77
101
|
```
|
|
78
102
|
|
|
79
|
-
|
|
103
|
+
#### APIs with Request Objects (Journeys, Places, Schedules, etc.)
|
|
80
104
|
|
|
81
|
-
|
|
105
|
+
Most APIs now use Request objects for better type safety and maintainability:
|
|
82
106
|
|
|
83
|
-
|
|
107
|
+
```python
|
|
108
|
+
from navitia_client.entities.request.journey import JourneyRequest
|
|
109
|
+
from datetime import datetime
|
|
110
|
+
|
|
111
|
+
# Create a journey request
|
|
112
|
+
request = JourneyRequest(
|
|
113
|
+
from_="stop_area:RAT:SA:GDLYO",
|
|
114
|
+
to_="stop_area:RAT:SA:CHDEG",
|
|
115
|
+
datetime_=datetime(2024, 6, 1, 8, 0),
|
|
116
|
+
count=5
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
# Get journeys
|
|
120
|
+
journeys = client.journeys.list_journeys(request=request)
|
|
121
|
+
```
|
|
84
122
|
|
|
85
|
-
|
|
123
|
+
Other examples:
|
|
86
124
|
|
|
87
125
|
```python
|
|
88
|
-
|
|
126
|
+
from navitia_client.entities.request.places_nearby import PlacesNearbyRequest
|
|
127
|
+
|
|
128
|
+
# Places nearby with custom parameters
|
|
129
|
+
request = PlacesNearbyRequest(
|
|
130
|
+
distance=1000,
|
|
131
|
+
type=["stop_area", "stop_point"],
|
|
132
|
+
count=20
|
|
133
|
+
)
|
|
134
|
+
places, pagination = client.places_nearby.list_objects_by_region_id_and_path(
|
|
135
|
+
region_id="fr-idf",
|
|
136
|
+
resource_path="lines/line:RAT:M1",
|
|
137
|
+
request=request
|
|
138
|
+
)
|
|
89
139
|
```
|
|
90
140
|
|
|
91
141
|
### Pagination
|
|
92
142
|
|
|
93
|
-
|
|
143
|
+
Several APIs are paginated, particularly the public transportation APIs. You can navigate through results using the `start_page` and `count` parameters in Request objects:
|
|
144
|
+
|
|
145
|
+
```python
|
|
146
|
+
from navitia_client.entities.request.journey import JourneyRequest
|
|
147
|
+
|
|
148
|
+
# Request with pagination
|
|
149
|
+
request = JourneyRequest(
|
|
150
|
+
from_="stop_area:RAT:SA:GDLYO",
|
|
151
|
+
to_="stop_area:RAT:SA:CHDEG",
|
|
152
|
+
start_page=0, # First page
|
|
153
|
+
count=10 # 10 results per page
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
journeys = client.journeys.list_journeys(request=request)
|
|
157
|
+
```
|
|
94
158
|
|
|
95
|
-
|
|
159
|
+
A `Pagination` object is provided by paginated methods to help you navigate through results.
|
|
96
160
|
|
|
97
161
|
### Tips
|
|
98
162
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/apis/place_apis.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/exceptions.py
RENAMED
|
File without changes
|
{python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/navitia_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/client/raw/raw_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/request/place.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/link.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/note.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/path.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/poi.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_navitia_client-2.0.0 → python_navitia_client-2.0.2}/navitia_client/entities/response/trip.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|