Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Syncs systems.csv with transport.data.gouv #593

Merged
merged 4 commits into from
Jan 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ Location | Yes| Primary city in which the system is located, followed by the 2-l
System ID | Yes | ID for the system. This MUST match the `system_id` field in `system_information.json`.
URL | Yes | URL for the system from the `url` field in `system_information.json`. If the `url` field is not included in `system_information.json` this SHOULD be the primary URL for the system operator.
Auto-Discovery URL | Yes | URL for the system's `gbfs.json` auto-discovery file.
Authentication Info URL | Conditionally REQUIRED | If authentication is required, this MUST contain a URL to a human-readable page describing how the authentication should be performed and how credentials can be created.
Authentication Info | Conditionally REQUIRED | If authentication is required, this MUST contain a URL to a human-readable page describing how the authentication should be performed and how credentials can be created, or directly contain the public key-value pair to append to the feed URLs.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wouldn't be a key-value pair. I think what you want to say here is "contain the API key or token to append to the feed URLs"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. How can we make explicit that the name of the parameter is required too?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is getting overly complicated - I don't see any reason to separate the key from the URL in the auto-discovery column. What's the value in that? We've got lots of URLS with parameters for example: https://qickscooters.rideatom.com/gbfs/v2_2/en/gbfs?id=104 the only difference is that in this case it's an API key not a system_id but they function in the same way since the API key doesn't change. It's my understanding that the last column was added to support Auth schemes that use tokens or other forms of Auth that are subject to change and therefore needed a URL to provide additional info on how to get access.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem here is that gbfs.json references the sub-feeds without the key. It needs to be appended manually to them. So I suggest keeping the "key value pair" language.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm sorry - I misunderstood the problem. Ortwin is correct. I didn't realize that the URLS in gbfs.json lacked the key. However I would also argue that this is broken because feeds[].url in gbfs.json should contain a valid URL pointing to the file. Maybe we should consider updating that definition and requiring valid URLs. I've seen this lots of times the past and I just left the feeds out of systems.csv until they fixed the gbfs.json file.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you both for your input!

I would also argue that this is broken because feeds[].url in gbfs.json should contain a valid URL pointing to the file.

I agree. I informed the producer that it would be best to remove the public key or append it to all URLs in gbfs.json.

Maybe we should consider updating that definition and requiring valid URLs.

+1


