mcp-openstack-ops 3.5.1__tar.gz → 3.5.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/.github/workflows/pypi-publish.yml +2 -2
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/PKG-INFO +2 -2
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/pyproject.toml +1 -1
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops.egg-info/PKG-INFO +2 -2
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops.egg-info/SOURCES.txt +2 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops.egg-info/requires.txt +1 -1
- mcp_openstack_ops-3.5.3/src/mcp_openstack_ops.egg-info/scm_file_list.json +155 -0
- mcp_openstack_ops-3.5.3/src/mcp_openstack_ops.egg-info/scm_version.json +8 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/uv.lock +78 -75
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/.env.example +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/.env.test +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/.github/FUNDING.yml +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/.github/copilot-instructions.md +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/.github/dependabot.yml +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/.gitignore +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/.gitleaks.toml +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/.pre-commit-config.yaml +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/.python-version +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/Dockerfile.MCP-Server +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/Dockerfile.MCPO-Proxy +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/LICENSE +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/MANIFEST.in +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/README.md +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/build-mcp-server-docker-image.sh +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/build-mcpo-server-docker-image.sh +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/diagnose_openstack.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/docker-compose.yml +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/img/MCP-Workflow-of-Quickstart-Tutorial.png +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/img/screenshot-claude-desktop.png +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/img/screenshot-claude-desktop.png:Zone.Identifier +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/img/screenshot-example-cluster-status.png +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/img/screenshot-openstack-dashboard.png +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/main.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/mcp-config.json.http +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/mcp-config.json.multi-project +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/mcp-config.json.stdio +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/scripts/mcp-server-docker-cmd.sh +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/scripts/run-mcp-inspector-local.sh +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/scripts/run-mcp-inspector-pypi.sh +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/setup.cfg +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/__init__.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/__main__.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/connection.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/functions.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/mcp_main.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/prompt_template.md +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/__init__.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/compute.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/core.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/identity.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/image.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/load_balancer/__init__.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/load_balancer/amphorae.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/load_balancer/core.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/load_balancer/health_monitors.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/load_balancer/l7_policies.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/load_balancer/listeners.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/load_balancer/management.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/load_balancer/pools.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/monitoring.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/network.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/orchestration.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/services/storage.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/__init__.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_availability_zones.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_floating_ip_pools.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_floating_ips.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_heat_stacks.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_hypervisor_details.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_image_detail_list.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_instance.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_instance_by_name.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_instance_details.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_instances_by_status.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_keypair_list.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_load_balancer_amphorae.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_load_balancer_availability_zones.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_load_balancer_details.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_load_balancer_flavors.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_load_balancer_health_monitors.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_load_balancer_l7_policies.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_load_balancer_l7_rules.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_load_balancer_list.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_load_balancer_listeners.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_load_balancer_pool_members.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_load_balancer_pools.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_load_balancer_providers.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_load_balancer_quotas.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_network_details.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_project_details.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_quota.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_resource_monitoring.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_role_assignments.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_routers.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_security_groups.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_server_events.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_server_groups.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_server_volumes.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_service_status.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_usage_statistics.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_user_list.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_volume_list.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_volume_snapshots.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/get_volume_types.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/search_instances.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_alarms.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_compute_agents.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_domains.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_flavor.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_floating_ip.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_floating_ip_port_forwarding.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_heat_stack.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_identity_groups.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_image.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_image_members.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_image_metadata.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_image_visibility.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_instance.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_keypair.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_load_balancer.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_load_balancer_amphora.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_load_balancer_availability_zone.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_load_balancer_flavor.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_load_balancer_health_monitor.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_load_balancer_l7_policy.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_load_balancer_l7_rule.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_load_balancer_listener.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_load_balancer_pool.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_load_balancer_pool_member.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_load_balancer_quota.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_metrics.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_network_agents.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_network_ports.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_network_qos_policies.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_networks.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_project.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_quota.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_roles.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_server_backup.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_server_dump.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_server_fixed_ip.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_server_floating_ip.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_server_group.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_server_migration.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_server_network.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_server_properties.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_server_security_group.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_server_volume.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_service_logs.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_services.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_snapshot.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_subnets.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_volume.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_volume_backups.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_volume_groups.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops/tools/set_volume_qos.py +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops.egg-info/dependency_links.txt +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops.egg-info/entry_points.txt +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops.egg-info/top_level.txt +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/test_compatibility.sh +0 -0
- {mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/test_project_isolation.py +0 -0
|
@@ -15,11 +15,11 @@ jobs:
|
|
|
15
15
|
build:
|
|
16
16
|
runs-on: ubuntu-latest
|
|
17
17
|
steps:
|
|
18
|
-
- uses: actions/checkout@
|
|
18
|
+
- uses: actions/checkout@v7
|
|
19
19
|
with:
|
|
20
20
|
persist-credentials: false
|
|
21
21
|
fetch-depth: 0
|
|
22
|
-
- uses: actions/setup-python@
|
|
22
|
+
- uses: actions/setup-python@v7
|
|
23
23
|
with:
|
|
24
24
|
python-version: "3.12.x"
|
|
25
25
|
- name: Install build tool
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-openstack-ops
|
|
3
|
-
Version: 3.5.
|
|
3
|
+
Version: 3.5.3
|
|
4
4
|
Summary: OpenStack operations automation MCP server
|
|
5
5
|
Author-email: JungJungIn <call518@gmail.com>
|
|
6
6
|
Requires-Python: >=3.12
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
License-File: LICENSE
|
|
9
9
|
Requires-Dist: fastmcp>=2.12.3
|
|
10
|
-
Requires-Dist: openstacksdk<=4.
|
|
10
|
+
Requires-Dist: openstacksdk<=4.20.0,>=4.1.0
|
|
11
11
|
Requires-Dist: python-dotenv>=1.1.1
|
|
12
12
|
Requires-Dist: setuptools-scm>=10.0.5
|
|
13
13
|
Requires-Dist: pre-commit>=4.6.0
|
|
@@ -7,7 +7,7 @@ requires-python = ">=3.12"
|
|
|
7
7
|
authors = [{ name = "JungJungIn", email = "call518@gmail.com" }]
|
|
8
8
|
dependencies = [
|
|
9
9
|
"fastmcp>=2.12.3",
|
|
10
|
-
"openstacksdk>=4.1.0,<=4.
|
|
10
|
+
"openstacksdk>=4.1.0,<=4.20.0",
|
|
11
11
|
"python-dotenv>=1.1.1",
|
|
12
12
|
"setuptools-scm>=10.0.5",
|
|
13
13
|
"pre-commit>=4.6.0",
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-openstack-ops
|
|
3
|
-
Version: 3.5.
|
|
3
|
+
Version: 3.5.3
|
|
4
4
|
Summary: OpenStack operations automation MCP server
|
|
5
5
|
Author-email: JungJungIn <call518@gmail.com>
|
|
6
6
|
Requires-Python: >=3.12
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
License-File: LICENSE
|
|
9
9
|
Requires-Dist: fastmcp>=2.12.3
|
|
10
|
-
Requires-Dist: openstacksdk<=4.
|
|
10
|
+
Requires-Dist: openstacksdk<=4.20.0,>=4.1.0
|
|
11
11
|
Requires-Dist: python-dotenv>=1.1.1
|
|
12
12
|
Requires-Dist: setuptools-scm>=10.0.5
|
|
13
13
|
Requires-Dist: pre-commit>=4.6.0
|
{mcp_openstack_ops-3.5.1 → mcp_openstack_ops-3.5.3}/src/mcp_openstack_ops.egg-info/SOURCES.txt
RENAMED
|
@@ -44,6 +44,8 @@ src/mcp_openstack_ops.egg-info/SOURCES.txt
|
|
|
44
44
|
src/mcp_openstack_ops.egg-info/dependency_links.txt
|
|
45
45
|
src/mcp_openstack_ops.egg-info/entry_points.txt
|
|
46
46
|
src/mcp_openstack_ops.egg-info/requires.txt
|
|
47
|
+
src/mcp_openstack_ops.egg-info/scm_file_list.json
|
|
48
|
+
src/mcp_openstack_ops.egg-info/scm_version.json
|
|
47
49
|
src/mcp_openstack_ops.egg-info/top_level.txt
|
|
48
50
|
src/mcp_openstack_ops/services/__init__.py
|
|
49
51
|
src/mcp_openstack_ops/services/compute.py
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": [
|
|
3
|
+
".env.example",
|
|
4
|
+
".env.test",
|
|
5
|
+
".github/FUNDING.yml",
|
|
6
|
+
".github/copilot-instructions.md",
|
|
7
|
+
".github/dependabot.yml",
|
|
8
|
+
".github/workflows/pypi-publish.yml",
|
|
9
|
+
".gitignore",
|
|
10
|
+
".gitleaks.toml",
|
|
11
|
+
".pre-commit-config.yaml",
|
|
12
|
+
".python-version",
|
|
13
|
+
"Dockerfile.MCP-Server",
|
|
14
|
+
"Dockerfile.MCPO-Proxy",
|
|
15
|
+
"LICENSE",
|
|
16
|
+
"MANIFEST.in",
|
|
17
|
+
"README.md",
|
|
18
|
+
"build-mcp-server-docker-image.sh",
|
|
19
|
+
"build-mcpo-server-docker-image.sh",
|
|
20
|
+
"diagnose_openstack.py",
|
|
21
|
+
"docker-compose.yml",
|
|
22
|
+
"img/MCP-Workflow-of-Quickstart-Tutorial.png",
|
|
23
|
+
"img/screenshot-claude-desktop.png",
|
|
24
|
+
"img/screenshot-claude-desktop.png:Zone.Identifier",
|
|
25
|
+
"img/screenshot-example-cluster-status.png",
|
|
26
|
+
"img/screenshot-openstack-dashboard.png",
|
|
27
|
+
"main.py",
|
|
28
|
+
"mcp-config.json.http",
|
|
29
|
+
"mcp-config.json.multi-project",
|
|
30
|
+
"mcp-config.json.stdio",
|
|
31
|
+
"pyproject.toml",
|
|
32
|
+
"scripts/mcp-server-docker-cmd.sh",
|
|
33
|
+
"scripts/run-mcp-inspector-local.sh",
|
|
34
|
+
"scripts/run-mcp-inspector-pypi.sh",
|
|
35
|
+
"src/mcp_openstack_ops/__init__.py",
|
|
36
|
+
"src/mcp_openstack_ops/__main__.py",
|
|
37
|
+
"src/mcp_openstack_ops/connection.py",
|
|
38
|
+
"src/mcp_openstack_ops/functions.py",
|
|
39
|
+
"src/mcp_openstack_ops/mcp_main.py",
|
|
40
|
+
"src/mcp_openstack_ops/prompt_template.md",
|
|
41
|
+
"src/mcp_openstack_ops/services/__init__.py",
|
|
42
|
+
"src/mcp_openstack_ops/services/compute.py",
|
|
43
|
+
"src/mcp_openstack_ops/services/core.py",
|
|
44
|
+
"src/mcp_openstack_ops/services/identity.py",
|
|
45
|
+
"src/mcp_openstack_ops/services/image.py",
|
|
46
|
+
"src/mcp_openstack_ops/services/load_balancer/__init__.py",
|
|
47
|
+
"src/mcp_openstack_ops/services/load_balancer/amphorae.py",
|
|
48
|
+
"src/mcp_openstack_ops/services/load_balancer/core.py",
|
|
49
|
+
"src/mcp_openstack_ops/services/load_balancer/health_monitors.py",
|
|
50
|
+
"src/mcp_openstack_ops/services/load_balancer/l7_policies.py",
|
|
51
|
+
"src/mcp_openstack_ops/services/load_balancer/listeners.py",
|
|
52
|
+
"src/mcp_openstack_ops/services/load_balancer/management.py",
|
|
53
|
+
"src/mcp_openstack_ops/services/load_balancer/pools.py",
|
|
54
|
+
"src/mcp_openstack_ops/services/monitoring.py",
|
|
55
|
+
"src/mcp_openstack_ops/services/network.py",
|
|
56
|
+
"src/mcp_openstack_ops/services/orchestration.py",
|
|
57
|
+
"src/mcp_openstack_ops/services/storage.py",
|
|
58
|
+
"src/mcp_openstack_ops/tools/__init__.py",
|
|
59
|
+
"src/mcp_openstack_ops/tools/get_availability_zones.py",
|
|
60
|
+
"src/mcp_openstack_ops/tools/get_floating_ip_pools.py",
|
|
61
|
+
"src/mcp_openstack_ops/tools/get_floating_ips.py",
|
|
62
|
+
"src/mcp_openstack_ops/tools/get_heat_stacks.py",
|
|
63
|
+
"src/mcp_openstack_ops/tools/get_hypervisor_details.py",
|
|
64
|
+
"src/mcp_openstack_ops/tools/get_image_detail_list.py",
|
|
65
|
+
"src/mcp_openstack_ops/tools/get_instance.py",
|
|
66
|
+
"src/mcp_openstack_ops/tools/get_instance_by_name.py",
|
|
67
|
+
"src/mcp_openstack_ops/tools/get_instance_details.py",
|
|
68
|
+
"src/mcp_openstack_ops/tools/get_instances_by_status.py",
|
|
69
|
+
"src/mcp_openstack_ops/tools/get_keypair_list.py",
|
|
70
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_amphorae.py",
|
|
71
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_availability_zones.py",
|
|
72
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_details.py",
|
|
73
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_flavors.py",
|
|
74
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_health_monitors.py",
|
|
75
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_l7_policies.py",
|
|
76
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_l7_rules.py",
|
|
77
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_list.py",
|
|
78
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_listeners.py",
|
|
79
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_pool_members.py",
|
|
80
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_pools.py",
|
|
81
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_providers.py",
|
|
82
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_quotas.py",
|
|
83
|
+
"src/mcp_openstack_ops/tools/get_network_details.py",
|
|
84
|
+
"src/mcp_openstack_ops/tools/get_project_details.py",
|
|
85
|
+
"src/mcp_openstack_ops/tools/get_quota.py",
|
|
86
|
+
"src/mcp_openstack_ops/tools/get_resource_monitoring.py",
|
|
87
|
+
"src/mcp_openstack_ops/tools/get_role_assignments.py",
|
|
88
|
+
"src/mcp_openstack_ops/tools/get_routers.py",
|
|
89
|
+
"src/mcp_openstack_ops/tools/get_security_groups.py",
|
|
90
|
+
"src/mcp_openstack_ops/tools/get_server_events.py",
|
|
91
|
+
"src/mcp_openstack_ops/tools/get_server_groups.py",
|
|
92
|
+
"src/mcp_openstack_ops/tools/get_server_volumes.py",
|
|
93
|
+
"src/mcp_openstack_ops/tools/get_service_status.py",
|
|
94
|
+
"src/mcp_openstack_ops/tools/get_usage_statistics.py",
|
|
95
|
+
"src/mcp_openstack_ops/tools/get_user_list.py",
|
|
96
|
+
"src/mcp_openstack_ops/tools/get_volume_list.py",
|
|
97
|
+
"src/mcp_openstack_ops/tools/get_volume_snapshots.py",
|
|
98
|
+
"src/mcp_openstack_ops/tools/get_volume_types.py",
|
|
99
|
+
"src/mcp_openstack_ops/tools/search_instances.py",
|
|
100
|
+
"src/mcp_openstack_ops/tools/set_alarms.py",
|
|
101
|
+
"src/mcp_openstack_ops/tools/set_compute_agents.py",
|
|
102
|
+
"src/mcp_openstack_ops/tools/set_domains.py",
|
|
103
|
+
"src/mcp_openstack_ops/tools/set_flavor.py",
|
|
104
|
+
"src/mcp_openstack_ops/tools/set_floating_ip.py",
|
|
105
|
+
"src/mcp_openstack_ops/tools/set_floating_ip_port_forwarding.py",
|
|
106
|
+
"src/mcp_openstack_ops/tools/set_heat_stack.py",
|
|
107
|
+
"src/mcp_openstack_ops/tools/set_identity_groups.py",
|
|
108
|
+
"src/mcp_openstack_ops/tools/set_image.py",
|
|
109
|
+
"src/mcp_openstack_ops/tools/set_image_members.py",
|
|
110
|
+
"src/mcp_openstack_ops/tools/set_image_metadata.py",
|
|
111
|
+
"src/mcp_openstack_ops/tools/set_image_visibility.py",
|
|
112
|
+
"src/mcp_openstack_ops/tools/set_instance.py",
|
|
113
|
+
"src/mcp_openstack_ops/tools/set_keypair.py",
|
|
114
|
+
"src/mcp_openstack_ops/tools/set_load_balancer.py",
|
|
115
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_amphora.py",
|
|
116
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_availability_zone.py",
|
|
117
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_flavor.py",
|
|
118
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_health_monitor.py",
|
|
119
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_l7_policy.py",
|
|
120
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_l7_rule.py",
|
|
121
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_listener.py",
|
|
122
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_pool.py",
|
|
123
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_pool_member.py",
|
|
124
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_quota.py",
|
|
125
|
+
"src/mcp_openstack_ops/tools/set_metrics.py",
|
|
126
|
+
"src/mcp_openstack_ops/tools/set_network_agents.py",
|
|
127
|
+
"src/mcp_openstack_ops/tools/set_network_ports.py",
|
|
128
|
+
"src/mcp_openstack_ops/tools/set_network_qos_policies.py",
|
|
129
|
+
"src/mcp_openstack_ops/tools/set_networks.py",
|
|
130
|
+
"src/mcp_openstack_ops/tools/set_project.py",
|
|
131
|
+
"src/mcp_openstack_ops/tools/set_quota.py",
|
|
132
|
+
"src/mcp_openstack_ops/tools/set_roles.py",
|
|
133
|
+
"src/mcp_openstack_ops/tools/set_server_backup.py",
|
|
134
|
+
"src/mcp_openstack_ops/tools/set_server_dump.py",
|
|
135
|
+
"src/mcp_openstack_ops/tools/set_server_fixed_ip.py",
|
|
136
|
+
"src/mcp_openstack_ops/tools/set_server_floating_ip.py",
|
|
137
|
+
"src/mcp_openstack_ops/tools/set_server_group.py",
|
|
138
|
+
"src/mcp_openstack_ops/tools/set_server_migration.py",
|
|
139
|
+
"src/mcp_openstack_ops/tools/set_server_network.py",
|
|
140
|
+
"src/mcp_openstack_ops/tools/set_server_properties.py",
|
|
141
|
+
"src/mcp_openstack_ops/tools/set_server_security_group.py",
|
|
142
|
+
"src/mcp_openstack_ops/tools/set_server_volume.py",
|
|
143
|
+
"src/mcp_openstack_ops/tools/set_service_logs.py",
|
|
144
|
+
"src/mcp_openstack_ops/tools/set_services.py",
|
|
145
|
+
"src/mcp_openstack_ops/tools/set_snapshot.py",
|
|
146
|
+
"src/mcp_openstack_ops/tools/set_subnets.py",
|
|
147
|
+
"src/mcp_openstack_ops/tools/set_volume.py",
|
|
148
|
+
"src/mcp_openstack_ops/tools/set_volume_backups.py",
|
|
149
|
+
"src/mcp_openstack_ops/tools/set_volume_groups.py",
|
|
150
|
+
"src/mcp_openstack_ops/tools/set_volume_qos.py",
|
|
151
|
+
"test_compatibility.sh",
|
|
152
|
+
"test_project_isolation.py",
|
|
153
|
+
"uv.lock"
|
|
154
|
+
]
|
|
155
|
+
}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
version = 1
|
|
2
2
|
revision = 2
|
|
3
3
|
requires-python = ">=3.12"
|
|
4
|
+
resolution-markers = [
|
|
5
|
+
"python_full_version >= '3.14' and sys_platform == 'win32'",
|
|
6
|
+
"python_full_version >= '3.14' and sys_platform != 'win32'",
|
|
7
|
+
"python_full_version < '3.14' and sys_platform == 'win32'",
|
|
8
|
+
"python_full_version < '3.14' and sys_platform != 'win32'",
|
|
9
|
+
]
|
|
4
10
|
|
|
5
11
|
[[package]]
|
|
6
12
|
name = "aiofile"
|
|
@@ -47,14 +53,14 @@ wheels = [
|
|
|
47
53
|
|
|
48
54
|
[[package]]
|
|
49
55
|
name = "authlib"
|
|
50
|
-
version = "1.6.
|
|
56
|
+
version = "1.6.12"
|
|
51
57
|
source = { registry = "https://pypi.org/simple" }
|
|
52
58
|
dependencies = [
|
|
53
59
|
{ name = "cryptography" },
|
|
54
60
|
]
|
|
55
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
61
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d3/30/6691fdc63b35f54a5a65e04fa1e59d827f4d4e8f4a39678ba7d3088ce0c8/authlib-1.6.12.tar.gz", hash = "sha256:0656d8482f28fc8221929d5f35b2bde5d13e10555ebc06b4561b0d622e83b1bd", size = 165368, upload-time = "2026-05-04T08:11:31.826Z" }
|
|
56
62
|
wheels = [
|
|
57
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
63
|
+
{ url = "https://files.pythonhosted.org/packages/cd/51/9b0b5cd4cf683a02db937a6f9bbebcdc9c56558a7bb3763ce7d3512103c3/authlib-1.6.12-py2.py3-none-any.whl", hash = "sha256:e9229ad7fde610b139dd12f5edbe97eab9ee78bfb85691247e767727850b99ab", size = 244473, upload-time = "2026-05-04T08:11:30.354Z" },
|
|
58
64
|
]
|
|
59
65
|
|
|
60
66
|
[[package]]
|
|
@@ -251,55 +257,52 @@ wheels = [
|
|
|
251
257
|
|
|
252
258
|
[[package]]
|
|
253
259
|
name = "cryptography"
|
|
254
|
-
version = "
|
|
260
|
+
version = "50.0.0"
|
|
255
261
|
source = { registry = "https://pypi.org/simple" }
|
|
256
262
|
dependencies = [
|
|
257
263
|
{ name = "cffi", marker = "platform_python_implementation != 'PyPy'" },
|
|
258
264
|
]
|
|
259
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
260
|
-
wheels = [
|
|
261
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
262
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
263
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
264
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
265
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
266
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
267
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
268
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
269
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
270
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
271
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
272
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
273
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
274
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
275
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
276
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
277
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
278
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
279
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
280
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
281
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
282
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
283
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
284
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
285
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
286
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
287
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
288
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
289
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
290
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
291
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
292
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
293
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
294
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
295
|
-
{ url = "https://files.pythonhosted.org/packages/16/
|
|
296
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
297
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
298
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
299
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
300
|
-
{ url = "https://files.pythonhosted.org/packages/41/52/a8908dcb1a389a459a29008c29966c1d552588d4ae6d43f3a1a4512e0ebe/cryptography-46.0.7-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a1529d614f44b863a7b480c6d000fe93b59acee9c82ffa027cfadc77521a9f5e", size = 4664256, upload-time = "2026-04-08T01:57:33.144Z" },
|
|
301
|
-
{ url = "https://files.pythonhosted.org/packages/4b/fa/f0ab06238e899cc3fb332623f337a7364f36f4bb3f2534c2bb95a35b132c/cryptography-46.0.7-cp38-abi3-win32.whl", hash = "sha256:f247c8c1a1fb45e12586afbb436ef21ff1e80670b2861a90353d9b025583d246", size = 3013001, upload-time = "2026-04-08T01:57:34.933Z" },
|
|
302
|
-
{ url = "https://files.pythonhosted.org/packages/d2/f1/00ce3bde3ca542d1acd8f8cfa38e446840945aa6363f9b74746394b14127/cryptography-46.0.7-cp38-abi3-win_amd64.whl", hash = "sha256:506c4ff91eff4f82bdac7633318a526b1d1309fc07ca76a3ad182cb5b686d6d3", size = 3472985, upload-time = "2026-04-08T01:57:36.714Z" },
|
|
265
|
+
sdist = { url = "https://files.pythonhosted.org/packages/de/41/6cbdcf9142d00fe82836fbb51e503e58088575cf7a0fe1dbff6695bf0840/cryptography-50.0.0.tar.gz", hash = "sha256:eeac2acb5a20ed25e0ad6d1df9891a520b78b404266b6d11778f25d5d691a6c9", size = 880201, upload-time = "2026-07-31T14:25:10.11Z" }
|
|
266
|
+
wheels = [
|
|
267
|
+
{ url = "https://files.pythonhosted.org/packages/c5/5c/59086b4aac5e879d38ddbcf74e4be7ade89cebc3eb199a55da998c3bb46a/cryptography-50.0.0-cp311-abi3-macosx_11_0_arm64.whl", hash = "sha256:031e2d5dd4bb9caa3ca9c82e5a197fd8ae680232cee62603d1a813f3f07e3d03", size = 4001252, upload-time = "2026-07-31T14:23:33.331Z" },
|
|
268
|
+
{ url = "https://files.pythonhosted.org/packages/57/ef/8f2df13c7216bcad3e1c74e07f6e193d93e998e114f524a53877c9af27ad/cryptography-50.0.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fd9192b7b70c573d7f214eb1ae35e00d359f6f5e4b27c7e21e30de1fc6204645", size = 4719554, upload-time = "2026-07-31T14:23:35.611Z" },
|
|
269
|
+
{ url = "https://files.pythonhosted.org/packages/d9/41/029086c34d91052fc3b88bcc8056f709a7c915c7a23b235a54eb800b1c97/cryptography-50.0.0-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:06a32a980526a6ab9a4b9bf8f7385800791e2bb960903cb6b530e4817509a3b7", size = 4702130, upload-time = "2026-07-31T14:23:37.635Z" },
|
|
270
|
+
{ url = "https://files.pythonhosted.org/packages/7d/ff/b6ce0954962e7f7b969f850a883744197bb3910bdfd7b6da162eab7d9f68/cryptography-50.0.0-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:a1b30560f2acc95aa8b2e06e716a13dbfc97314747b80d9707e307f77b40d6b3", size = 4725244, upload-time = "2026-07-31T14:23:39.471Z" },
|
|
271
|
+
{ url = "https://files.pythonhosted.org/packages/06/1e/63a1027cb7fec360a182208e1b7767d5aa1fe57be3d6aa856e69a321edc0/cryptography-50.0.0-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:8d89f3976b10b4ce31118de72329025f70d2c6ead14a8217c5514dd2c6d5a78f", size = 5342265, upload-time = "2026-07-31T14:23:41.286Z" },
|
|
272
|
+
{ url = "https://files.pythonhosted.org/packages/6b/72/a1116d683a6d7ece94590013882515de087edf9ef0e6292aae615a44df73/cryptography-50.0.0-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:b42a28c1844fd9de8f3f7d540e36b66f3a9c83fceac7170ebc7a6a19edd9dcae", size = 4734609, upload-time = "2026-07-31T14:23:43.139Z" },
|
|
273
|
+
{ url = "https://files.pythonhosted.org/packages/15/37/36a9c479bbe49acea2636c7fd3360d20f7b7e079c300352011c44850b181/cryptography-50.0.0-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:900131fafd8aead39ac7dd3a7e833be754c17a95cfd91221636949fe4eb0aa8a", size = 4356517, upload-time = "2026-07-31T14:23:44.939Z" },
|
|
274
|
+
{ url = "https://files.pythonhosted.org/packages/32/98/8a151d64367204cbc63ec65d37502f1d9c53cf4bfc6ec3c532614dbec60d/cryptography-50.0.0-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:07949c449a1abcf60d1ee6e88956d89404c7df3c8258f46589e912988e551987", size = 4724529, upload-time = "2026-07-31T14:23:46.93Z" },
|
|
275
|
+
{ url = "https://files.pythonhosted.org/packages/22/f6/ec13b470172126464a86bf54d2294a46d29837fc51ba3e45d4047946fb5e/cryptography-50.0.0-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:f89831ef99dd7dd169ab06d63a831adb9e20a87aac6d380266bbda5823349169", size = 5299852, upload-time = "2026-07-31T14:23:48.851Z" },
|
|
276
|
+
{ url = "https://files.pythonhosted.org/packages/da/3a/f05e32c99d440c9bb891ea0e36c9091891e36be5a9a87ab2ee6ea20729f6/cryptography-50.0.0-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:82148ec5bddac30b51a5b3c1945075f896fa022cb93f8e4a01e9f6ee95292c5f", size = 4734462, upload-time = "2026-07-31T14:23:50.861Z" },
|
|
277
|
+
{ url = "https://files.pythonhosted.org/packages/ca/dc/bd72b26be8953f80625f63151efd38eee71c76ca6cf591c08ff34615a79e/cryptography-50.0.0-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1489e263a8048bb8b6a8bac662eb2d402ea5d2b7b4699b72f385f1e2772db105", size = 4852708, upload-time = "2026-07-31T14:23:52.715Z" },
|
|
278
|
+
{ url = "https://files.pythonhosted.org/packages/27/20/c930314a2ab476d15dec966ec87e2e9637bb02b06106b12c0396c57bb603/cryptography-50.0.0-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7cec5b856506da6defb290f30c9ee687d5f5e8cb0bd3f6459dde43b0b4fa40ef", size = 5004179, upload-time = "2026-07-31T14:23:54.887Z" },
|
|
279
|
+
{ url = "https://files.pythonhosted.org/packages/32/2e/c9db68a0c4bfa28e310707527c0ee3a2bd254104d2e02e68f368e197aa4c/cryptography-50.0.0-cp311-abi3-win_amd64.whl", hash = "sha256:bd1c592e4d5974f0d08d4888e432157adba757c66da0246918e43677fafa2d30", size = 3840395, upload-time = "2026-07-31T14:23:56.677Z" },
|
|
280
|
+
{ url = "https://files.pythonhosted.org/packages/c3/fb/951032a3bf22a5697c83183fb6294a4843772947a70e616c57b3ff5f522e/cryptography-50.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:49e7d93abdbd2990caced757e5fade25302f719c3c8fb6e6fff2dde98999fc41", size = 3989258, upload-time = "2026-07-31T14:23:58.881Z" },
|
|
281
|
+
{ url = "https://files.pythonhosted.org/packages/d4/67/91eb047e69c5e845f2f14b8a2e4a1aab0f283cb885531e9e22c8adb176bc/cryptography-50.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:19736989797678c6af1e55cd49055cdbcb55d8f6b5583ac5335f933aba9101dc", size = 4700648, upload-time = "2026-07-31T14:24:00.702Z" },
|
|
282
|
+
{ url = "https://files.pythonhosted.org/packages/30/82/85f0f7425c856b9f96459411eb12e74ef72df9caf6f8f15bf23a33ff131f/cryptography-50.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:80b63928fa35083b33966ce1efb70e5b9607181e49dcd1c22c8c005e319f667f", size = 4682442, upload-time = "2026-07-31T14:24:02.538Z" },
|
|
283
|
+
{ url = "https://files.pythonhosted.org/packages/1a/28/b555a365adff1cca2fbe7b9e487d68a40de6bc67ff2cb587473eb43de0e7/cryptography-50.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:d58c3db7cd6eed54e6c06744db55456b65ebd7492ddeae9c1e93cfca7aa857d3", size = 4707596, upload-time = "2026-07-31T14:24:04.394Z" },
|
|
284
|
+
{ url = "https://files.pythonhosted.org/packages/72/d8/f52538140cc719df62a01cf87d1c7142318d235817109d6f4054d7c352d6/cryptography-50.0.0-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:df2a58a472f332225671c35b0a830208b86d004f82baa8530fa3782c85646533", size = 5314552, upload-time = "2026-07-31T14:24:06.31Z" },
|
|
285
|
+
{ url = "https://files.pythonhosted.org/packages/38/14/6120e5bd7c5aa022ad15424ba4d5c5269d0d9448ed4d55e492ea91e3c1c4/cryptography-50.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:11b74db56cdbe3cdee6e3f6982ecb70334fa10dce99ed58bf7894aaaa3b2a037", size = 4717113, upload-time = "2026-07-31T14:24:08.349Z" },
|
|
286
|
+
{ url = "https://files.pythonhosted.org/packages/fa/71/190bf38c3ee2e0f8efc9860ae100c9df4169742eef274b91e7aa1cb133b9/cryptography-50.0.0-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:f59e38625469987d7ef6d495323c55e7db6c212eaf6112267e0d3b565a2e9c9f", size = 4338580, upload-time = "2026-07-31T14:24:10.227Z" },
|
|
287
|
+
{ url = "https://files.pythonhosted.org/packages/3a/63/504ccfbbe61fd8aa983f7f146399cdf034c72c2fc55f5b2dfdcdcdb20c99/cryptography-50.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:ecfed7367f965a0328cfbdd70da860f15441f002f613185668c6e6ebf5a0ac11", size = 4707038, upload-time = "2026-07-31T14:24:12.169Z" },
|
|
288
|
+
{ url = "https://files.pythonhosted.org/packages/01/77/2cf79bbfc4d12ca106437a6e170d6aaa01a373e93093118aaaef0e801bd4/cryptography-50.0.0-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:9aa87839c383bdbab6ef865787a1fb877af8dd03464c4400322726feaaadfc6d", size = 5273110, upload-time = "2026-07-31T14:24:14.38Z" },
|
|
289
|
+
{ url = "https://files.pythonhosted.org/packages/e5/45/8aae2972c520145377ea3559a605a899bebe227bf070b33cdb445929a9b9/cryptography-50.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:6ba6a53445bd3cfa809ef3ef5f1589aa6ba08784a1d962bf47d0940e871dab1c", size = 4716439, upload-time = "2026-07-31T14:24:16.415Z" },
|
|
290
|
+
{ url = "https://files.pythonhosted.org/packages/7b/20/4fe50b619a48c2525cc46e2dbc1ac490708d704be5d467bdaac6dc955682/cryptography-50.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:3f5735ffe4996d28b809371756219f5354864902a3b9e7c0b9ee87041209fc9c", size = 4837383, upload-time = "2026-07-31T14:24:18.553Z" },
|
|
291
|
+
{ url = "https://files.pythonhosted.org/packages/92/91/3a31366e183343d3703f8995c095f5734676bd6938118047e50fcf279eb4/cryptography-50.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:1b4a266766514614f8aa60416e71f2fc6e575d36e7bdc90f644fadb2f4b75b95", size = 4985772, upload-time = "2026-07-31T14:24:20.385Z" },
|
|
292
|
+
{ url = "https://files.pythonhosted.org/packages/74/9a/02ffe35b2853d121689871eb5dce862092562b3a1ed5cc98f1aaed441506/cryptography-50.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:12b9c6996425c76ea6c457ace4f3073e715b8c545add07cd1a8f3a4f90691269", size = 3816291, upload-time = "2026-07-31T14:24:22.125Z" },
|
|
293
|
+
{ url = "https://files.pythonhosted.org/packages/03/37/73d005be173aff344af30e9fd2a576575cb2391a7101d9cd3842e1fa8cce/cryptography-50.0.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:ccdc4a71a4dabae05de219404f9f4abc38e3b58422177ff93d0da05967dafa07", size = 4036009, upload-time = "2026-07-31T14:24:24.122Z" },
|
|
294
|
+
{ url = "https://files.pythonhosted.org/packages/ff/c6/7a6202a534e32103a285b7834a120869557fe198d51d7cfe59754c8bda9c/cryptography-50.0.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:910e1d2668e7de9648f2bcee30e180db2a6b15c30f887d7c4c93ddf96e3992e3", size = 4745252, upload-time = "2026-07-31T14:24:26.118Z" },
|
|
295
|
+
{ url = "https://files.pythonhosted.org/packages/85/4f/0fa8c2f4428198f15d9ff8d63400e27afbf94ce833f6108da1eb3753f945/cryptography-50.0.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a91296cb61e8df6f86d0c19cc4068228da256bf59bf86049fbd821084565327f", size = 4728939, upload-time = "2026-07-31T14:24:27.994Z" },
|
|
296
|
+
{ url = "https://files.pythonhosted.org/packages/d1/63/54dd723490ba2dc09b299682c10b38db38f159728bcaae8c591b8af2f22d/cryptography-50.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:e722f16708d854fe924790e051061f6704a472c3bac347b6fd88033ea8dd0dc5", size = 4748483, upload-time = "2026-07-31T14:24:30.254Z" },
|
|
297
|
+
{ url = "https://files.pythonhosted.org/packages/1d/dd/7c77d26285cc7f6991efce64a0f5b4f9383bfa5dd8c5033003eaf7db4cdb/cryptography-50.0.0-cp39-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:d764dcf130c428ef66786f866dd750f53182bc608813489915e9fc106bb0c82f", size = 5367599, upload-time = "2026-07-31T14:24:32.457Z" },
|
|
298
|
+
{ url = "https://files.pythonhosted.org/packages/46/c9/f60aed34c013f317f92817b6c171c2d22a78270fa41109bd4b08af26b194/cryptography-50.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:105110f43a471dbd0060b9c9516cb8a6a79233631a04cc2ba16f28323ac6e025", size = 4762647, upload-time = "2026-07-31T14:24:34.599Z" },
|
|
299
|
+
{ url = "https://files.pythonhosted.org/packages/be/f3/f9a0173b139372c3a48ed98154b45cc6b9de17c789d5ab552e621c293609/cryptography-50.0.0-cp39-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:828743d939e9629bc267b8e2d08d8bb67cd4319c771a33d4b18b22dd8fb7440a", size = 4385197, upload-time = "2026-07-31T14:24:36.647Z" },
|
|
300
|
+
{ url = "https://files.pythonhosted.org/packages/d8/36/83bb81f6e569bc38e1e4a7bc80f29b46bb9601920bc455fc8e888f5d5742/cryptography-50.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:2a8183b489dc1f7f80f135780fadc1108f14b31b8a40411c7a5b17425f65f28b", size = 4748095, upload-time = "2026-07-31T14:24:39.493Z" },
|
|
301
|
+
{ url = "https://files.pythonhosted.org/packages/6b/16/d3008eff98c764979865834c3d386d4fd041b5f52e7f34fc29ac1a5eb515/cryptography-50.0.0-cp39-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:6e7d61120573a7f2cd94cc095f9e81f6967c61ccdf194285aa143ecec8e0b708", size = 5325948, upload-time = "2026-07-31T14:24:41.556Z" },
|
|
302
|
+
{ url = "https://files.pythonhosted.org/packages/9c/f8/d97f9603efda3888187bfdb893f26c41be4735c10631d05d284ee6b047c4/cryptography-50.0.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:37fdb0d0111f1e2ff07139dfb79f1b49531f8e213c46f1163dd7642979b58c47", size = 4762400, upload-time = "2026-07-31T14:24:43.636Z" },
|
|
303
|
+
{ url = "https://files.pythonhosted.org/packages/64/a2/4615c8f7d81a00b1d6e6afe19f694e1543582349fb5f4076f6cb5dc36485/cryptography-50.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c87f62a3d3b9888ed0fdde100ec06aa61ca9cd44bad9057d1dff9a516b5f5bb9", size = 4878208, upload-time = "2026-07-31T14:24:45.522Z" },
|
|
304
|
+
{ url = "https://files.pythonhosted.org/packages/d2/1a/efcfb02f91407149a0dacffffab791f7e19bf6385f63b3666dc8b5e5c9c8/cryptography-50.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:65c2c3add92b45fd0709db8594536aea39c2a67af0e27ffcf049c498501140b7", size = 5037050, upload-time = "2026-07-31T14:24:47.697Z" },
|
|
305
|
+
{ url = "https://files.pythonhosted.org/packages/57/30/4a22984d4f1bdfb8c054f07a92bc176b97a3134cc1d6c4b3bffb1f3688b4/cryptography-50.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:d24fead1d4d076e1bfb006dcec392074a3cd8d7b4fc8a595aa64073b2b7a96ba", size = 3874135, upload-time = "2026-07-31T14:24:50.085Z" },
|
|
303
306
|
]
|
|
304
307
|
|
|
305
308
|
[[package]]
|
|
@@ -498,11 +501,11 @@ wheels = [
|
|
|
498
501
|
|
|
499
502
|
[[package]]
|
|
500
503
|
name = "idna"
|
|
501
|
-
version = "3.
|
|
504
|
+
version = "3.15"
|
|
502
505
|
source = { registry = "https://pypi.org/simple" }
|
|
503
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
506
|
+
sdist = { url = "https://files.pythonhosted.org/packages/82/77/7b3966d0b9d1d31a36ddf1746926a11dface89a83409bf1483f0237aa758/idna-3.15.tar.gz", hash = "sha256:ca962446ea538f7092a95e057da437618e886f4d349216d2b1e294abfdb65fdc", size = 199245, upload-time = "2026-05-12T22:45:57.011Z" }
|
|
504
507
|
wheels = [
|
|
505
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
508
|
+
{ url = "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl", hash = "sha256:048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8", size = 72340, upload-time = "2026-05-12T22:45:55.733Z" },
|
|
506
509
|
]
|
|
507
510
|
|
|
508
511
|
[[package]]
|
|
@@ -706,7 +709,7 @@ wheels = [
|
|
|
706
709
|
|
|
707
710
|
[[package]]
|
|
708
711
|
name = "mcp"
|
|
709
|
-
version = "1.
|
|
712
|
+
version = "1.28.1"
|
|
710
713
|
source = { registry = "https://pypi.org/simple" }
|
|
711
714
|
dependencies = [
|
|
712
715
|
{ name = "anyio" },
|
|
@@ -724,9 +727,9 @@ dependencies = [
|
|
|
724
727
|
{ name = "typing-inspection" },
|
|
725
728
|
{ name = "uvicorn", marker = "sys_platform != 'emscripten'" },
|
|
726
729
|
]
|
|
727
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
730
|
+
sdist = { url = "https://files.pythonhosted.org/packages/6e/77/9450b8f251a13affb6281997d0523c4615f8a8b35d0b21ff30db3a5aac9d/mcp-1.28.1.tar.gz", hash = "sha256:d51e36a5f5644faea4f85ea649bfffa6bc6c26770d42798ad6a3de3d2ba69683", size = 638501, upload-time = "2026-06-26T12:57:29.093Z" }
|
|
728
731
|
wheels = [
|
|
729
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
732
|
+
{ url = "https://files.pythonhosted.org/packages/e2/5e/d118fce19f87a2e7d8101c35c8ae0ec289098a4df0ff244cec23e415aca0/mcp-1.28.1-py3-none-any.whl", hash = "sha256:2726bca5e7193f61c5dde8b12500a6de2d9acf6d1a1c0be9e8c2e706437991df", size = 222620, upload-time = "2026-06-26T12:57:27.218Z" },
|
|
730
733
|
]
|
|
731
734
|
|
|
732
735
|
[[package]]
|
|
@@ -749,7 +752,7 @@ dev = [
|
|
|
749
752
|
[package.metadata]
|
|
750
753
|
requires-dist = [
|
|
751
754
|
{ name = "fastmcp", specifier = ">=2.12.3" },
|
|
752
|
-
{ name = "openstacksdk", specifier = ">=4.1.0,<=4.
|
|
755
|
+
{ name = "openstacksdk", specifier = ">=4.1.0,<=4.20.0" },
|
|
753
756
|
{ name = "pre-commit", specifier = ">=4.6.0" },
|
|
754
757
|
{ name = "pytest", marker = "extra == 'dev'", specifier = ">=7.0.0" },
|
|
755
758
|
{ name = "pytest-asyncio", marker = "extra == 'dev'", specifier = ">=0.21.0" },
|
|
@@ -1067,16 +1070,16 @@ wheels = [
|
|
|
1067
1070
|
|
|
1068
1071
|
[[package]]
|
|
1069
1072
|
name = "pydantic-settings"
|
|
1070
|
-
version = "2.
|
|
1073
|
+
version = "2.14.2"
|
|
1071
1074
|
source = { registry = "https://pypi.org/simple" }
|
|
1072
1075
|
dependencies = [
|
|
1073
1076
|
{ name = "pydantic" },
|
|
1074
1077
|
{ name = "python-dotenv" },
|
|
1075
1078
|
{ name = "typing-inspection" },
|
|
1076
1079
|
]
|
|
1077
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1080
|
+
sdist = { url = "https://files.pythonhosted.org/packages/5c/b5/8f48e906c3e0205276e8bd8cb7512217a87b2685304d64be27cad5b3019f/pydantic_settings-2.14.2.tar.gz", hash = "sha256:c19dd64b19097f1de80184f0cc7b0272a13ae6e170cbf240a3e27e381ed14a5f", size = 237700, upload-time = "2026-06-19T13:44:56.324Z" }
|
|
1078
1081
|
wheels = [
|
|
1079
|
-
{ url = "https://files.pythonhosted.org/packages/c1/
|
|
1082
|
+
{ url = "https://files.pythonhosted.org/packages/77/c1/6e422f34e569cf8e18df68d1939c81c099d2b61e4f7d9621c8a77560799c/pydantic_settings-2.14.2-py3-none-any.whl", hash = "sha256:a20c97b37910b6550d5ea50fbcc2d4187defe58cd57070b73863d069419c9440", size = 61715, upload-time = "2026-06-19T13:44:55.02Z" },
|
|
1080
1083
|
]
|
|
1081
1084
|
|
|
1082
1085
|
[[package]]
|
|
@@ -1090,11 +1093,11 @@ wheels = [
|
|
|
1090
1093
|
|
|
1091
1094
|
[[package]]
|
|
1092
1095
|
name = "pyjwt"
|
|
1093
|
-
version = "2.
|
|
1096
|
+
version = "2.13.0"
|
|
1094
1097
|
source = { registry = "https://pypi.org/simple" }
|
|
1095
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1098
|
+
sdist = { url = "https://files.pythonhosted.org/packages/3b/81/58d0ac84e1ef3a3843791d6954d94c0b33d526c75eeb1efbce9d0a4c4077/pyjwt-2.13.0.tar.gz", hash = "sha256:41571c89ca91598c79e8ef18a2d07367d4810fbbd6f637794879baf1b7703423", size = 107515, upload-time = "2026-05-21T19:54:36.618Z" }
|
|
1096
1099
|
wheels = [
|
|
1097
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1100
|
+
{ url = "https://files.pythonhosted.org/packages/a3/5e/ecf12fdb62546d64385c158514e9b2b671f7832108ef2ecd2020ce0af2d1/pyjwt-2.13.0-py3-none-any.whl", hash = "sha256:66adcc2aff09b3f1bbd95fc1e1577df8ac8723c978552fd43304c8a290ac5728", size = 31274, upload-time = "2026-05-21T19:54:35.362Z" },
|
|
1098
1101
|
]
|
|
1099
1102
|
|
|
1100
1103
|
[package.optional-dependencies]
|
|
@@ -1164,11 +1167,11 @@ wheels = [
|
|
|
1164
1167
|
|
|
1165
1168
|
[[package]]
|
|
1166
1169
|
name = "python-multipart"
|
|
1167
|
-
version = "0.0.
|
|
1170
|
+
version = "0.0.31"
|
|
1168
1171
|
source = { registry = "https://pypi.org/simple" }
|
|
1169
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1172
|
+
sdist = { url = "https://files.pythonhosted.org/packages/64/7e/9b35ad8f3d9ca680f7c87a88f19612fdd8da9796c4d3b46e560ac79dcc4a/python_multipart-0.0.31.tar.gz", hash = "sha256:fc631183bb13e56db3158a4909908dfb2e23565286744e798241e63750e5d680", size = 46689, upload-time = "2026-06-04T08:27:49.014Z" }
|
|
1170
1173
|
wheels = [
|
|
1171
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1174
|
+
{ url = "https://files.pythonhosted.org/packages/5e/1e/7f7f299527a5a8ad90acd5f2f78dfa6c8495c6301a3205106ea68a84de96/python_multipart-0.0.31-py3-none-any.whl", hash = "sha256:8408153d68a9773291fc1da39a8b85a50044bddbabd2dd72e9229776b7b15e28", size = 29996, upload-time = "2026-06-04T08:27:47.804Z" },
|
|
1172
1175
|
]
|
|
1173
1176
|
|
|
1174
1177
|
[[package]]
|
|
@@ -1392,8 +1395,8 @@ name = "secretstorage"
|
|
|
1392
1395
|
version = "3.5.0"
|
|
1393
1396
|
source = { registry = "https://pypi.org/simple" }
|
|
1394
1397
|
dependencies = [
|
|
1395
|
-
{ name = "cryptography" },
|
|
1396
|
-
{ name = "jeepney" },
|
|
1398
|
+
{ name = "cryptography", marker = "sys_platform != 'win32'" },
|
|
1399
|
+
{ name = "jeepney", marker = "sys_platform != 'win32'" },
|
|
1397
1400
|
]
|
|
1398
1401
|
sdist = { url = "https://files.pythonhosted.org/packages/1c/03/e834bcd866f2f8a49a85eaff47340affa3bfa391ee9912a952a1faa68c7b/secretstorage-3.5.0.tar.gz", hash = "sha256:f04b8e4689cbce351744d5537bf6b1329c6fc68f91fa666f60a380edddcd11be", size = 19884, upload-time = "2025-11-23T19:02:53.191Z" }
|
|
1399
1402
|
wheels = [
|
|
@@ -1402,11 +1405,11 @@ wheels = [
|
|
|
1402
1405
|
|
|
1403
1406
|
[[package]]
|
|
1404
1407
|
name = "setuptools"
|
|
1405
|
-
version = "
|
|
1408
|
+
version = "84.0.0"
|
|
1406
1409
|
source = { registry = "https://pypi.org/simple" }
|
|
1407
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1410
|
+
sdist = { url = "https://files.pythonhosted.org/packages/6d/44/f5da03a8ef95d369145c5bb53050e7877c9f3d312e128605fd9504829143/setuptools-84.0.0.tar.gz", hash = "sha256:f4695c21257f0d9b537ec2692c941d02ee143b7cc1276941349a546573b2ef73", size = 1168449, upload-time = "2026-08-08T18:27:58.365Z" }
|
|
1408
1411
|
wheels = [
|
|
1409
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1412
|
+
{ url = "https://files.pythonhosted.org/packages/95/9c/c510029fc6ef33a6275cd2c5d3cecd6613dfd6aa401d57c54f1c18852ccf/setuptools-84.0.0-py3-none-any.whl", hash = "sha256:51a52592b3b99e102b609654876bd65f19f999935166d1352678931132b0c670", size = 818216, upload-time = "2026-08-08T18:27:56.719Z" },
|
|
1410
1413
|
]
|
|
1411
1414
|
|
|
1412
1415
|
[[package]]
|
|
@@ -1438,15 +1441,15 @@ wheels = [
|
|
|
1438
1441
|
|
|
1439
1442
|
[[package]]
|
|
1440
1443
|
name = "starlette"
|
|
1441
|
-
version = "
|
|
1444
|
+
version = "1.3.1"
|
|
1442
1445
|
source = { registry = "https://pypi.org/simple" }
|
|
1443
1446
|
dependencies = [
|
|
1444
1447
|
{ name = "anyio" },
|
|
1445
1448
|
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
|
|
1446
1449
|
]
|
|
1447
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1450
|
+
sdist = { url = "https://files.pythonhosted.org/packages/eb/e3/7c1dc7381d9f8ab7d854328ebfa884e62cb3f3d8549ddfd37c7814f42afa/starlette-1.3.1.tar.gz", hash = "sha256:05d0213193f2fbaae60e2ecb593b4add4262ad4e46536b54abe36f11a71724e0", size = 2703240, upload-time = "2026-06-12T09:23:11.602Z" }
|
|
1448
1451
|
wheels = [
|
|
1449
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1452
|
+
{ url = "https://files.pythonhosted.org/packages/ec/bb/2799cc2ede3ed41131f8975621e7213dfc7ef4acbbaadfa440f32500c370/starlette-1.3.1-py3-none-any.whl", hash = "sha256:c7372aae11c3c3f26a42df7bd626cec2f47d03483d261d369516a615a53714c6", size = 73632, upload-time = "2026-06-12T09:23:10.017Z" },
|
|
1450
1453
|
]
|
|
1451
1454
|
|
|
1452
1455
|
[[package]]
|
|
@@ -1490,11 +1493,11 @@ wheels = [
|
|
|
1490
1493
|
|
|
1491
1494
|
[[package]]
|
|
1492
1495
|
name = "urllib3"
|
|
1493
|
-
version = "2.
|
|
1496
|
+
version = "2.7.0"
|
|
1494
1497
|
source = { registry = "https://pypi.org/simple" }
|
|
1495
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1498
|
+
sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" }
|
|
1496
1499
|
wheels = [
|
|
1497
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1500
|
+
{ url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" },
|
|
1498
1501
|
]
|
|
1499
1502
|
|
|
1500
1503
|
[[package]]
|