diff --git a/CHANGELOG.md b/CHANGELOG.md
index 104b977..fc87bab 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
 # Changelog
 
+## 20200805.0
+
+### Fixed
+
+* Addressed bug in rate limiting VirusTotal. [Issue-62](https://github.com/chapinb/chickadee/issues/62)
+
 ## 20200802.0
 
 ### Added
diff --git a/doc_src/source/conf.py b/doc_src/source/conf.py
index ad6c81a..31e098a 100644
--- a/doc_src/source/conf.py
+++ b/doc_src/source/conf.py
@@ -22,7 +22,7 @@ copyright = 'MIT 2020, Chapin Bryce'
 author = 'Chapin Bryce'
 
 # The full version, including alpha/beta/rc tags
-release = '20200802'
+release = '20200805'
 
 
 # -- General configuration ---------------------------------------------------
diff --git a/libchickadee/__init__.py b/libchickadee/__init__.py
index 202fa79..e7393a1 100644
--- a/libchickadee/__init__.py
+++ b/libchickadee/__init__.py
@@ -145,7 +145,7 @@ library from the command line.
 """
 
 __author__ = 'Chapin Bryce'
-__date__ = 20200802
-__version__ = 20200802.0
+__date__ = 20200805
+__version__ = 20200805.0
 __license__ = 'MIT Copyright 2020 Chapin Bryce'
 __desc__ = '''Yet another GeoIP resolution tool.'''
diff --git a/libchickadee/chickadee.py b/libchickadee/chickadee.py
index fd12d15..d43deac 100644
--- a/libchickadee/chickadee.py
+++ b/libchickadee/chickadee.py
@@ -65,7 +65,7 @@ Usage
       -V, --version         Displays version
       -l LOG, --log LOG     Path to log file (default: chickadee.log)
 
-    Built by Chapin Bryce, v.20200801.0
+    Built by Chapin Bryce, v.20200805.0
 
 
 .. _chickadee-examples:
@@ -171,7 +171,7 @@ from libchickadee.parsers.evtx import EVTXParser
 
 
 __author__ = 'Chapin Bryce'
-__date__ = 20200407.2
+__date__ = 20200805
 __license__ = 'GPLv3 Copyright 2019 Chapin Bryce'
 __desc__ = '''Yet another GeoIP resolution tool.
 
@@ -672,7 +672,7 @@ def arg_handling(args):
                         help='Include debug log messages')
     parser.add_argument('-V', '--version', action='version',
                         help='Displays version',
-                        version=str(__date__))
+                        version=str(__version__))
     parser.add_argument(
         '-l',
         '--log',
diff --git a/libchickadee/resolvers/virustotal.py b/libchickadee/resolvers/virustotal.py
index 1c21411..e538089 100644
--- a/libchickadee/resolvers/virustotal.py
+++ b/libchickadee/resolvers/virustotal.py
@@ -84,7 +84,7 @@ from . import ResolverBase
 logger = logging.getLogger(__name__)
 
 __author__ = 'Chapin Bryce'
-__date__ = 20200302
+__date__ = 20200805
 __license__ = 'MIT Copyright 2020 Chapin Bryce'
 __desc__ = 'Resolver for VirusTotal'
 
@@ -165,6 +165,7 @@ class ProResolver(ResolverBase):
             'ip': self.data
         }
 
+        self.last_request = datetime.now()
         rdata = requests.get(
             self.uri, params=params
         )
diff --git a/setup.py b/setup.py
index d4d126a..67ae1ca 100644
--- a/setup.py
+++ b/setup.py
@@ -1,6 +1,6 @@
 """Installer for chickadee"""
 import setuptools
-from libchickadee import __version__
+from libchickadee import __version__, __desc__, __author__
 
 with open('README.md') as fh:
     long_description = fh.read()
@@ -8,8 +8,8 @@ with open('README.md') as fh:
 setuptools.setup(
     name='chickadee',
     version=__version__,
-    description='Yet another GeoIP resolution tool.',
-    author='Chapin Bryce',
+    description=__desc__,
+    author=__author__,
     author_email='python@chapinb.com',
     url='https://github.com/chapinb/chickadee',
     long_description=long_description,

VirusTotal rate limiter does not store last request time
**Describe the bug**

The sleeper function checks the last request time to determine how long to sleep for. This value is only set at initialization and does not update per-request.


**Version (please complete the following information):**
 - OS: Any (macOS)
 - Version: 20200802.0
 - Python version: 3.7.7

**Additional context**


diff --git a/libchickadee/test/test_resolver_virustotal.py b/libchickadee/test/test_resolver_virustotal.py
index dfb54a1..c0dd7d4 100644
--- a/libchickadee/test/test_resolver_virustotal.py
+++ b/libchickadee/test/test_resolver_virustotal.py
@@ -1,5 +1,6 @@
 """VirusTotal Resolver Tests."""
 import datetime
+import time
 import unittest
 import json
 import os
@@ -8,7 +9,7 @@ from unittest.mock import patch, MagicMock
 from libchickadee.resolvers.virustotal import ProResolver
 
 __author__ = 'Chapin Bryce'
-__date__ = 20200114
+__date__ = 20200805
 __license__ = 'MIT Copyright 2020 Chapin Bryce'
 __desc__ = '''Yet another GeoIP resolution tool.'''
 
@@ -101,6 +102,16 @@ class IPAPITestCase(unittest.TestCase):
                 self.assertIsNone(actual)
                 self.assertEqual(mock_log.records[0].message, err_msg)
 
+    @patch("libchickadee.resolvers.virustotal.requests.get")
+    def test_sleeper(self, mock_requests):
+        initial_time = datetime.datetime.now()
+        self.resolver.last_request = initial_time
+        time.sleep(2)
+        mock_requests.return_value.status_code = 403
+
+        self.resolver.query(data='1.1.1.1')
+        self.assertGreaterEqual(self.resolver.last_request, initial_time + datetime.timedelta(seconds=2))
+
 
 if __name__ == "__main__":
     unittest.main()

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest coverage
3.7
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
certifi @ file:///croot/certifi_1671487769961/work/certifi
chardet==3.0.4
-e git+https://github.com/chapinb/chickadee.git@fa9862c3ff48e6ad3e07b2ecaad74ff922eaf926#egg=chickadee
coverage==7.2.7
et-xmlfile==1.1.0
exceptiongroup==1.2.2
hexdump==3.3
idna==2.8
importlib-metadata==6.7.0
iniconfig==2.0.0
jdcal==1.4.1
netaddr==0.7.20
openpyxl==2.6.4
packaging==24.0
pluggy==1.2.0
pytest==7.4.4
pytest-cov==4.1.0
python-evtx==0.6.1
requests==2.22.0
six==1.17.0
tomli==2.0.1
tqdm==4.36.1
typing_extensions==4.7.1
urllib3==1.25.11
zipp==3.15.0

name: chickadee
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=22.3.1=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - chardet==3.0.4
      - coverage==7.2.7
      - et-xmlfile==1.1.0
      - exceptiongroup==1.2.2
      - hexdump==3.3
      - idna==2.8
      - importlib-metadata==6.7.0
      - iniconfig==2.0.0
      - jdcal==1.4.1
      - netaddr==0.7.20
      - openpyxl==2.6.4
      - packaging==24.0
      - pluggy==1.2.0
      - pytest==7.4.4
      - pytest-cov==4.1.0
      - python-evtx==0.6.1
      - requests==2.22.0
      - six==1.17.0
      - tomli==2.0.1
      - tqdm==4.36.1
      - typing-extensions==4.7.1
      - urllib3==1.25.11
      - zipp==3.15.0
prefix: /opt/conda/envs/chickadee

libchickadee/test/test_resolver_virustotal.py::IPAPITestCase::test_sleeper
libchickadee/test/test_resolver_virustotal.py::IPAPITestCase::test_parse_vt_resp libchickadee/test/test_resolver_virustotal.py::IPAPITestCase::test_parse_vt_resp_2 libchickadee/test/test_resolver_virustotal.py::IPAPITestCase::test_resolve_batch libchickadee/test/test_resolver_virustotal.py::IPAPITestCase::test_resolve_errors libchickadee/test/test_resolver_virustotal.py::IPAPITestCase::test_resolve_single
setup.py libchickadee/resolvers/virustotal.py CHANGELOG.md libchickadee/__init__.py libchickadee/chickadee.py doc_src/source/conf.py
setup.py libchickadee/resolvers/virustotal.py CHANGELOG.md libchickadee/__init__.py libchickadee/chickadee.py doc_src/source/conf.py