{ stdenv, buildPythonPackage, fetchFromGitHub
, six, ecdsa, rsa, future, pytest, cryptography, pycryptodome
}:

buildPythonPackage rec {
  pname = "python-jose";
  version = "3.0.0";

  # no tests in PyPI tarball
  src = fetchFromGitHub {
    owner = "mpdavis";
    repo = "python-jose";
    rev = version;
    sha256 = "1dq8v87abqxv07wi403ywjk9jg1da125fviycqzki48cjxx0dhwj";
  };

  checkInputs = [
    pytest
    # optional dependencies, but needed in tests
    cryptography pycryptodome
  ];
  checkPhase = ''
    py.test
  '';

  propagatedBuildInputs = [ six ecdsa rsa future ];

  meta = with stdenv.lib; {
    homepage = https://github.com/mpdavis/python-jose;
    description = "A JOSE implementation in Python";
    license = licenses.mit;
    maintainers = [ maintainers.jhhuh ];
  };
}

{ stdenv, buildPythonPackage, fetchFromGitHub
, future, six, ecdsa, pycryptodome, pytest, cryptography
}:

buildPythonPackage rec {
  pname = "python-jose";
  version = "2.0.2";

  # no tests in PyPI tarball
  src = fetchFromGitHub {
    owner = "mpdavis";
    repo = "python-jose";
    # 2.0.2 not tagged on GitHub
    # see https://github.com/mpdavis/python-jose/issues/86
    rev = "28cc6719eceb89129eed59c25f7bdac015665bdd";
    sha256 = "03wkq2rszy0rzy5gygsh4s7i6ls8zflgbcvxnflvmh7nis7002fp";
  };

  checkInputs = [
    pytest
    cryptography # optional dependency, but needed in tests
  ];
  checkPhase = ''
    py.test
  '';

  propagatedBuildInputs = [ future six ecdsa pycryptodome ];

  meta = with stdenv.lib; {
    homepage = https://github.com/mpdavis/python-jose;
    description = "A JOSE implementation in Python";
    license = licenses.mit;
    maintainers = [ maintainers.jhhuh ];
  };
}

Revert "python.pkgs.python-jose: 2.0.2 -> 3.0.0"
Revert "python.pkgs.python-jose: 2.0.2 -> 3.0.0"

This breaks moto.

This reverts commit a6d3577d3d9a5aee20a88eb92de8dee266354269.
