diff --git a/volatility/framework/__init__.py b/volatility/framework/__init__.py index 62002946d..b218cf8bf 100644 --- a/volatility/framework/__init__.py +++ b/volatility/framework/__init__.py @@ -2,11 +2,20 @@ # which is available at https://www.volatilityfoundation.org/license/vsl-v1.0 # """Volatility 3 framework.""" +# Check the python version to ensure it's suitable +# We currently require 3.5.3 since 3.5.1 has no typing.Type and 3.5.2 is broken for ''/delayed encapsulated types +import sys + +required_python_version = (3, 5, 3) +if (sys.version_info.major != required_python_version[0] or sys.version_info.minor < required_python_version[1] or + (sys.version_info.minor == required_python_version[1] and sys.version_info.micro < required_python_version[2])): + raise RuntimeError( + "Volatility framework requires python version {}.{}.{} or greater".format(*required_python_version)) + import importlib import inspect import logging import os -import sys from typing import Any, Dict, Generator, List, Type, TypeVar from volatility.framework import constants, interfaces @@ -116,12 +125,3 @@ def list_plugins() -> Dict[str, Type[interfaces.plugins.PluginInterface]]: plugin_name = plugin_name[len("volatility.plugins."):] plugin_list[plugin_name] = plugin return plugin_list - - -# Check the python version to ensure it's suitable -# We currently require 3.5.3 since 3.5.1 has no typing.Type and 3.5.2 is broken for ''/delayed encapsulated types -required_python_version = (3, 5, 3) -if (sys.version_info.major != required_python_version[0] or sys.version_info.minor < required_python_version[1] or - (sys.version_info.minor == required_python_version[1] and sys.version_info.micro < required_python_version[2])): - raise RuntimeError( - "Volatility framework requires python version {}.{}.{} or greater".format(*required_python_version))