// ReSharper disable once MemberCanBePrivate.Global
        public WakaTime(IServiceProvider serviceProvider, Configuration configuration)
        {
            _configuration = configuration;
            Config         = new ConfigFile();
            Config.Read();

            _pythonCliParameters = new PythonCliParameters();
            _dependencies        = new Dependencies();

            if (string.IsNullOrEmpty(_configuration.PluginVersion))
            {
                _configuration.PluginVersion = Constants.PluginVersion;
            }

            if (Logger == null)
            {
                Logger = new Logger();
            }

            if (serviceProvider != null)
            {
                IsAsyncLoadSupported = ServiceProviderHelper.IsAsyncPackageSupported(serviceProvider);
            }
        }