<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/pyjwt.git/jwt, branch prep-release</title>
<subtitle>github.com: progrium/pyjwt.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/pyjwt.git/'/>
<entry>
<title>Bump up version to 2.0.0</title>
<updated>2020-12-21T19:26:24+00:00</updated>
<author>
<name>José Padilla</name>
<email>jpadilla@webapplicate.com</email>
</author>
<published>2020-12-21T19:26:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/pyjwt.git/commit/?id=8d3099e3733c2eb897e306cb623daecc4d8ec4e7'/>
<id>8d3099e3733c2eb897e306cb623daecc4d8ec4e7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use generator expressions (#569)</title>
<updated>2020-12-21T16:40:57+00:00</updated>
<author>
<name>Jon Dufresne</name>
<email>jon.dufresne@gmail.com</email>
</author>
<published>2020-12-21T16:40:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/pyjwt.git/commit/?id=9a20ab3f7011e0afaf148264764fdefb8669e9a7'/>
<id>9a20ab3f7011e0afaf148264764fdefb8669e9a7</id>
<content type='text'>
Avoids building a list in memory unnecessarily. Generator expressions
are evaluated lazily.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoids building a list in memory unnecessarily. Generator expressions
are evaluated lazily.</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify black configuration to be closer to upstream defaults (#568)</title>
<updated>2020-12-21T16:30:48+00:00</updated>
<author>
<name>Jon Dufresne</name>
<email>jon.dufresne@gmail.com</email>
</author>
<published>2020-12-21T16:30:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/pyjwt.git/commit/?id=811ae79ceaae8ad9bbad24c30e2d3dd4d920e4df'/>
<id>811ae79ceaae8ad9bbad24c30e2d3dd4d920e4df</id>
<content type='text'>
* Simplify black configuration to be closer to upstream defaults

Avoid extra configuration by simply going with Black defaults. This
allows removing some configuration options, thus simplifying the overall
configuration.

It also makes the code style closer to community conventions. As more
projects adopt black formatting, more code will look like the black
defaults.

Further, the default 88 tends to create more readable lines, IMO. The
black rationale is located at:
https://black.readthedocs.io/en/stable/the_black_code_style.html#line-length

* Update tests/test_api_jws.py

Co-authored-by: José Padilla &lt;jpadilla@webapplicate.com&gt;

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update tests/test_api_jws.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: José Padilla &lt;jpadilla@webapplicate.com&gt;
Co-authored-by: pre-commit-ci[bot] &lt;66853113+pre-commit-ci[bot]@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Simplify black configuration to be closer to upstream defaults

Avoid extra configuration by simply going with Black defaults. This
allows removing some configuration options, thus simplifying the overall
configuration.

It also makes the code style closer to community conventions. As more
projects adopt black formatting, more code will look like the black
defaults.

Further, the default 88 tends to create more readable lines, IMO. The
black rationale is located at:
https://black.readthedocs.io/en/stable/the_black_code_style.html#line-length

* Update tests/test_api_jws.py

Co-authored-by: José Padilla &lt;jpadilla@webapplicate.com&gt;

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update tests/test_api_jws.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: José Padilla &lt;jpadilla@webapplicate.com&gt;
Co-authored-by: pre-commit-ci[bot] &lt;66853113+pre-commit-ci[bot]@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Prefer ModuleNotFoundError over ImportError (#565)</title>
<updated>2020-12-21T16:05:53+00:00</updated>
<author>
<name>Jon Dufresne</name>
<email>jon.dufresne@gmail.com</email>
</author>
<published>2020-12-21T16:05:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/pyjwt.git/commit/?id=541dd0dd8cafacc0aff9fa36cf04251c535f69eb'/>
<id>541dd0dd8cafacc0aff9fa36cf04251c535f69eb</id>
<content type='text'>
ModuleNotFoundError was introduced in Python 3. It is raised when the
module does not exist. On the other hand, ImportError is raised during
any import failure. For example, a syntax error or other runtime error.

Using ModuleNotFoundError means that errors unrelated to a missing
package will be propagated to the user. PyJWT doesn't know how to handle
these.

This also allows more functions to always be available for import</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ModuleNotFoundError was introduced in Python 3. It is raised when the
module does not exist. On the other hand, ImportError is raised during
any import failure. For example, a syntax error or other runtime error.

Using ModuleNotFoundError means that errors unrelated to a missing
package will be propagated to the user. PyJWT doesn't know how to handle
these.

This also allows more functions to always be available for import</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify from_base64url_uint() (#570)</title>
<updated>2020-12-21T15:57:45+00:00</updated>
<author>
<name>Jon Dufresne</name>
<email>jon.dufresne@gmail.com</email>
</author>
<published>2020-12-21T15:57:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/pyjwt.git/commit/?id=b0c1e60be6b3b7b555eb46d947dd859f5d0c70e2'/>
<id>b0c1e60be6b3b7b555eb46d947dd859f5d0c70e2</id>
<content type='text'>
int.from_bytes() has been available since Python 3.2. Using it avoids
string formatting.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
int.from_bytes() has been available since Python 3.2. Using it avoids
string formatting.</pre>
</div>
</content>
</entry>
<entry>
<title>Type hint jwt.utils module (#564)</title>
<updated>2020-12-20T17:26:36+00:00</updated>
<author>
<name>Jon Dufresne</name>
<email>jon.dufresne@gmail.com</email>
</author>
<published>2020-12-20T17:26:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/pyjwt.git/commit/?id=5d7bdd68aec70a8a8cc4979bda93adc3c44f945f'/>
<id>5d7bdd68aec70a8a8cc4979bda93adc3c44f945f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump up version to 2.0.0a2</title>
<updated>2020-12-20T00:02:44+00:00</updated>
<author>
<name>José Padilla</name>
<email>jpadilla@webapplicate.com</email>
</author>
<published>2020-12-20T00:02:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/pyjwt.git/commit/?id=5bf8e70f26309b0a5ceda49ce0a7e97e89eee764'/>
<id>5bf8e70f26309b0a5ceda49ce0a7e97e89eee764</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unused argument "payload" from PyJWS._verify_signature() (#562)</title>
<updated>2020-12-19T23:35:31+00:00</updated>
<author>
<name>Jon Dufresne</name>
<email>jon.dufresne@gmail.com</email>
</author>
<published>2020-12-19T23:35:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/pyjwt.git/commit/?id=8bffbb242b5c6c49350cb1b80c4e62979341cec3'/>
<id>8bffbb242b5c6c49350cb1b80c4e62979341cec3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Split PyJWT/PyJWS classes to tighten type interfaces (#559)</title>
<updated>2020-12-19T23:32:12+00:00</updated>
<author>
<name>Jon Dufresne</name>
<email>jon.dufresne@gmail.com</email>
</author>
<published>2020-12-19T23:32:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/pyjwt.git/commit/?id=94d102b2e38d09f3c5ec459a8365de8a86c51fe5'/>
<id>94d102b2e38d09f3c5ec459a8365de8a86c51fe5</id>
<content type='text'>
The class PyJWT was previously a subclass of PyJWS. However, this
combination does not follow the Liskov substitution principle. That is,
using PyJWT in place of a PyJWS would not produce correct results or
follow type contracts.

While these classes look to share a common interface it doesn't go
beyond the method names "encode" and "decode" and so is merely
superficial.

The classes have been split into two. PyJWT now uses composition instead
of inheritance to achieve the desired behavior. Splitting the classes in
this way allowed for precising the type interfaces.

The complete parameter to .decode() has been removed. This argument was
used to alter the return type of .decode(). Now, there are two different
methods with more explicit return types and values. The new method name
is .decode_complete(). This fills the previous role filled by
.decode(..., complete=True).

Closes #554, #396, #394

Co-authored-by: Sam Bull &lt;git@sambull.org&gt;

Co-authored-by: Sam Bull &lt;git@sambull.org&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The class PyJWT was previously a subclass of PyJWS. However, this
combination does not follow the Liskov substitution principle. That is,
using PyJWT in place of a PyJWS would not produce correct results or
follow type contracts.

While these classes look to share a common interface it doesn't go
beyond the method names "encode" and "decode" and so is merely
superficial.

The classes have been split into two. PyJWT now uses composition instead
of inheritance to achieve the desired behavior. Splitting the classes in
this way allowed for precising the type interfaces.

The complete parameter to .decode() has been removed. This argument was
used to alter the return type of .decode(). Now, there are two different
methods with more explicit return types and values. The new method name
is .decode_complete(). This fills the previous role filled by
.decode(..., complete=True).

Closes #554, #396, #394

Co-authored-by: Sam Bull &lt;git@sambull.org&gt;

Co-authored-by: Sam Bull &lt;git@sambull.org&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Do not mutate the input payload in PyJWT.encode() (#557)</title>
<updated>2020-12-19T14:09:13+00:00</updated>
<author>
<name>Jon Dufresne</name>
<email>jon.dufresne@gmail.com</email>
</author>
<published>2020-12-19T14:09:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/pyjwt.git/commit/?id=2e1e69d4ddfddaba35b6ee99ead1b430654ed661'/>
<id>2e1e69d4ddfddaba35b6ee99ead1b430654ed661</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
