""" File: requirements_app.py Author: Dmitry Ryumin, Maxim Markitantov, Elena Ryumina, Anastasia Dvoynikova, and Alexey Karpov Description: Project requirements for the Gradio app. License: MIT License """ import base64 import requests import polars as pl # Importing necessary components for the Gradio app from app.config import config_data def encode_image_to_base64(image_data: str) -> str: return base64.b64encode(image_data).decode("utf-8") def fetch_pypi_badge_base64(package_name: str) -> str: url = f"https://img.shields.io/pypi/v/{package_name}" response = requests.get(url) response.raise_for_status() base64_image = encode_image_to_base64(response.content) return ( f"" f"PyPI" ) def read_requirements(file_path="requirements.txt"): with open(file_path, "r") as file: lines = file.readlines() data = [ { config_data.Requirements_LIBRARY: split_line[0], config_data.Requirements_RECOMMENDED_VERSION: split_line[1], # config_data.Requirements_CURRENT_VERSION: fetch_pypi_badge_base64( # split_line[0] # ), } for line in lines if (split_line := line.strip().split("==")) and len(split_line) == 2 ] df = pl.DataFrame(data) return df