{"id":26578026,"url":"https://github.com/dadananjesha/lifreader","last_synced_at":"2026-04-14T07:34:00.772Z","repository":{"id":282255320,"uuid":"947514537","full_name":"DadaNanjesha/LIFReader","owner":"DadaNanjesha","description":"LIFReader provides a streamlined way to understand and work with AGV systems. Whether you're an integrator, system designer, or researcher, LIFReader offers a valuable toolkit for navigating the world of automated vehicle layouts.","archived":false,"fork":false,"pushed_at":"2025-04-01T09:50:07.000Z","size":189,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-27T18:33:27.474Z","etag":null,"topics":["docker","layout-interchange-format","lif","lifreader","open-source","published","pypi-package","robots","vda5050","vdma"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/LIFReader/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DadaNanjesha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-12T20:07:45.000Z","updated_at":"2025-11-05T11:11:42.000Z","dependencies_parsed_at":"2025-04-01T10:28:40.549Z","dependency_job_id":null,"html_url":"https://github.com/DadaNanjesha/LIFReader","commit_stats":null,"previous_names":["dadananjesha/lifreader"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/DadaNanjesha/LIFReader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DadaNanjesha%2FLIFReader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DadaNanjesha%2FLIFReader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DadaNanjesha%2FLIFReader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DadaNanjesha%2FLIFReader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DadaNanjesha","download_url":"https://codeload.github.com/DadaNanjesha/LIFReader/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DadaNanjesha%2FLIFReader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31787048,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","layout-interchange-format","lif","lifreader","open-source","published","pypi-package","robots","vda5050","vdma"],"created_at":"2025-03-23T04:18:54.884Z","updated_at":"2026-04-14T07:34:00.766Z","avatar_url":"https://github.com/DadaNanjesha.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 LIFReader: Visualize and Understand AGV Layouts 🗺️\n\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python Version](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://www.python.org/downloads/)\n[![Dependencies](https://img.shields.io/badge/Dependencies-Up%20to%20date-brightgreen)](https://requires.io/github/your-username/LIFReader/requirements/?branch=main)\n[![Code Style](https://img.shields.io/badge/code%20style-pep8-orange.svg)](https://www.python.org/dev/peps/pep-0008/)\n\n\n## ✨ Overview\n\nLIFReader is a powerful Python tool designed to **parse, visualize, and analyze AGV (Automated Guided Vehicle) layouts** defined in the Layout Interchange Format (LIF). Imagine effortlessly transforming complex AGV track layouts into clear, insightful visualizations – that's what LIFReader empowers you to do!\n\nInspired by the VDA 5050 standard, LIFReader provides a streamlined way to understand and work with AGV systems. Whether you're an integrator, system designer, or researcher, LIFReader offers a valuable toolkit for navigating the world of automated vehicle layouts.\n\n## 🌟 Key Features\n\n*   **Effortless LIF Parsing**: Seamlessly converts LIF files into a structured graph representation.\n*   **Stunning Visualizations**: Transforms AGV layouts into easily understandable visual maps using Matplotlib.\n*   **Fully Configurable**: Customize visualization settings (colors, nodes sizes, labels) via a simple `config.json` file.\n*   **Logging Support**: Track script activity with comprehensive logging for debugging and analysis.\n*   **Lightweight and Modular**: Easy to integrate into existing projects and workflows.\n\n## 🛠️ Installation\n\nGet LIFReader up and running in a few simple steps:\n\n1.  **Clone the repository:**\n\n    ```\n    git clone https://github.com/your-username/LIFReader.git\n    cd LIFReader\n    ```\n\n2.  **Install the dependencies:**\n\n    ```\n    pip install networkx matplotlib pydantic\n    ```\n\n## 🚀 Quick Start\n\nReady to visualize your AGV layout? Follow these steps:\n\n1.  **Configure `config.json`**:\n\n    *   Update the `lif_file` path in `config.json` to point to your LIF file.\n    *   Customize graph appearance in the `graph_settings` section.\n\n2.  **Run the script:**\n\n    ```\n    python main.py\n    ```\n\n    ✨ Voila! ✨ You'll see a Matplotlib window displaying your AGV layout. An image file is created by the script to the file path you provided in the filepaths section.\n\n## ⚙️ Configuration\n\nThe `config.json` file puts you in control!  Here's a breakdown of the key settings:\n\n*   **`file_paths`**:  Specify file locations.\n    *   `lif_file`: Path to your LIF JSON file.\n    *   `output_graph`:  (Optional) Path to save the visualization as a PNG image.\n*   **`graph_settings`**:  Customize the look and feel of the graph.\n    *   `node_size`: Size of nodes.\n    *   `node_color`: Color of nodes.\n    *   `with_labels`: Show/hide node labels.\n    *   `edge_color`: Color of edges.\n    *   `edge_width`: Width of edges.\n    *   `edge_alpha`: Edge transparency.\n    *   `edge_style`: Edge line style (\"solid\", \"dashed\", etc.).\n    *   `edge_connectionstyle`: Edge curvature (\"-\" for straight lines).\n*   **`logging`**: Configure logging behavior.\n    *   `log_level`:  Set the logging level (\"INFO\", \"DEBUG\", \"WARNING\", \"ERROR\").\n    *   `log_file`:  Specify the log file path.\n*   **`command_line_args`**:  Enable or disable features.\n    *   `lif`: Enable LIF parsing.\n    *   `visualize`: Enable graph visualization.\n\n## 🏗️ Project Structure\n\nLIFReader is thoughtfully organized for clarity and maintainability:\n\n```\nLIFReader/\n├── lif_reader/\n│ ├── init.py\n│ ├── json_reader.py\n│ ├── graph/\n│ │ ├── init.py\n│ │ ├── graph_renderer.py\n│ │ ├── lif_graph.py\n│ ├── models/\n│ │ ├── init.py\n│ │ ├── action.py\n│ │ ├── action_parameter.py\n│ │ ├── control_point.py\n│ │ ├── edge.py\n│ │ ├── layout.py\n│ │ ├── lif.py\n│ │ ├── load_restriction.py\n│ │ ├── meta_information.py\n│ │ ├── node.py\n│ │ ├── station.py\n│ │ ├── trajectory.py\n│ │ ├── vehicle_type_edge_property.py\n│ │ ├── vehicle_type_node_property.py\n│ ├── utils/\n│ │ ├── init.py\n│ │ ├── config_loader.py\n├── files/\n│ ├── example2.json\n├── logs/\n│ ├── lif_reader.log\n├── config.json\n├── main.py\n├── requirements.txt\n├── setup.py\n├── LICENSE\n└── README.md\n\n\n```\n\n## 🎯 Contributing\n\nLIFReader thrives on community contributions! Whether you have bug fixes, new features, or documentation improvements, we welcome your input.\n\n1.  Fork the repository.\n2.  Create a feature branch (`git checkout -b feature/your-feature`).\n3.  Commit your changes (`git commit -am 'Add some feature'`).\n4.  Push to the branch (`git push origin feature/your-feature`).\n5.  Create a new Pull Request.\n\n## 📜 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgements\n\n*   This project was created according to VDMA.\n*   Thanks to the open-source community for providing valuable libraries and resources.\n\n\n## ⭐️ Support \u0026 Call-to-Action\n\nIf you find this project useful, please consider:\n- **Starring** the repository ⭐️\n- **Forking** the project to contribute enhancements\n- **Following** for updates on future improvements\n\nYour engagement helps increase visibility and encourages further collaboration!\n\n---\n\nHappy coding! 🚀✨\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdadananjesha%2Flifreader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdadananjesha%2Flifreader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdadananjesha%2Flifreader/lists"}