How to Contribute

We welcome contributions to rdmpy! This project aims to build a comprehensive toolkit for analyzing UK rail incidents and delay propagation. Whether you’re interested in data science, systems engineering, or railway operations, there are many ways you can help.

Types of Contributions

We accept several types of contributions:

  • New datasets: Additional railway data sources that complement our UK Rail Data Marketplace integration

  • Code improvements: Bug fixes, performance optimizations, new analysis features

  • Documentation: Improvements to existing documentation, tutorials, additional demos

  • Testing: Unit tests, integration tests, data validation improvements

  • Analysis & Examples: New Jupyter notebooks, use cases, visualizations, research insights

  • Data preprocessing enhancements: Improvements to the preprocessor module for better data quality

Code Guidelines

  • Follow PEP 8 style guidelines for Python code

  • Add docstrings to new functions and classes

  • Include unit tests for new features

  • Update documentation when adding new functionality

  • Keep commits focused and descriptive

Data Contribution Guidelines

If you’re contributing new data analysis or datasets:

  • Ensure data sources are properly documented and cite the Rail Data Marketplace

  • Include any preprocessing steps required

  • Document any assumptions or limitations

  • Provide example usage in a Jupyter notebook

  • Ensure compliance with data licensing requirements

Contact & Questions

For questions or suggestions, please:

  • Open an issue on GitHub for bugs or feature requests

  • Start a discussion for broader ideas or improvements

  • Contact the project maintainers at ji-eun.byun@glasgow.ac.uk

Thank You

Thank you for considering contributing to rdmpy! Your contributions help advance our understanding of railway system behavior and resilience.