◐ Shell
clean mode source ↗

gh-76007: Deprecate `__version__` attribute in `http.server` by hugovk · Pull Request #142658 · python/cpython

In the issue @vstinner said:

IMO it's a good idea to use the Python version as the HTTP server version.

However, the Python version is already part of the combined version string: "BaseHTTP/0.6 Python/3.15.0".

This is made up of:

    def version_string(self):
        """Return the server software version string."""
        return self.server_version + ' ' + self.sys_version

And the comments say server_version can be a name without a version:

    # The Python system version, truncated to its first component.
    sys_version = "Python/" + sys.version.split()[0]

    # The server software version.  You may want to override this.
    # The format is multiple whitespace-separated strings,
    # where each string is of the form name[/version].
    server_version = "BaseHTTP/" + __version__

So better to have something like "BaseHTTP Python/3.15.0" rather than "BaseHTTP/3.15.0 Python/3.15.0".


📚 Documentation preview 📚: https://cpython-previews--142658.org.readthedocs.build/