docs: def sign_digest_deterministic(self, digest, hashfunc=None, sigencode=sigencode_string):
          """
          Calculates 'k' from data itself, removing the need for strong
          random generator and producing deterministic (reproducible) signatures.
          See RFC 6979 for more details.
          """
          secexp = self.privkey.secret_multiplier
          k = rfc6979.generate_k(
              self.curve.generator.order(), secexp, hashfunc, digest)
  
          return self.sign_digest(digest, sigencode=sigencode, k=k)