{"categories":[{"label":"WWW/HTTP","url":"https://skillfed.io/packages/category/internet-www-http/7"}],"enrichment":{"capability":"Parses and validates OpenStack microversion headers in HTTP requests, extracting version information for API versioning and providing WSGI middleware for automatic version negotiation.","skillfed_tags":["openstack","api-versioning","wsgi-middleware"],"use_cases":["Validate and extract microversion numbers from incoming OpenStack API requests in a WSGI application.","Wrap a microversion-aware WSGI app with middleware to automatically handle version negotiation and return appropriate HTTP responses.","Parse and compare microversion strings to determine feature availability within an OpenStack service.","Support both modern 'OpenStack-API-Version' headers and legacy service-specific headers like 'X-OpenStack-nova-api-version'.","Translate the 'latest' keyword in version requests to the maximum supported version for a service."],"what_it_does":"microversion_parse is a utility library for handling OpenStack microversion headers\u2014the mechanism by which OpenStack APIs signal backward-compatible feature additions. It provides three core functions: get_version() extracts a version string from HTTP headers (supporting both standard 'OpenStack-API-Version' and legacy service-specific headers), parse_version_string() converts version strings into comparable Version tuples, and extract_version() combines both to validate that a requested version is in the service's supported list. It also includes MicroversionMiddleware, a WSGI middleware component that automatically negotiates microversions for incoming requests, returning appropriate HTTP error responses (406 for unsupported versions, 400 for malformed headers) and injecting the negotiated version into the WSGI environ.\n\nThe package is designed for OpenStack service operators and developers building microversion-aware APIs. Its single dependency is WebOb, a lightweight HTTP utility library. It supports Python 3.10 through 3.13 and carries no known security vulnerabilities. The aging maintenance status (last release 253 days ago) suggests the package is stable but not under active development.","worth_installing":"Yes, if you are building or operating an OpenStack service that needs to handle microversion negotiation. The package is lightweight, has no security issues, and provides a standard way to parse and validate microversions. The aging maintenance status is not a blocker for stable, well-defined functionality, but verify that your OpenStack deployment's microversion requirements match the library's capabilities before adopting it."},"id":"microversion-parse","links":{"html":"https://skillfed.io/packages/microversion-parse","md":"https://skillfed.io/packages/microversion-parse.md","pypi":"https://pypi.org/project/microversion-parse/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-12-04","license_spdx":null,"license_treatment":"permissive","name":"microversion-parse","python_support":"supports_current","summary":"OpenStack microversion header parser"},"popularity":{"monthly_downloads":113051,"position":12351,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"2.1.0"}
