mcp-openstack-ops 3.5.6__tar.gz → 3.5.8__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.
Files changed (166) hide show
  1. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/PKG-INFO +3 -14
  2. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/README.md +2 -13
  3. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/PKG-INFO +3 -14
  4. mcp_openstack_ops-3.5.8/src/mcp_openstack_ops.egg-info/scm_version.json +8 -0
  5. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/uv.lock +83 -52
  6. mcp_openstack_ops-3.5.6/src/mcp_openstack_ops.egg-info/scm_version.json +0 -8
  7. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.env.example +0 -0
  8. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.env.test +0 -0
  9. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.github/FUNDING.yml +0 -0
  10. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.github/copilot-instructions.md +0 -0
  11. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.github/dependabot.yml +0 -0
  12. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.github/workflows/pypi-publish.yml +0 -0
  13. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.gitignore +0 -0
  14. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.gitleaks.toml +0 -0
  15. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.pre-commit-config.yaml +0 -0
  16. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.python-version +0 -0
  17. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/Dockerfile.MCP-Server +0 -0
  18. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/Dockerfile.MCPO-Proxy +0 -0
  19. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/LICENSE +0 -0
  20. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/MANIFEST.in +0 -0
  21. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/build-mcp-server-docker-image.sh +0 -0
  22. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/build-mcpo-server-docker-image.sh +0 -0
  23. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/diagnose_openstack.py +0 -0
  24. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/docker-compose.yml +0 -0
  25. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/img/MCP-Workflow-of-Quickstart-Tutorial.png +0 -0
  26. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/img/screenshot-claude-desktop.png +0 -0
  27. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/img/screenshot-claude-desktop.png:Zone.Identifier +0 -0
  28. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/img/screenshot-example-cluster-status.png +0 -0
  29. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/img/screenshot-openstack-dashboard.png +0 -0
  30. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/main.py +0 -0
  31. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/mcp-config.json.http +0 -0
  32. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/mcp-config.json.multi-project +0 -0
  33. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/mcp-config.json.stdio +0 -0
  34. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/pyproject.toml +0 -0
  35. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/scripts/check_release.py +0 -0
  36. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/scripts/mcp-server-docker-cmd.sh +0 -0
  37. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/scripts/publish_release.py +0 -0
  38. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/scripts/run-mcp-inspector-local.sh +0 -0
  39. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/scripts/run-mcp-inspector-pypi.sh +0 -0
  40. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/setup.cfg +0 -0
  41. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/__init__.py +0 -0
  42. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/__main__.py +0 -0
  43. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/connection.py +0 -0
  44. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/functions.py +0 -0
  45. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/mcp_main.py +0 -0
  46. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/prompt_template.md +0 -0
  47. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/__init__.py +0 -0
  48. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/compute.py +0 -0
  49. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/core.py +0 -0
  50. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/identity.py +0 -0
  51. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/image.py +0 -0
  52. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/__init__.py +0 -0
  53. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/amphorae.py +0 -0
  54. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/core.py +0 -0
  55. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/health_monitors.py +0 -0
  56. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/l7_policies.py +0 -0
  57. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/listeners.py +0 -0
  58. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/management.py +0 -0
  59. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/pools.py +0 -0
  60. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/monitoring.py +0 -0
  61. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/network.py +0 -0
  62. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/orchestration.py +0 -0
  63. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/storage.py +0 -0
  64. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/__init__.py +0 -0
  65. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_availability_zones.py +0 -0
  66. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_floating_ip_pools.py +0 -0
  67. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_floating_ips.py +0 -0
  68. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_heat_stacks.py +0 -0
  69. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_hypervisor_details.py +0 -0
  70. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_image_detail_list.py +0 -0
  71. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_instance.py +0 -0
  72. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_instance_by_name.py +0 -0
  73. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_instance_details.py +0 -0
  74. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_instances_by_status.py +0 -0
  75. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_keypair_list.py +0 -0
  76. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_amphorae.py +0 -0
  77. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_availability_zones.py +0 -0
  78. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_details.py +0 -0
  79. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_flavors.py +0 -0
  80. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_health_monitors.py +0 -0
  81. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_l7_policies.py +0 -0
  82. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_l7_rules.py +0 -0
  83. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_list.py +0 -0
  84. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_listeners.py +0 -0
  85. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_pool_members.py +0 -0
  86. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_pools.py +0 -0
  87. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_providers.py +0 -0
  88. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_quotas.py +0 -0
  89. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_network_details.py +0 -0
  90. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_project_details.py +0 -0
  91. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_quota.py +0 -0
  92. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_resource_monitoring.py +0 -0
  93. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_role_assignments.py +0 -0
  94. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_routers.py +0 -0
  95. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_security_groups.py +0 -0
  96. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_server_events.py +0 -0
  97. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_server_groups.py +0 -0
  98. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_server_volumes.py +0 -0
  99. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_service_status.py +0 -0
  100. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_usage_statistics.py +0 -0
  101. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_user_list.py +0 -0
  102. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_volume_list.py +0 -0
  103. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_volume_snapshots.py +0 -0
  104. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_volume_types.py +0 -0
  105. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/search_instances.py +0 -0
  106. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_alarms.py +0 -0
  107. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_compute_agents.py +0 -0
  108. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_domains.py +0 -0
  109. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_flavor.py +0 -0
  110. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_floating_ip.py +0 -0
  111. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_floating_ip_port_forwarding.py +0 -0
  112. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_heat_stack.py +0 -0
  113. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_identity_groups.py +0 -0
  114. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_image.py +0 -0
  115. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_image_members.py +0 -0
  116. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_image_metadata.py +0 -0
  117. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_image_visibility.py +0 -0
  118. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_instance.py +0 -0
  119. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_keypair.py +0 -0
  120. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer.py +0 -0
  121. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_amphora.py +0 -0
  122. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_availability_zone.py +0 -0
  123. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_flavor.py +0 -0
  124. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_health_monitor.py +0 -0
  125. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_l7_policy.py +0 -0
  126. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_l7_rule.py +0 -0
  127. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_listener.py +0 -0
  128. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_pool.py +0 -0
  129. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_pool_member.py +0 -0
  130. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_quota.py +0 -0
  131. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_metrics.py +0 -0
  132. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_network_agents.py +0 -0
  133. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_network_ports.py +0 -0
  134. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_network_qos_policies.py +0 -0
  135. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_networks.py +0 -0
  136. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_project.py +0 -0
  137. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_quota.py +0 -0
  138. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_roles.py +0 -0
  139. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_backup.py +0 -0
  140. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_dump.py +0 -0
  141. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_fixed_ip.py +0 -0
  142. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_floating_ip.py +0 -0
  143. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_group.py +0 -0
  144. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_migration.py +0 -0
  145. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_network.py +0 -0
  146. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_properties.py +0 -0
  147. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_security_group.py +0 -0
  148. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_volume.py +0 -0
  149. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_service_logs.py +0 -0
  150. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_services.py +0 -0
  151. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_snapshot.py +0 -0
  152. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_subnets.py +0 -0
  153. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_volume.py +0 -0
  154. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_volume_backups.py +0 -0
  155. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_volume_groups.py +0 -0
  156. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_volume_qos.py +0 -0
  157. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/SOURCES.txt +0 -0
  158. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/dependency_links.txt +0 -0
  159. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/entry_points.txt +0 -0
  160. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/requires.txt +0 -0
  161. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/scm_file_list.json +0 -0
  162. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/top_level.txt +0 -0
  163. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/test_compatibility.sh +0 -0
  164. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/test_project_isolation.py +0 -0
  165. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/tests/test_publish_release.py +0 -0
  166. {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/tests/test_release.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-openstack-ops
3
- Version: 3.5.6
3
+ Version: 3.5.8
4
4
  Summary: OpenStack operations automation MCP server
5
5
  Author-email: JungJungIn <call518@gmail.com>
6
6
  Requires-Python: >=3.12
@@ -20,6 +20,8 @@ Dynamic: license-file
20
20
 
21
21
  > **MCP OpenStack Operations Server**: A comprehensive MCP (Model Context Protocol) server providing OpenStack project management and monitoring capabilities with built-in safety controls and single-project scope.
22
22
 
23
+ [![MCPVault: claimed](https://mcpvault.io/badge/mcp-openstack-ops.svg?theme=dark)](https://mcpvault.io/servers/mcp-openstack-ops/health?utm_source=external_badge&utm_medium=referral&utm_campaign=mcp_health_report)
24
+
23
25
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
24
26
  ![Python](https://img.shields.io/badge/Python-3776AB?style=flat&logo=python&logoColor=white)
25
27
  ![Docker Pulls](https://img.shields.io/docker/pulls/call518/mcp-server-openstack-ops)
@@ -35,19 +37,6 @@ Dynamic: license-file
35
37
 
36
38
  [![Ask DeepWiki](https://img.shields.io/badge/Ask-DeepWiki-blue)](https://deepwiki.com/call518/MCP-OpenStack-Ops)
37
39
 
38
- ## Package and GitHub Releases
39
-
40
- Pushing a release tag runs the GitHub Actions publication workflow: build and
41
- validate distributions, publish to TestPyPI, publish to PyPI, then create a GitHub
42
- Release named after the tag. Tags must use `X.Y.Z` or `vX.Y.Z`, optionally followed
43
- by `aN`, `bN`, or `rcN`; both distribution versions must match the tag.
44
-
45
- Release notes include full commit messages since the most recently published
46
- non-draft GitHub Release, in oldest-first topological order. The first Release
47
- includes all commit history. Existing published Releases are left unchanged;
48
- an existing draft or a previous Release outside the tag's ancestry stops release
49
- creation for manual review. Prereleases are marked as such and are not made latest.
50
-
51
40
  ---
52
41
 
53
42
  ## Features
@@ -2,6 +2,8 @@
2
2
 
3
3
  > **MCP OpenStack Operations Server**: A comprehensive MCP (Model Context Protocol) server providing OpenStack project management and monitoring capabilities with built-in safety controls and single-project scope.
4
4
 
5
+ [![MCPVault: claimed](https://mcpvault.io/badge/mcp-openstack-ops.svg?theme=dark)](https://mcpvault.io/servers/mcp-openstack-ops/health?utm_source=external_badge&utm_medium=referral&utm_campaign=mcp_health_report)
6
+
5
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
6
8
  ![Python](https://img.shields.io/badge/Python-3776AB?style=flat&logo=python&logoColor=white)
7
9
  ![Docker Pulls](https://img.shields.io/docker/pulls/call518/mcp-server-openstack-ops)
@@ -17,19 +19,6 @@
17
19
 
18
20
  [![Ask DeepWiki](https://img.shields.io/badge/Ask-DeepWiki-blue)](https://deepwiki.com/call518/MCP-OpenStack-Ops)
19
21
 
20
- ## Package and GitHub Releases
21
-
22
- Pushing a release tag runs the GitHub Actions publication workflow: build and
23
- validate distributions, publish to TestPyPI, publish to PyPI, then create a GitHub
24
- Release named after the tag. Tags must use `X.Y.Z` or `vX.Y.Z`, optionally followed
25
- by `aN`, `bN`, or `rcN`; both distribution versions must match the tag.
26
-
27
- Release notes include full commit messages since the most recently published
28
- non-draft GitHub Release, in oldest-first topological order. The first Release
29
- includes all commit history. Existing published Releases are left unchanged;
30
- an existing draft or a previous Release outside the tag's ancestry stops release
31
- creation for manual review. Prereleases are marked as such and are not made latest.
32
-
33
22
  ---
34
23
 
35
24
  ## Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-openstack-ops
3
- Version: 3.5.6
3
+ Version: 3.5.8
4
4
  Summary: OpenStack operations automation MCP server
5
5
  Author-email: JungJungIn <call518@gmail.com>
6
6
  Requires-Python: >=3.12
@@ -20,6 +20,8 @@ Dynamic: license-file
20
20
 
21
21
  > **MCP OpenStack Operations Server**: A comprehensive MCP (Model Context Protocol) server providing OpenStack project management and monitoring capabilities with built-in safety controls and single-project scope.
22
22
 
23
+ [![MCPVault: claimed](https://mcpvault.io/badge/mcp-openstack-ops.svg?theme=dark)](https://mcpvault.io/servers/mcp-openstack-ops/health?utm_source=external_badge&utm_medium=referral&utm_campaign=mcp_health_report)
24
+
23
25
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
24
26
  ![Python](https://img.shields.io/badge/Python-3776AB?style=flat&logo=python&logoColor=white)
25
27
  ![Docker Pulls](https://img.shields.io/docker/pulls/call518/mcp-server-openstack-ops)
@@ -35,19 +37,6 @@ Dynamic: license-file
35
37
 
36
38
  [![Ask DeepWiki](https://img.shields.io/badge/Ask-DeepWiki-blue)](https://deepwiki.com/call518/MCP-OpenStack-Ops)
37
39
 
38
- ## Package and GitHub Releases
39
-
40
- Pushing a release tag runs the GitHub Actions publication workflow: build and
41
- validate distributions, publish to TestPyPI, publish to PyPI, then create a GitHub
42
- Release named after the tag. Tags must use `X.Y.Z` or `vX.Y.Z`, optionally followed
43
- by `aN`, `bN`, or `rcN`; both distribution versions must match the tag.
44
-
45
- Release notes include full commit messages since the most recently published
46
- non-draft GitHub Release, in oldest-first topological order. The first Release
47
- includes all commit history. Existing published Releases are left unchanged;
48
- an existing draft or a previous Release outside the tag's ancestry stops release
49
- creation for manual review. Prereleases are marked as such and are not made latest.
50
-
51
40
  ---
52
41
 
53
42
  ## Features
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "3.5.8",
3
+ "distance": 0,
4
+ "node": "g1feb02a4467891bb7c258f8109f3adddf9f679c4",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-10-25"
8
+ }
@@ -1,5 +1,5 @@
1
1
  version = 1
2
- revision = 3
2
+ revision = 5
3
3
  requires-python = ">=3.12"
4
4
  resolution-markers = [
5
5
  "python_full_version >= '3.14' and sys_platform == 'win32'",
@@ -104,11 +104,11 @@ wheels = [
104
104
 
105
105
  [[package]]
106
106
  name = "certifi"
107
- version = "2026.1.4"
107
+ version = "2026.10.19"
108
108
  source = { registry = "https://pypi.org/simple" }
109
- sdist = { url = "https://files.pythonhosted.org/packages/e0/2d/a891ca51311197f6ad14a7ef42e2399f36cf2f9bd44752b3dc4eab60fdc5/certifi-2026.1.4.tar.gz", hash = "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120", size = 154268, upload-time = "2026-01-04T02:42:41.825Z" }
109
+ sdist = { url = "https://files.pythonhosted.org/packages/a6/bd/1436c50cc46699de0230fbaacc1d1de7bfec413176099949e9d5112e88f2/certifi-2026.10.19.tar.gz", hash = "sha256:035c1e85572b141bf1c3a3eff0e33a8eb74917522f2559075ff8d2fea780a1ae", size = 137598, upload-time = "2026-10-20T02:24:16.604Z" }
110
110
  wheels = [
111
- { url = "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl", hash = "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", size = 152900, upload-time = "2026-01-04T02:42:40.15Z" },
111
+ { url = "https://files.pythonhosted.org/packages/c4/51/29046e48f693c54e5b7412216d447a1d8362c9653148d98c02cdf65fa733/certifi-2026.10.19-py3-none-any.whl", hash = "sha256:42d35340cc5b9ba78e818ddbff0c5b1c2b779de448a340fd1b989f5fa8670e1b", size = 136464, upload-time = "2026-10-20T02:24:15.072Z" },
112
112
  ]
113
113
 
114
114
  [[package]]
@@ -331,11 +331,11 @@ wheels = [
331
331
 
332
332
  [[package]]
333
333
  name = "distlib"
334
- version = "0.4.0"
334
+ version = "0.4.4"
335
335
  source = { registry = "https://pypi.org/simple" }
336
- sdist = { url = "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d", size = 614605, upload-time = "2025-07-17T16:52:00.465Z" }
336
+ sdist = { url = "https://files.pythonhosted.org/packages/68/bc/d36966de7304047a1001a7559fbf266c464bb5d8cc85464536ef8c9bcc32/distlib-0.4.4.tar.gz", hash = "sha256:ca4175b4ac7f71223cc30ed7248c45d2b38c2439d8ee6e498ab67ed63cf3508d", size = 621304, upload-time = "2026-10-16T13:56:34.203Z" }
337
337
  wheels = [
338
- { url = "https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", size = 469047, upload-time = "2025-07-17T16:51:58.613Z" },
338
+ { url = "https://files.pythonhosted.org/packages/c1/2b/238f02a4927fa2e27aa995371d240a468b52e42eae44a678434aff736b38/distlib-0.4.4-py2.py3-none-any.whl", hash = "sha256:cf09d55b1e85a89576b036aeb71550bfd68320f3f21761ca329eadadad918638", size = 472099, upload-time = "2026-10-16T13:56:32.053Z" },
339
339
  ]
340
340
 
341
341
  [[package]]
@@ -405,43 +405,83 @@ wheels = [
405
405
 
406
406
  [[package]]
407
407
  name = "fastmcp"
408
- version = "3.2.0"
408
+ version = "3.4.10"
409
409
  source = { registry = "https://pypi.org/simple" }
410
410
  dependencies = [
411
+ { name = "fastmcp-slim", extra = ["client", "server"] },
412
+ ]
413
+ sdist = { url = "https://files.pythonhosted.org/packages/7e/ce/b2057fd2d3e453048ffae962c746ef7bcb9cf6700086fb1dfcff8a8ba65d/fastmcp-3.4.10.tar.gz", hash = "sha256:c6474855d6230cce4feb7084d654ba518578b25856c6ef26a2ff2d806ef68969", size = 28866789, upload-time = "2026-10-20T14:49:39.101Z" }
414
+ wheels = [
415
+ { url = "https://files.pythonhosted.org/packages/40/c4/72da20dfbfce1c99e3c70bc973e736744daf6d461de138f52f9aaa558959/fastmcp-3.4.10-py3-none-any.whl", hash = "sha256:68f422db0a7c6228142663f17d9f79a5a12a509e1408a8ac207b3e442e166e38", size = 8026, upload-time = "2026-10-20T14:49:37.137Z" },
416
+ ]
417
+
418
+ [[package]]
419
+ name = "fastmcp-slim"
420
+ version = "3.4.10"
421
+ source = { registry = "https://pypi.org/simple" }
422
+ dependencies = [
423
+ { name = "platformdirs" },
424
+ { name = "pydantic", extra = ["email"] },
425
+ { name = "pydantic-settings" },
426
+ { name = "python-dotenv" },
427
+ { name = "rich" },
428
+ { name = "typing-extensions" },
429
+ ]
430
+ sdist = { url = "https://files.pythonhosted.org/packages/98/3b/28be7f0963fee1c848e78898d801e1232dd2e05b6e37026c400a788caa9a/fastmcp_slim-3.4.10.tar.gz", hash = "sha256:d80ae606ead8dfefa1f21b009929824210ea87eb4b422653a1be8dca61797ccd", size = 610326, upload-time = "2026-10-20T14:49:15.096Z" }
431
+ wheels = [
432
+ { url = "https://files.pythonhosted.org/packages/7c/28/1e0681b524191ee170f40e8e800fd3785084e12806fc46675c70d7f8fa43/fastmcp_slim-3.4.10-py3-none-any.whl", hash = "sha256:f388941db8bdf38999e6c9d2536c4cd59a6571908d851cee2d10ee59f4e53532", size = 785895, upload-time = "2026-10-20T14:49:13.466Z" },
433
+ ]
434
+
435
+ [package.optional-dependencies]
436
+ client = [
437
+ { name = "authlib" },
438
+ { name = "exceptiongroup" },
439
+ { name = "httpx" },
440
+ { name = "mcp" },
441
+ { name = "opentelemetry-api" },
442
+ { name = "py-key-value-aio", extra = ["filetree", "keyring", "memory"] },
443
+ { name = "starlette" },
444
+ ]
445
+ server = [
411
446
  { name = "authlib" },
412
447
  { name = "cyclopts" },
413
448
  { name = "exceptiongroup" },
449
+ { name = "griffelib" },
414
450
  { name = "httpx" },
451
+ { name = "joserfc" },
415
452
  { name = "jsonref" },
416
453
  { name = "jsonschema-path" },
417
454
  { name = "mcp" },
418
455
  { name = "openapi-pydantic" },
419
456
  { name = "opentelemetry-api" },
420
457
  { name = "packaging" },
421
- { name = "platformdirs" },
422
458
  { name = "py-key-value-aio", extra = ["filetree", "keyring", "memory"] },
423
- { name = "pydantic", extra = ["email"] },
424
459
  { name = "pyperclip" },
425
- { name = "python-dotenv" },
460
+ { name = "python-multipart" },
426
461
  { name = "pyyaml" },
427
- { name = "rich" },
462
+ { name = "starlette" },
428
463
  { name = "uncalled-for" },
429
464
  { name = "uvicorn" },
430
465
  { name = "watchfiles" },
431
466
  { name = "websockets" },
432
467
  ]
433
- sdist = { url = "https://files.pythonhosted.org/packages/d0/32/4f1b2cfd7b50db89114949f90158b1dcc2c92a1917b9f57c0ff24e47a2f4/fastmcp-3.2.0.tar.gz", hash = "sha256:d4830b8ffc3592d3d9c76dc0f398904cf41f04910e41a0de38cc1004e0903bef", size = 26318581, upload-time = "2026-03-30T20:25:37.692Z" }
468
+
469
+ [[package]]
470
+ name = "filelock"
471
+ version = "4.2.1"
472
+ source = { registry = "https://pypi.org/simple" }
473
+ sdist = { url = "https://files.pythonhosted.org/packages/d5/98/771d8ca889f220d7d7e352addf500666368f0fd081c6080a83767580c6e4/filelock-4.2.1.tar.gz", hash = "sha256:c4c937ccac2a813cee448e662a56366cfb374c0f8702e75f295c412cc1c5d5a3", size = 650997, upload-time = "2026-10-17T16:48:14.435Z" }
434
474
  wheels = [
435
- { url = "https://files.pythonhosted.org/packages/4f/67/684fa2d2de1e7504549d4ca457b4f854ccec3cd3be03bd86b33b599fbf58/fastmcp-3.2.0-py3-none-any.whl", hash = "sha256:e71aba3df16f86f546a4a9e513261d3233bcc92bef0dfa647bac3fa33623f681", size = 705550, upload-time = "2026-03-30T20:25:35.499Z" },
475
+ { url = "https://files.pythonhosted.org/packages/28/00/db89d339bc4ecdc8087fa7b8607ba22ffc27bf96286f340c9620bea428b3/filelock-4.2.1-py3-none-any.whl", hash = "sha256:7be2662e9e826b9bba28afc0f843a123280d799a2ea44bb5d35ccec67905ae44", size = 162455, upload-time = "2026-10-17T16:48:12.937Z" },
436
476
  ]
437
477
 
438
478
  [[package]]
439
- name = "filelock"
440
- version = "3.29.0"
479
+ name = "griffelib"
480
+ version = "2.4.1"
441
481
  source = { registry = "https://pypi.org/simple" }
442
- sdist = { url = "https://files.pythonhosted.org/packages/b5/fe/997687a931ab51049acce6fa1f23e8f01216374ea81374ddee763c493db5/filelock-3.29.0.tar.gz", hash = "sha256:69974355e960702e789734cb4871f884ea6fe50bd8404051a3530bc07809cf90", size = 57571, upload-time = "2026-04-19T15:39:10.068Z" }
482
+ sdist = { url = "https://files.pythonhosted.org/packages/36/e2/0f5d8ed08766bc6dcd3eebf5a6623d83cbca33a6e4c90aef57156ce745ad/griffelib-2.4.1.tar.gz", hash = "sha256:40c028dd2e623f464423f0e11e3c553158f1cf4f1368239a370534d73e1407ff", size = 245153, upload-time = "2026-10-22T11:20:03.705Z" }
443
483
  wheels = [
444
- { url = "https://files.pythonhosted.org/packages/81/47/dd9a212ef6e343a6857485ffe25bba537304f1913bdbed446a23f7f592e1/filelock-3.29.0-py3-none-any.whl", hash = "sha256:96f5f6344709aa1572bbf631c640e4ebeeb519e08da902c39a001882f30ac258", size = 39812, upload-time = "2026-04-19T15:39:08.752Z" },
484
+ { url = "https://files.pythonhosted.org/packages/de/02/1156d5f5307f573b901b14373848b84e69ca6cab09169b8cc97d16a181f9/griffelib-2.4.1-py3-none-any.whl", hash = "sha256:76bc562f936ad1ce198d2cf6d0731bd5c92a7d934b69ef828ef22ee0ffdb62ce", size = 172983, upload-time = "2026-10-22T11:19:59.843Z" },
445
485
  ]
446
486
 
447
487
  [[package]]
@@ -508,18 +548,6 @@ wheels = [
508
548
  { 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" },
509
549
  ]
510
550
 
511
- [[package]]
512
- name = "importlib-metadata"
513
- version = "8.7.1"
514
- source = { registry = "https://pypi.org/simple" }
515
- dependencies = [
516
- { name = "zipp" },
517
- ]
518
- sdist = { url = "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz", hash = "sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb", size = 57107, upload-time = "2025-12-21T10:00:19.278Z" }
519
- wheels = [
520
- { url = "https://files.pythonhosted.org/packages/fa/5e/f8e9a1d23b9c20a551a8a02ea3637b4642e22c2626e3a13a9a29cdea99eb/importlib_metadata-8.7.1-py3-none-any.whl", hash = "sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151", size = 27865, upload-time = "2025-12-21T10:00:18.329Z" },
521
- ]
522
-
523
551
  [[package]]
524
552
  name = "iniconfig"
525
553
  version = "2.3.0"
@@ -589,6 +617,18 @@ wheels = [
589
617
  { url = "https://files.pythonhosted.org/packages/14/2f/967ba146e6d58cf6a652da73885f52fc68001525b4197effc174321d70b4/jmespath-1.1.0-py3-none-any.whl", hash = "sha256:a5663118de4908c91729bea0acadca56526eb2698e83de10cd116ae0f4e97c64", size = 20419, upload-time = "2026-01-22T16:35:24.919Z" },
590
618
  ]
591
619
 
620
+ [[package]]
621
+ name = "joserfc"
622
+ version = "1.7.7"
623
+ source = { registry = "https://pypi.org/simple" }
624
+ dependencies = [
625
+ { name = "cryptography" },
626
+ ]
627
+ sdist = { url = "https://files.pythonhosted.org/packages/bd/15/48ff246732232d35ee234228def22b52455fcc55577f06146602399a29b0/joserfc-1.7.7.tar.gz", hash = "sha256:471d0fd12a5a0d1c0942de280f39efe6f597878315033270b504d4d006d25510", size = 237446, upload-time = "2026-10-19T00:30:29.974Z" }
628
+ wheels = [
629
+ { url = "https://files.pythonhosted.org/packages/df/9f/934db284aa22f37af59708e382903860d4b81329c137b1b0ed2745daeb65/joserfc-1.7.7-py3-none-any.whl", hash = "sha256:06979cfbab78bc802f14c0358f32969826cc26720e13cb38926ffdc86bc0cb2c", size = 71758, upload-time = "2026-10-19T00:30:28.498Z" },
630
+ ]
631
+
592
632
  [[package]]
593
633
  name = "jsonpatch"
594
634
  version = "1.33"
@@ -827,15 +867,14 @@ wheels = [
827
867
 
828
868
  [[package]]
829
869
  name = "opentelemetry-api"
830
- version = "1.39.1"
870
+ version = "1.45.1"
831
871
  source = { registry = "https://pypi.org/simple" }
832
872
  dependencies = [
833
- { name = "importlib-metadata" },
834
873
  { name = "typing-extensions" },
835
874
  ]
836
- sdist = { url = "https://files.pythonhosted.org/packages/97/b9/3161be15bb8e3ad01be8be5a968a9237c3027c5be504362ff800fca3e442/opentelemetry_api-1.39.1.tar.gz", hash = "sha256:fbde8c80e1b937a2c61f20347e91c0c18a1940cecf012d62e65a7caf08967c9c", size = 65767, upload-time = "2025-12-11T13:32:39.182Z" }
875
+ sdist = { url = "https://files.pythonhosted.org/packages/2e/02/6e0ae9cc61bd3169d401077b507b3ebc344745171e1051ab430be012dcd9/opentelemetry_api-1.45.1.tar.gz", hash = "sha256:aa38ed19bcc084ba42782a73255b3582283eced7ad6dddbd6695189e69adfb75", size = 72804, upload-time = "2026-10-06T17:32:58.133Z" }
837
876
  wheels = [
838
- { url = "https://files.pythonhosted.org/packages/cf/df/d3f1ddf4bb4cb50ed9b1139cc7b1c54c34a1e7ce8fd1b9a37c0d1551a6bd/opentelemetry_api-1.39.1-py3-none-any.whl", hash = "sha256:2edd8463432a7f8443edce90972169b195e7d6a05500cd29e6d13898187c9950", size = 66356, upload-time = "2025-12-11T13:32:17.304Z" },
877
+ { url = "https://files.pythonhosted.org/packages/1e/41/f7dcf80b81ee8e71c1a2b59f14208bc723edbd89ed027a73b175abf6348e/opentelemetry_api-1.45.1-py3-none-any.whl", hash = "sha256:b31553efa588ae44bc306f863c785c5333a9ecc091248c6ee68b4b6c87fdedfb", size = 60256, upload-time = "2026-10-06T17:32:33.506Z" },
839
878
  ]
840
879
 
841
880
  [[package]]
@@ -853,11 +892,11 @@ wheels = [
853
892
 
854
893
  [[package]]
855
894
  name = "packaging"
856
- version = "26.0"
895
+ version = "26.3"
857
896
  source = { registry = "https://pypi.org/simple" }
858
- sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416, upload-time = "2026-01-21T20:50:39.064Z" }
897
+ sdist = { url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz", hash = "sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79", size = 313412, upload-time = "2026-08-04T18:15:28.737Z" }
859
898
  wheels = [
860
- { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366, upload-time = "2026-01-21T20:50:37.788Z" },
899
+ { url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c", size = 129956, upload-time = "2026-08-04T18:15:27.159Z" },
861
900
  ]
862
901
 
863
902
  [[package]]
@@ -1404,11 +1443,11 @@ wheels = [
1404
1443
 
1405
1444
  [[package]]
1406
1445
  name = "setuptools"
1407
- version = "84.0.0"
1446
+ version = "84.2.1"
1408
1447
  source = { registry = "https://pypi.org/simple" }
1409
- 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" }
1448
+ sdist = { url = "https://files.pythonhosted.org/packages/70/b3/c19426f783614d625699a4b247faf628ea9ab1db228674491767b417f9e1/setuptools-84.2.1.tar.gz", hash = "sha256:3ff8b3b5492a0aa66960f4419365a86b84e013070d4313e4d4a6894f5d64d6bc", size = 1230289, upload-time = "2026-10-20T19:01:37.742Z" }
1410
1449
  wheels = [
1411
- { 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" },
1450
+ { url = "https://files.pythonhosted.org/packages/ef/55/6dc6d6bb953bdfc52519a0059592c52b6e3b8ad51cf8256dffceb55b0610/setuptools-84.2.1-py3-none-any.whl", hash = "sha256:ca140b45d5325a9478f880e351484f62fef15f336462e449ca0c03c873d589c2", size = 876263, upload-time = "2026-10-20T19:01:35.678Z" },
1412
1451
  ]
1413
1452
 
1414
1453
  [[package]]
@@ -1526,17 +1565,18 @@ wheels = [
1526
1565
 
1527
1566
  [[package]]
1528
1567
  name = "virtualenv"
1529
- version = "21.7.13"
1568
+ version = "21.14.13"
1530
1569
  source = { registry = "https://pypi.org/simple" }
1531
1570
  dependencies = [
1532
1571
  { name = "distlib" },
1533
1572
  { name = "filelock" },
1573
+ { name = "packaging" },
1534
1574
  { name = "platformdirs" },
1535
1575
  { name = "python-discovery" },
1536
1576
  ]
1537
- sdist = { url = "https://files.pythonhosted.org/packages/13/50/c9b84eb106d0db420b9878dac0a386c5791726f127ce20b06897f6e3a1e9/virtualenv-21.7.13.tar.gz", hash = "sha256:0355558b6f33619aab31347e43643b0ebc97f61ea3acf617b2b69e1f8a843d11", size = 5360306, upload-time = "2026-09-18T04:35:49.354Z" }
1577
+ sdist = { url = "https://files.pythonhosted.org/packages/70/aa/bff50daee0488e16d611258a9b6c5a1d0c9e128f8ca424e9f4e1c0444ef2/virtualenv-21.14.13.tar.gz", hash = "sha256:de5307ba4b9a0001d9c8ea02832d38f63ca432880f416c1bface61c4323fd905", size = 5570301, upload-time = "2026-10-22T20:10:16.952Z" }
1538
1578
  wheels = [
1539
- { url = "https://files.pythonhosted.org/packages/9a/ce/e74453531b0c49a58d0e8a4f9bab4495705859fee4a4f7de27d58f4a791a/virtualenv-21.7.13-py3-none-any.whl", hash = "sha256:1bea5af7463f59c4719db48fe739579a2a4f569c96f26c086edda85c96da9f59", size = 5328680, upload-time = "2026-09-18T04:35:47.194Z" },
1579
+ { url = "https://files.pythonhosted.org/packages/bb/a9/c10d8a44a29fb94a18b43fdf11f38caca53ae7c9406f11a72b1cb8f624f1/virtualenv-21.14.13-py3-none-any.whl", hash = "sha256:5fbb04138a4861580b78ba9110d529a26bc48fcc93c8ec36bc0202eeed96a788", size = 5557094, upload-time = "2026-10-22T20:10:15.096Z" },
1540
1580
  ]
1541
1581
 
1542
1582
  [[package]]
@@ -1653,12 +1693,3 @@ wheels = [
1653
1693
  { url = "https://files.pythonhosted.org/packages/9f/3e/28135a24e384493fa804216b79a6a6759a38cc4ff59118787b9fb693df93/websockets-16.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b14dc141ed6d2dde437cddb216004bcac6a1df0935d79656387bd41632ba0bbd", size = 178531, upload-time = "2026-01-10T09:23:35.016Z" },
1654
1694
  { url = "https://files.pythonhosted.org/packages/6f/28/258ebab549c2bf3e64d2b0217b973467394a9cea8c42f70418ca2c5d0d2e/websockets-16.0-py3-none-any.whl", hash = "sha256:1637db62fad1dc833276dded54215f2c7fa46912301a24bd94d45d46a011ceec", size = 171598, upload-time = "2026-01-10T09:23:45.395Z" },
1655
1695
  ]
1656
-
1657
- [[package]]
1658
- name = "zipp"
1659
- version = "3.23.0"
1660
- source = { registry = "https://pypi.org/simple" }
1661
- sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" }
1662
- wheels = [
1663
- { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" },
1664
- ]
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "3.5.6",
3
- "distance": 0,
4
- "node": "g41f8358a600a2396e41e6d5b6e4326a6550ab2a0",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-10-24"
8
- }