Skip to content

feat: support for GBFSv3, yoio timestamp fix#176

Merged
hbruch merged 4 commits into
mainfrom
gbfsv3-yoio
Jan 14, 2026
Merged

feat: support for GBFSv3, yoio timestamp fix#176
hbruch merged 4 commits into
mainfrom
gbfsv3-yoio

Conversation

@hbruch
Copy link
Copy Markdown
Collaborator

@hbruch hbruch commented Jan 8, 2026

This PR

  • adds support for GBFSv3
  • adds a gbfs_fix_gbfsv3_timestamp converter which truncates microseconds and adds sets timezone to UTC, if it has not been provided
  • bumps dependencies

hbruch added 4 commits January 8, 2026 18:57
* handle renamed vehicle_status feeds in same way as free_floating_bikes
* handle vehicles property in same way as bikes property
* support gbfsv3 format for gbfs file
* remove microseconds, if sent
* add +00:00 as timezone, if non is declared
@hbruch hbruch requested a review from the-infinity January 8, 2026 18:06
]

def convert(self, data: Union[dict, list], path: str) -> Union[dict, list]:
def rewrite_https_to_http_for_all_feeds(feeds: list[dict]) -> None:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Optional improvement: I personally do not really like functions in functions, as they are difficult to track and do not follow OOP patterns. I would recommend a @staticmethod instead. But if you prefer this style, I would be fine.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Thanks. For now, I'd like to leave as is. Should the need occur to reuse it elsewhere, I'd move it to a utils modul later.

@hbruch hbruch merged commit fbc6bdf into main Jan 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants