<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/gitlab.git/gitlab/v4/objects/users.py, branch chore/remove-issuesstatistics</title>
<subtitle>github.com: gpocentek/python-gitlab.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/'/>
<entry>
<title>chore: convert to using type-annotations for managers</title>
<updated>2021-09-08T14:18:48+00:00</updated>
<author>
<name>John L. Villalovos</name>
<email>john@sodarock.com</email>
</author>
<published>2021-06-13T21:40:46+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=d8de4dc373dc608be6cf6ba14a2acc7efd3fa7a7'/>
<id>d8de4dc373dc608be6cf6ba14a2acc7efd3fa7a7</id>
<content type='text'>
Convert our manager usage to be done via type annotations.

Now to define a manager to be used in a RESTObject subclass can simply
do:
      class ExampleClass(CRUDMixin, RESTObject):
          my_manager: MyManager

Any type-annotation that annotates it to be of type *Manager (with the
exception of RESTManager) will cause the manager to be created on the
object.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert our manager usage to be done via type annotations.

Now to define a manager to be used in a RESTObject subclass can simply
do:
      class ExampleClass(CRUDMixin, RESTObject):
          my_manager: MyManager

Any type-annotation that annotates it to be of type *Manager (with the
exception of RESTManager) will cause the manager to be created on the
object.
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: improve type-hinting for managers</title>
<updated>2021-09-07T15:19:39+00:00</updated>
<author>
<name>John L. Villalovos</name>
<email>john@sodarock.com</email>
</author>
<published>2021-06-12T22:05:36+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=c9b5d3bac8f7c1f779dd57653f718dd0fac4db4b'/>
<id>c9b5d3bac8f7c1f779dd57653f718dd0fac4db4b</id>
<content type='text'>
The 'managers' are dynamically created. This unfortunately means that
we don't have any type-hints for them and so editors which understand
type-hints won't know that they are valid attributes.

 * Add the type-hints for the managers we define.
 * Add a unit test that makes sure that the type-hints and the
   '_managers' attribute are kept in sync with each other.
 * Add unit test that makes sure specified managers in '_managers'
   have a name ending in 'Managers' to keep with current convention.
 * Make RESTObject._managers always present with a default value of
   None.
 * Fix a type-issue revealed now that mypy knows what the type is
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The 'managers' are dynamically created. This unfortunately means that
we don't have any type-hints for them and so editors which understand
type-hints won't know that they are valid attributes.

 * Add the type-hints for the managers we define.
 * Add a unit test that makes sure that the type-hints and the
   '_managers' attribute are kept in sync with each other.
 * Add unit test that makes sure specified managers in '_managers'
   have a name ending in 'Managers' to keep with current convention.
 * Make RESTObject._managers always present with a default value of
   None.
 * Fix a type-issue revealed now that mypy knows what the type is
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: fix import ordering using isort</title>
<updated>2021-05-25T18:54:51+00:00</updated>
<author>
<name>John L. Villalovos</name>
<email>john@sodarock.com</email>
</author>
<published>2021-05-22T15:55:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=f3afd34260d681bbeec974b67012b90d407b7014'/>
<id>f3afd34260d681bbeec974b67012b90d407b7014</id>
<content type='text'>
Fix the import ordering using isort.

https://pycqa.github.io/isort/
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix the import ordering using isort.

https://pycqa.github.io/isort/
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(objects): allow lists for filters for in all objects</title>
<updated>2021-04-27T18:25:32+00:00</updated>
<author>
<name>Nejc Habjan</name>
<email>hab.nejc@gmail.com</email>
</author>
<published>2021-04-27T18:02:42+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=603a351c71196a7f516367fbf90519f9452f3c55'/>
<id>603a351c71196a7f516367fbf90519f9452f3c55</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: fix F401 errors reported by flake8</title>
<updated>2021-04-18T15:24:40+00:00</updated>
<author>
<name>John L. Villalovos</name>
<email>john@sodarock.com</email>
</author>
<published>2021-04-17T21:20:05+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=ff21eb664871904137e6df18308b6e90290ad490'/>
<id>ff21eb664871904137e6df18308b6e90290ad490</id>
<content type='text'>
F401: Module imported but unused

