mrazza / path-data Goto Github PK
View Code? Open in Web Editor NEWA gRPC API that exposes various information about the PATH transit system.
License: MIT License
A gRPC API that exposes various information about the PATH transit system.
License: MIT License
Not sure if you are aware or not, but the API has been down for a few days now.
This is what your status page shows, not sure if a code issue or an operational one.
https://jsfiddle.net/a6Ls5w8b/9/
Here are some unrelated improvements I made to your jsfiddle example from the reddit post in case you are interested. Shows train direction, line color etc in the view.
Thank you for putting together this amazing resource! I've encountered an issue with the routes API described in README.md
.
To reproduce: Open https://path.api.razza.dev/v1/routes/ in a web browser.
Expected result: Return a list of routes
Actual result:
{
"code": 2,
"message": "Exception was thrown by handler.",
"details": []
}
This is a followup to #20. I've done some more research recently, and intermittently the data from this API is either completely missing or incomplete. The PANYNJ's realtime schedules (https://www.panynj.gov/path/en/index.html) do not show any problems during these times. I've attached an image and video (showing data quickly pop in and out) below showing the issue on the demo website.
If there's any further details I can provide, please let me know.
This weekend the Newark-WTC line is running in two sections. I'm wondering if PANYNJ has assigned the two sections unique IDs that need to be handled by the API?
Hi @mrazza has the API stopped working recently? The test app doesn't seem to be showing updated data either.
I wanted to let you know about a new consumer of your API, and couldn't find another way to contact you!
This week I deployed a project that reads your API and outputs a public feed in the GTFS Realtime format. I'm hitting your API every 5 seconds which I hope is okay. More information is on the project repo: https://github.com/jamespfennell/path-train-gtfs-realtime
The motivation is to enable applications that already work with GTFS "natively" to use the data without any app-specific logic. So, for example, the backend of my web app which previously just had NYC Subway data now has PATH data with no customization required more or less: https://www.realtimerail.nyc/transiter/v0.4/systems
Thanks for the API, it's really great to be able to get this data.
I have some automations that run on node-red that uses this api to get train timings, that get activated only when i commute, after the long weekend this morning 9:30 am on my way to work i did not get the notifications and looking at it now 12:50pm i see the api does not run.
Anyone knows whats happening?
The service bus topics are no longer populated, instead SignalR/websockets are used to push realtime information to clients.
This API is returning the incorrect route for the "33rd Street" line. Below is an example response from the demo site where the line name is "33rd Street" but the route is JSQ_33_HOB
. I've also included a screenshot from the official PATH website during the same time, which confirms the expected route is "33rd Street" without stopping at Hoboken.
I noticed this when using the downstream path-train-gtfs-realtime API. I am working on a patch to handle this case within that project for now. Please let me know if there's any further details I can provide, and thanks for your work on this project!
{
"upcomingTrains": [
{
"lineName": "33rd Street",
"headsign": "33rd Street",
"route": "JSQ_33_HOB",
"routeDisplayName": "Journal Square - 33rd Street (via Hoboken)",
"direction": "TO_NY",
"lineColors": [
"#FF9900"
],
"status": "ON_TIME",
"projectedArrival": "2023-12-27T00:09:21Z",
"lastUpdated": "2023-12-27T00:01:24Z"
},
]
}
Investigation required.
2021-06-11 04:28:21.968 +00:00 [Information] (/StartupTaskExecutor.ExecuteTasks:38) Executing startup tasks...
2021-06-11 04:28:21.991 +00:00 [Information] (/PathSqlDbRepository.OnStartup:69) Preparing PATH SQL repository...
2021-06-11 04:28:22.639 +00:00 [Information] (/PathApiClient.GetLatestChecksum:44) PATH DB checksum updated to "CE78A735F3DCF2CCB49E546CF40F9E29".
Unhandled Exception: System.AggregateException: One or more errors occurred. (Invalid response from PATH API when downloading DB update: NotFound) ---> System.Net.Http.HttpRequestException: Invalid response from PATH API when downloading DB update: NotFound
at PathApi.Server.PathServices.PathApiClient.GetDatabaseAsStream(String checksum) in /home/mrazza/sources/path-data/server/PathServices/PathApiClient.cs:line 66
at PathApi.Server.PathServices.PathSqlDbRepository.DownloadDatabase() in /home/mrazza/sources/path-data/server/PathServices/PathSqlDbRepository.cs:line 299
at PathApi.Server.PathServices.PathSqlDbRepository.OnStartup() in /home/mrazza/sources/path-data/server/PathServices/PathSqlDbRepository.cs:line 73
at PathApi.Server.StartupTaskExecutor.ExecuteTasks() in /home/mrazza/sources/path-data/server/StartupTaskExecutor.cs:line 39
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at PathApi.Server.Program.Main(String[] args) in /home/mrazza/sources/path-data/server/Program.cs:line 41
System.NullReferenceException: Object reference not set to an instance of an object. at PathApi.Server.PathServices.PathApiClient.CheckForDbUpdate(String checksum) in /home/mrazza/sources/path-data/server/PathServices/PathApiClient.cs:line 93 at PathApi.Server.PathServices.PathApiClient.GetLatestChecksum(String startingChecksum) in /home/mrazza/sources/path-data/server/PathServices/PathApiClient.cs:line 36 at PathApi.Server.PathServices.PathSqlDbRepository.OnStartup() in /home/mrazza/sources/path-data/server/PathServices/PathSqlDbRepository.cs:line 72 at PathApi.Server.StartupTaskExecutor.ExecuteTasks() in /home/mrazza/sources/path-data/server/StartupTaskExecutor.cs:line 39
The API endpoint is returning a 404 error: https://path.api.razza.dev/
It seems there is now a relatively easy (albeit slow) way to query active alerts from the PATH's official website: https://www.panynj.gov/bin/portauthority/everbridge/incidents?status=All&department=Path. I would like to get PATH service alerts integrated into the PATH GTFS realtime project, and figured it may make sense to add it here first and then consume the new API from the GTFS project, since it already uses this for realtime trip data.
I am curious what your thoughts on the above are and if you're open to the idea - thanks in advance for your time/feedback!
EDIT: Adding a reference to the parallel RFC Issue in the GTFS project: jamespfennell/path-train-gtfs-realtime#2
The API's /realtime endpoint frequently returns a 503 response when queried. Over the past week, the site has returned a 503 response about 24% of the time. This number comes from some VictoriaMetrics + Prometheus monitoring I set up that periodically queries the Hoboken realtime endpoint at https://path.api.razza.dev/v1/stations/hoboken/realtime.
Here's a graph of the response code over time:
Not trying to complain here, just stating the way things are. I realize that running this service is probably expensive and PATH doesn't go out of their way to make it easier for you! I'm happy to help out with funding or running the service since I use it every day.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.