class_docstr: On Unix/Linux, we follow the
  `XDG Basedir Spec <https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html>`_. The spec allows
  overriding directories with environment variables. The examples show are the default values, alongside the name of
  the environment variable that overrides them. Makes use of the
  `appname <platformdirs.api.PlatformDirsABC.appname>`,
  `version <platformdirs.api.PlatformDirsABC.version>`,
  `multipath <platformdirs.api.PlatformDirsABC.multipath>`,
  `opinion <platformdirs.api.PlatformDirsABC.opinion>`,
  `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
class_docstr_tok: ["On","Unix\/Linux",",","we","follow","the","`","XDG","Basedir","Spec","<","https",":","\/\/specifications.freedesktop.org\/basedir-spec\/basedir-spec-latest.html",">","`","_",".","The","spec","allows","overriding","directories","with","environment","variables",".","The","examples","show","are","the","default","values",",","alongside","the","name","of","the","environment","variable","that","overrides","them",".","Makes","use","of","the","`","appname","<","platformdirs.api.PlatformDirsABC.appname",">","`",",","`","version","<","platformdirs.api.PlatformDirsABC.version",">","`",",","`","multipath","<","platformdirs.api.PlatformDirsABC.multipath",">","`",",","`","opinion","<","platformdirs.api.PlatformDirsABC.opinion",">","`",",","`","ensure_exists","<","platformdirs.api.PlatformDirsABC.ensure_exists",">","`","."]
docstr: :return: runtime directory shared by users, e.g. ``/run/$appname/$version`` or         ``$XDG_RUNTIME_DIR/$appname/$version``.
  
  Note that this behaves almost exactly like `user_runtime_dir` if ``$XDG_RUNTIME_DIR`` is set, but will
  fall back to paths associated to the root user instead of a regular logged-in user if it's not set.
  
  If you wish to ensure that a logged-in root user path is returned e.g. ``/run/user/0``, use `user_runtime_dir`
  instead.
  
  For FreeBSD/OpenBSD/NetBSD, it would return ``/var/run/$appname/$version`` if ``$XDG_RUNTIME_DIR`` is not set.
docstr_tok: [":","return",":","runtime","directory","shared","by","users",",","e.g",".","``","\/run\/","$","appname\/","$","version","``","or","``","$","XDG_RUNTIME_DIR\/","$","appname\/","$","version","``",".","Note","that","this","behaves","almost","exactly","like","`","user_runtime_dir","`","if","``","$","XDG_RUNTIME_DIR","``","is","set",",","but","will","fall","back","to","paths","associated","to","the","root","user","instead","of","a","regular","logged-in","user","if","it","'s","not","set",".","If","you","wish","to","ensure","that","a","logged-in","root","user","path","is","returned","e.g",".","``","\/run\/user\/0","``",",","use","`","user_runtime_dir","`","instead",".","For","FreeBSD\/OpenBSD\/NetBSD",",","it","would","return","``","\/var\/run\/","$","appname\/","$","version","``","if","``","$","XDG_RUNTIME_DIR","``","is","not","set","."]
code: def site_runtime_dir(self) -> str:
      """
          :return: runtime directory shared by users, e.g. ``/run/$appname/$version`` or \
          ``$XDG_RUNTIME_DIR/$appname/$version``.
  
          Note that this behaves almost exactly like `user_runtime_dir` if ``$XDG_RUNTIME_DIR`` is set, but will
          fall back to paths associated to the root user instead of a regular logged-in user if it's not set.
  
          If you wish to ensure that a logged-in root user path is returned e.g. ``/run/user/0``, use `user_runtime_dir`
          instead.
  
          For FreeBSD/OpenBSD/NetBSD, it would return ``/var/run/$appname/$version`` if ``$XDG_RUNTIME_DIR`` is not set.
          """
      path = os.environ.get("XDG_RUNTIME_DIR", "")
      if not path.strip():
          if sys.platform.startswith(("freebsd", "openbsd", "netbsd")):
              path = "/var/run"
          else:
              path = "/run"
      return self._append_app_name_and_version(path)
  
imports: from __future__ import annotations
  import os
  import sys
  from configparser import ConfigParser
  from pathlib import Path
  from .api import PlatformDirsABC
label_desc: Use image node_id 17 for calling the Unix obj's underlying member method code with example usage: obj.site_runtime_dir() and returns: self