https://www.flake8rules.com/rules/F401.html
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
F401: Module imported but unused

https://www.flake8rules.com/rules/F401.html
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: have _create_attrs &amp; _update_attrs be a namedtuple</title>
<updated>2021-04-17T15:09:41+00:00</updated>
<author>
<name>John L. Villalovos</name>
<email>john@sodarock.com</email>
</author>
<published>2021-03-07T19:31:23+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=aee1f496c1f414c1e30909767d53ae624fe875e7'/>
<id>aee1f496c1f414c1e30909767d53ae624fe875e7</id>
<content type='text'>
Convert _create_attrs and _update_attrs to use a NamedTuple
(RequiredOptional) to help with code readability. Update all code to
use the NamedTuple.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert _create_attrs and _update_attrs to use a NamedTuple
(RequiredOptional) to help with code readability. Update all code to
use the NamedTuple.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #1333 from python-gitlab/feat/user-follow-api</title>
<updated>2021-02-28T07:48:39+00:00</updated>
<author>
<name>Nejc Habjan</name>
<email>hab.nejc@gmail.com</email>
</author>
<published>2021-02-28T07:48:39+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=5bc158d3d4a8ac0d0116fea7cfd33ad897918741'/>
<id>5bc158d3d4a8ac0d0116fea7cfd33ad897918741</id>
<content type='text'>
feat(users): add follow/unfollow API</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
feat(users): add follow/unfollow API</pre>
</div>
</content>
</entry>
<entry>
<title>feat(users): add follow/unfollow API</title>
<updated>2021-02-27T15:33:05+00:00</updated>
<author>
<name>Max Wittig</name>
<email>max.wittig@siemens.com</email>
</author>
<published>2021-02-25T20:51:13+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=e456869d98a1b7d07e6f878a0d6a9719c1b10fd4'/>
<id>e456869d98a1b7d07e6f878a0d6a9719c1b10fd4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: remove duplicate class definitions in v4/objects/users.py</title>
<updated>2021-02-26T05:30:21+00:00</updated>
<author>
<name>John L. Villalovos</name>
<email>john@sodarock.com</email>
</author>
<published>2021-02-26T05:30:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=7c4e62597365e8227b8b63ab8ba0c94cafc7abc8'/>
<id>7c4e62597365e8227b8b63ab8ba0c94cafc7abc8</id>
<content type='text'>
The classes UserStatus and UserStatusManager were each declared twice.
Remove the duplicate declarations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The classes UserStatus and UserStatusManager were each declared twice.
Remove the duplicate declarations.
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: remove usage of 'from ... import *'</title>
<updated>2021-02-24T00:33:03+00:00</updated>
<author>
<name>John L. Villalovos</name>
<email>debian.org@sodarock.com</email>
</author>
<published>2021-02-23T00:19:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitlab.git/commit/?id=c83eaf4f395300471311a67be34d8d306c2b3861'/>
<id>c83eaf4f395300471311a67be34d8d306c2b3861</id>
<content type='text'>
In gitlab/v4/objects/*.py remove usage of:
  * from gitlab.base import *
  * from gitlab.mixins import *

Change them to:
  * from gitlab.base import CLASS_NAME
  * from gitlab.mixins import CLASS_NAME

Programmatically update code to explicitly import needed classes only.

After the change the output of:
  $ flake8 gitlab/v4/objects/*py | grep 'REST\|Mixin'

Is empty. Before many messages about unable to determine if it was a
valid name.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In gitlab/v4/objects/*.py remove usage of:
  * from gitlab.base import *
  * from gitlab.mixins import *

Change them to:
  * from gitlab.base import CLASS_NAME
  * from gitlab.mixins import CLASS_NAME

Programmatically update code to explicitly import needed classes only.

After the change the output of:
  $ flake8 gitlab/v4/objects/*py | grep 'REST\|Mixin'

Is empty. Before many messages about unable to determine if it was a
valid name.
</pre>
</div>
</content>
</entry>
</feed>