## GBFS JSON Schemas
Complete JSON schemas for each version of GBFS can be found [here](https://github.com/MobilityData/gbfs-json-schema).
Expand Down
12 changes: 6 additions & 6 deletions systems.csv
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Country Code,Name,Location,System ID,URL,Auto-Discovery URL,Authentication Info URL
Country Code,Name,Location,System ID,URL,Auto-Discovery URL,Authentication Info
AE,Careem BIKE,Dubai,careem_bike,https://www.careem.com/en-ae/careem-bike/,https://dubai.publicbikesystem.net/customer/gbfs/v2/gbfs.json,
AR,Bike Nordelta,Buenos Aires,bike_nordelta,https://bikeitau.com.br/nordelta/,https://nordelta.publicbikesystem.net/ube/gbfs/v1/,
AR,Ecobici,Buenos Aires,bike_buenosaires,https://www.buenosaires.gob.ar/ecobici,https://buenosaires.publicbikesystem.net/ube/gbfs/v1/,
Expand Down Expand Up @@ -325,7 +325,6 @@ FR,Bird Epron,Epron,bird-epron,https://bird.co,https://mds.bird.co/gbfs/v2/publi
FR,Bird Herouvillesaintclair,Herouville-Saint-Clair,bird-herouvillesaintclair,https://bird.co,https://mds.bird.co/gbfs/v2/public/herouvillesaintclair/gbfs.json,
FR,Bird Larochesuryon,Roche-sur-Yon,bird-larochesuryon,https://bird.co,https://mds.bird.co/gbfs/v2/public/larochesuryon/gbfs.json,
FR,Bird Laval,Laval,bird-laval,https://bird.co,https://mds.bird.co/gbfs/v2/public/laval/gbfs.json,
FR,Bird Marseille,Marseille,bird-marseille,https://bird.co,https://mds.bird.co/gbfs/v2/public/marseille/gbfs.json,
FR,Bird Millau,Millau,bird-millau,https://bird.co,https://mds.bird.co/gbfs/v2/public/millau/gbfs.json,
FR,Bird Montlucon,Montluçon,bird-montlucon,https://bird.co,https://mds.bird.co/gbfs/v2/public/montlucon/gbfs.json,
FR,Bird Ouistreham,Ouistreham,bird-ouistreham,https://bird.co,https://mds.bird.co/gbfs/v2/public/ouistreham/gbfs.json,
Expand All @@ -345,13 +344,14 @@ FR,Dott Paris,Paris,dott-paris,https://ridedott.com,https://gbfs.api.ridedott.co
FR,Dott Tignes,Tignes,dott-tignes,https://ridedott.com,https://gbfs.api.ridedott.com/public/v2/tignes/gbfs.json,
FR,Dott Val-d’isere,Val-d’isere,dott-val-d’iser,https://ridedott.com/,https://gbfs.api.ridedott.com/public/v2/val-d%E2%80%99isere/gbfs.json,
FR,LE vélo STAR,Rennes,le_velo_star,https://www.star.fr/le-velo/nos-offres/vls/,https://eu.ftp.opendatasoft.com/star/gbfs/gbfs.json,
FR,Levélo,Marseille,levelo_inurba_marseille,https://levelo.ampmetropole.fr,https://api.omega.fifteen.eu/gbfs/2.2/marseille/en/gbfs.json,key=MjE0ZDNmMGEtNGFkZS00M2FlLWFmMWItZGNhOTZhMWQyYzM2
FR,Libélo,Valence,libelo,https://www.vrd-mobilites.fr/velo/,https://valence.publicbikesystem.net/customer/gbfs/v2/gbfs.json,
FR,Lime Marseille,Marseille,lime_marseille,https://www.li.me,https://data.lime.bike/api/partners/v2/gbfs/marseille/gbfs.json,
FR,Lime Paris,Paris,lime_paris,https://li.me/,https://data.lime.bike/api/partners/v2/gbfs/paris/gbfs.json,
FR,Link Cagnes-sur-Mer,Cagnes-sur-Mer,Link_Cagnes-sur-Mer,https://www.superpedestrian.com,https://mds.linkyour.city/gbfs/fr_cagnessurmer/gbfs.json,
FR,Link Perpignan,Perpignan,Link_Perpignan,https://www.superpedestrian.com,https://mds.linkyour.city/gbfs/fr_perpignan/gbfs.json,
FR,Leo and Go,Lyon,84b174c4-eb74-5d07-bdeb-27f4215d2aa9,https://www.leoandgo.com/,https://download.data.grandlyon.com/files/rdata/lag_leoandgo.disponibilite/gbfs.json,
FR,LOVELO Libre-service,Rouen,inurba-rouen,https://lovelolibreservice.fr/,https://gbfs.urbansharing.com/lovelolibreservice.fr/system_information.json,
FR,LOVELO Libre-service,Rouen,inurba-rouen,https://lovelolibreservice.fr/,https://gbfs.urbansharing.com/lovelolibreservice.fr/gbfs.json,
FR,Optymo Belfort,Belfort,Optymo_FR_Belfort,https://www.optymo.fr/,https://belfort-gbfs.klervi.net/gbfs/gbfs.json,
FR,Pony Angers,Angers,pony_Angers,https://getapony.com/,https://gbfs.getapony.com/v1/angers/en/gbfs.json,
FR,Pony Basque Country,Basque Country,pony_Basque_Country,https://getapony.com/,https://gbfs.getapony.com/v1/basque_country/en/gbfs.json,
Expand All @@ -374,18 +374,18 @@ FR,Tier GRENOBLE,Grenoble,tier_GRENOBLE,https://www.tier.app,https://data.mobili
FR,VCub Bordeaux,Bordeaux,vcub,https://www.vcub.fr/,https://transport.data.gouv.fr/gbfs/vcub/gbfs.json,
FR,Vélam,Amiens,amiens,http://www.velam.amiens.fr/,https://transport.data.gouv.fr/gbfs/amiens/gbfs.json,
FR,Vélib' Metropole,Paris,Paris,https://www.velib-metropole.fr/,https://velib-metropole-opendata.smovengo.cloud/opendata/Velib_Metropole/gbfs.json,
FR,Vélivert,Saint-Etienne,Velivert_FR_Saint-Etienne,https://www.velivert.fr/,https://saint-etienne-gbfs.klervi.net/gbfs/gbfs.json,
FR,VélO2,Cergy-Pontoise,cergy-pontoise,http://www.velo2.cergypontoise.fr/,https://transport.data.gouv.fr/gbfs/cergy-pontoise/gbfs.json,
FR,Vélo'Baie,Saint-Brieuc,saintbrieuc,https://www.saintbrieuc-armor-agglo.bzh/velobaie,https://gateway.prod.partners-fs37hd8.zoov.site/gbfs/2.2/saintbrieuc/en/gbfs.json,key=YmE1ZDVlNDYtMGIwNy00MGEyLWIxZWYtNGEwOGQ4NTYxNTYz
FR,Vélocéo,Vannes,Veloceo_FR_Vannes,https://veloceo.kiceo.fr/,https://vannes-gbfs.klervi.net/gbfs/gbfs.json,
FR,VéloCité,Besançon,besançon,https://www.velocite.besancon.fr/,https://transport.data.gouv.fr/gbfs/besancon/gbfs.json,
FR,VéloCité,Mulhouse,mulhouse,https://www.compte-mobilite.fr/services/velos-en-libre-service/,https://transport.data.gouv.fr/gbfs/mulhouse/gbfs.json,
FR,Vélomagg',Montpellier,montpellier,https://www.tam-voyages.com/presentation/?rub_code=1&thm_id=6,https://montpellier-fr-smoove.klervi.net/gbfs/gbfs.json,
FR,Vélopop,Avignon,Vélopop_FR_Avignon,https://www.velopop.fr/,https://avignon-gbfs.klervi.net/gbfs/gbfs.json,
FR,VélOstan'lib,Nancy,nancy,http://www.velostanlib.fr/,https://transport.data.gouv.fr/gbfs/nancy/gbfs.json,
FR,VélÔToulouse,Toulouse,toulouse,http://www.velo.toulouse.fr/,https://transport.data.gouv.fr/gbfs/toulouse/gbfs.json,
FR,VéloZef,Brest,velozef,https://www.bibus.fr/services/velozef-le-velo-assistance-electrique-en-libre-service,https://api.prod.partners-fs37hd8.zoov.eu/gbfs/2.2/brest/en/gbfs.json?&key=OGNhZDNjMDQtYTA0Yi00NzU2LWE0MTItOGJlYzE1Y2E4NGEx,
FR,VéloZef,Brest,velozef,https://www.bibus.fr/services/velozef-le-velo-assistance-electrique-en-libre-service,https://api.prod.partners-fs37hd8.zoov.eu/gbfs/2.2/brest/en/gbfs.json,key=OGNhZDNjMDQtYTA0Yi00NzU2LWE0MTItOGJlYzE1Y2E4NGEx
FR,Vélo'v,Lyon,lyon,https://velov.grandlyon.com/en/home,https://transport.data.gouv.fr/gbfs/lyon/gbfs.json,
FR,Vélivert (Saint-Étienne),Saint-Étienne,velivert_saint_etienne,https://api.sigma.fifteen.eu,https://api.saint-etienne-metropole.fr/velivert/api/gbfs/gbfs.json,
FR,Vélivert,Saint-Étienne,velivert_saint_etienne,https://www.velivert.fr/,https://api.saint-etienne-metropole.fr/velivert/api/gbfs/gbfs.json,
FR,VélYcéo,Saint-Nazaire,velyceo,https://www.velyceo.com,https://api.gbfs.v1.ecovelo.mobi/gbfs/velyceo,
FR,V'lille,Lille,vlille,https://www.ilevia.fr/cms/vlille/,https://transport.data.gouv.fr/gbfs/vlille/gbfs.json,
FR,Voi Marseille,Marseille,voiscooters.com,https://www.voiscooters.com/,https://api.voiapp.io/gbfs/fr/6bb6b5dc-1cda-4da7-9216-d3023a0bc54a/gbfs.json,
Expand Down