docs: def upload():
      """ build the files and upload to pypi """
  
      def twine(*args):
          """ run a twine command """
          process = run(sys.executable, '-m', 'twine', *args)
  
          return process.wait() != 0
  
      if run(sys.executable, 'setup.py', 'sdist', 'bdist_wheel').wait() != 0:
          error('failed building packages')
  
      if twine('register', glob.glob('dist/*')[0]):
          error('register failed')
  
      if twine('upload', '-s', '-i', 'CB164668', '--skip-existing', 'dist/*'):
          error('upload failed')