Skip to content

Releases: tjorim/pyrail

๐Ÿ“ข PyRail v0.4.1 โ€“ UTC Timestamps & Dependency Updates

19 Feb 12:34
4c4ba2c
Compare
Choose a tag to compare

๐Ÿš€ What's Changed

๐Ÿ”ง Improvements

  • ๐Ÿ•’ Datetime Handling: Updated to use Unix timestamps in UTC (#47 by @silamon)

๐Ÿ“ฆ Dependency Updates

  • โฌ†๏ธ Bumped ruff from 0.9.3 โ†’ 0.9.6 (#48 & #52 by @dependabot)
  • โฌ†๏ธ Bumped pytest-asyncio from 0.25.2 โ†’ 0.25.3 (#49 by @dependabot)
  • โฌ†๏ธ Bumped aiohttp from 3.11.11 โ†’ 3.11.12 (#50 by @dependabot)
  • โฌ†๏ธ Bumped mypy from 1.14.1 โ†’ 1.15.0 (#51 by @dependabot)

๐Ÿ“œ Full Changelog: v0.4.0...v0.4.1

๐Ÿš‚ pyRail v0.4.0: Streamlined and Smarter!

28 Jan 00:41
161e295
Compare
Choose a tag to compare

โœจ What's New

  • Improved Documentation & Code Clarity:
    Enhanced the iRail class documentation and refactored code for better readability and maintainability. #45
  • README Updates:
    Improved language selection and session management sections for a better user experience. #42
  • Dependency Updates:
    Bumped ruff from 0.9.2 to 0.9.3 for the latest fixes and improvements. #44

โš ๏ธ Breaking Changes

  1. Data Models:

    • Introduced OccupancyName enum, replacing string types for occupancy names.
    • Updated data structures to replace wrapper classes with direct lists:
      • LiveboardDepartures โ†’ list[LiveboardDeparture]
      • LiveboardArrivals โ†’ list[LiveboardArrival]
      • ConnectionStops โ†’ list[ConnectionStop]
      • CompositionSegments โ†’ list[Segment]
      • CompositionUnits โ†’ list[Unit]
      • DescriptionLinks โ†’ list[DescriptionLink]
  2. Response Structure:

    • Simplified nested responses for easier access:
      • LiveboardApiResponse.departures and arrivals are now optional (None).
      • Removed nested access for lists (e.g., .departure and .arrival).
  3. Type Hint Changes:

    • Modernized type hints throughout the codebase:
      • Dict โ†’ dict
      • List โ†’ list

Full Changelog: v0.3.0...v0.4.0

๐Ÿš€ PyRail v0.3.0 โ€“ Enhanced Model Support and Testing Improvements

19 Jan 10:38
8ae3b05
Compare
Choose a tag to compare

โœจ Key Updates

  • ๐ŸŒ Support for External aiohttp Session: Added support for using an external aiohttp session to improve flexibility in HTTP requests. (#41 by @tjorim)
  • ๐Ÿ› ๏ธ Improved Boolean Handling: Utilized previously implemented boolean handling in data models. (#39 by @silamon and @tjorim)
  • ๐Ÿ“… Timestamp Handling Improvements:
    • Renamed timestamp_to_datetime to _timestamp_to_datetime to indicate it is a private function for internal use.
    • Added tests for timestamp and boolean field deserialization in models.
    • Skipped timestamp tests due to timezone discrepancies and cleaned up test functions.
  • ๐Ÿš‰ Liveboard Model Update: Enhanced the liveboard to support arrivals instead of the default departures, with the introduction of LiveboardArrival and LiveboardArrivals models.
  • ๐Ÿ”” Alert Model Updates:
    • Added a description field to the Alert model.
    • Made the existing link in the Alert model optional, allowing for cases where it may not be present. (#38 by @silamon and @CodeRabbit)

๐ŸŒŸ Contributors

  • ๐ŸŽ‰ Thanks to @silamon and @tjorim for their contributions to this release!

๐Ÿ”— Full Changelog: Compare v0.2.5...v0.3.0

๐Ÿš€ PyRail v0.2.5 โ€“ Enhanced Data Models

16 Jan 23:49
92f2d0b
Compare
Choose a tag to compare

โœจ Key Updates

  • ๐Ÿ”ง Typed Data Classes for iRail Station Endpoint: Added typed data classes for improved structure and readability. (#22 by @silamon)
  • ๐Ÿ“Š Expanded Data Models: Introduced additional data models to enhance response handling. (#23)
  • ๐Ÿ› ๏ธ Development Environment: Updated devcontainer to prevent Python overrides. (#31 by @silamon)
  • ๐Ÿ“ฆ Dependency Updates:
    • ๐Ÿ”„ Bumped pytest-asyncio to v0.25.2. (#34 by @dependabot)
    • ๐Ÿ”„ Bumped ruff from v0.8.6 to v0.9.2 over two incremental updates. (#35 and #36 by @dependabot)

๐ŸŒŸ New Contributors

  • ๐ŸŽ‰ @silamon contributed to the iRail Station Endpoint enhancements. (#22), thanks!

๐Ÿ”— Full Changelog: Compare v0.1.0...v0.2.4

๐Ÿš‘ Version 0.2.1-0.2.5 were published to fix an issue in the publishing workflow.

v0.1.1

03 Jan 15:33
65135bf
Compare
Choose a tag to compare
v0.1.1 Pre-release
Pre-release

Trying out publish action

0.1.0

03 Jan 15:20
65135bf
Compare
Choose a tag to compare

Special Thanks

  • @jcoetsie for adding rate limiting functionality
  • @lgnap for implementing async/await support

Features

  • Added intelligent rate limiting and request throttling (#6)
  • Modernized codebase with async/await support (#15)
  • Added Docker development environment with VS Code integration

Dependencies & CI

  • Updated requests package to 2.32.3
  • Upgraded GitHub Actions (checkout v4, setup-python v5)
  • Added automated dependency management

Full Changelog