title: How to use functools.wraps and set one argument
body: <p>I tried to research this question but couldn't find an answer -- sorry if I missed it. Basically, I have the following question. I have a function:</p>
  <pre class="lang-py prettyprint-override"><code>def f(a, b, c, d, e):
      ...
  </code></pre>
  <p>I also have a second function which calls <code>f</code> but infers some arguments from <code>a</code>:</p>
  <pre class="lang-py prettyprint-override"><code>def g(a, **kwargs):
      b = deduce(a)
      return f(a, b, **kwargs)
  </code></pre>
  <p>Now it would be great to copy over the <code>kwargs</code> from <code>f</code> with <code>functools.wraps</code>. But I can't use it directly, because the signature of <code>f</code> does not match that of <code>g</code>: the argument <code>b</code> is fixed in <code>g</code>. I would love a way to make it clear that <code>g</code> is the function <code>f</code>, but with <code>b</code> deduced.</p>
  <p>I hope the problem is clear; I'm curious to hear your thoughts!</p>