Skip to content

Releases: mikeqfu/pyrcs

1.1.0

Choose a tag to compare

@mikeqfu mikeqfu released this 14 Apr 22:00
e6b36e1

📦 Release v1.1.0

This release introduces ecosystem updates, including Pandas 3.0 and PyHelpers 2.4 compatibility, and improves the robustness of data parsing across core modules.

Summary of changes since 1.0.4:

🐛 Bug fixes

  • Replaced checks with pd.isna() in ELR parsing to prevent TypeError on null nodes, and refined character count heuristics (#78, #81).
  • Implemented URL normalisation and request timeouts to prevent hangs during last-updated-date retrieval (#77, #80).
  • Corrected broken case-sensitive hyperlinks in README.md and fixed PDF chapter numbering.

⚙️ Maintenance & refactoring

  • Updated type selection to include 'string' extension types and removed deprecated silent downcasting contexts (#79, #82).
  • Migrated to importlib.resources for metadata management and adopted resolve_dir() for path handling (#83).
  • Optimised _stanox_note() to correctly isolate pseudo STANOX markers and handle malformed parentheses.

🧪 Test enhancements

  • Migrated test suite mocking from unittest.mock to pytest-mocker.
  • Added parameterised testing for location identifiers and increased coverage for edge-case STANOX parsing.

🛠️ CI/CD

  • Updated requirements.txt to ensure pytest-mock is available in GitHub Actions.

1.0.4

Choose a tag to compare

@mikeqfu mikeqfu released this 30 Dec 14:33
9d68056

📦 Release v1.0.4

This release focuses on stabilising the codebase through expanded test coverage, logic refinements, and fixes for breaking changes in upstream data scraping.

Summary of changes since 1.0.3:

🐛 Bug fixes

  • Web scraper fix: Resolved a TypeError in Depots.fetch_codes() by updating header mappings to match current upstream structures (#67).
  • Parsing logic: Fixed a minor bug in Tunnels._parse_length and improved connection error reporting.
  • Infrastructure: Standardised error-raising logic and refined file path generation in the base class.

🧪 Test enhancements

  • Coverage expansion: Increased unit test coverage for core modules, including Stations, Tunnels, Viaducts, ELRMileages, Features, and SigBoxes.
  • Robustness: Refactored TestLOR and prefix validation to use dynamic type checking instead of hardcoded values (#66).

⚙️ Maintenance

  • API cleanup: Converted defaultdict outputs to standard dict for cleaner API returns.
  • Refactoring: Improved data update workflows for OtherAssets and ELRMileages.
  • Documentation: Updated project metadata, Sphinx configuration, and quick-start.rst.
  • Dependencies: Updated requirements.txt for both core and documentation environments.

1.0.3

Choose a tag to compare

@mikeqfu mikeqfu released this 28 Nov 23:56

📦 Release v1.0.3

This release introduces several bug fixes and completes the Python 3.12 compatibility update.

Summary of changes since 1.0.2:

🐛 Bug fixes

  • Fixed KeyError: 'Station' in Stations.collect_locations() (#52).
  • Fixed ConnectionError handling in get_introduction() (#54).
  • Resolved TypeError in both GWR data processing (#56) and viaduct data parsing (#58).
  • Restored complete data collection in get_site_map() (#61).

⚙️ Maintenance

  • Updated requirements.txt.
  • Bumped minimum Python version: The required minimum Python version for the package is now 3.12.

1.0.2

Choose a tag to compare

@mikeqfu mikeqfu released this 12 Jul 20:39
02f94ca

📦 Release v1.0.2

This release includes bug fixes, error-handling improvements, and packaging & documentation updates in preparation for future development.

Summary of changes since 1.0.1:

🐛 Bug fixes:

  • Fixed note aggregation logic in LocationIdentifiers.collect_notes() to handle behaviour more accurately (#45).
  • Handled IndexError in get_introduction() for malformed or invalid URLs (#47).

🔧 Packaging & documentation (#48):

  • Removed setup.cfg, and updated pyproject.toml and MANIFEST.in.
  • Improved Sphinx documentation template.

1.0.1

Choose a tag to compare

@mikeqfu mikeqfu released this 19 Mar 11:12
63b90ce

Notable changes since 1.0.0:

  • Enhanced existing tests to improve coverage and reliability.
  • Fixed minor bugs.
  • Updated project requirements.

For more information and detailed specifications, check out the PyRCS 1.0.1 documentation.

1.0.0

Choose a tag to compare

@mikeqfu mikeqfu released this 03 Mar 10:21

Notable changes since 0.3.7:

  • Major Release: Version 1.0.0 introduces significant improvements to both code and documentation.
    • Code enhancements: Optimised performance and refactored core modules for better readability and maintainability.
    • Bug fixes: Resolved various issues identified through practical use.
  • License Update: This release is now licensed under the MIT License, providing greater flexibility and usability.

For more information and detailed specifications, check out the PyRCS 1.0.0 documentation.

0.3.7

Choose a tag to compare

@mikeqfu mikeqfu released this 16 Sep 14:55

Notable changes since 0.3.6:

For more information and detailed specifications, check out PyRCS 0.3.7 documentation.

0.3.6

Choose a tag to compare

@mikeqfu mikeqfu released this 10 Jun 18:58

Notable changes since 0.3.5:

For more information and detailed specifications, check out PyRCS 0.3.6 documentation.

0.3.5

Choose a tag to compare

@mikeqfu mikeqfu released this 26 Feb 21:59

Notable changes since 0.3.4:

For more information and detailed specifications, check out PyRCS 0.3.5 documentation.

0.3.4

Choose a tag to compare

@mikeqfu mikeqfu released this 09 Jan 16:29

Notable changes since 0.3.3:

For more information and detailed specifications, check out PyRCS 0.3.4 documentation.