MASAI / app /requirements_app.py
DmitryRyumin's picture
Update requirements_app.py
2b57c64
raw
history blame
1.45 kB
"""
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"<a href='https://pypi.org/project/{package_name}' target='_blank'>"
f"<img src='data:image/svg+xml;base64,{base64_image}' alt='PyPI' /></a>"
)
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