import gradio as gr import math import pkg_resources # Для получения списка пакетов def get_installed_packages_formatted_for_description(): installed_packages = pkg_resources.working_set # Форматируем в одну строку с переносами для Markdown packages_list_str = "\n".join(sorted([f"- {i.key}=={i.version}" for i in installed_packages])) return f"\n\n---\n**Установленные пакеты:**\n{packages_list_str}" # Получаем список пакетов один раз при запуске скрипта installed_packages_info_desc = get_installed_packages_formatted_for_description() def compute_projectile_distance(initial_speed, angle): """ Calculate the horizontal distance traveled by a projectile. Parameters: initial_speed (float): Initial speed of the projectile in m/s angle (float): Launch angle in degrees Returns: float: Horizontal distance traveled in meters """ # Convert angle from degrees to radians angle_rad = math.radians(angle) # Gravitational acceleration (m/s²) g = 9.81 # Calculate the horizontal distance using the projectile motion formula: # distance = (initial_speed² * sin(2*angle)) / g distance = (initial_speed**2 * math.sin(2 * angle_rad)) / g return distance app = gr.Interface( fn=compute_projectile_distance, inputs=["number", "number"], outputs="number", title="Compute Projectile Distance", description=("Computes the theoretical horizontal distance a projectile travels for a given initial speed and angle." "for a given initial speed and angle." f"{installed_packages_info_desc}" # Добавляем сюда информацию о пакетах ) ) #app.launch(mcp_server= True , share= True) #app.launch(mcp_server=True, server_name="0.0.0.0") app.launch(mcp_server=True)