@@ -345,166 +345,6 @@ user. For example:
345345
346346   p =  gl.projects.create({' name' ' awesome_project' sudo = ' user1'  
347347
348- 
349- =========================== 
350- 
351- python-gitlab relies on ``requests `` ``Session `` objects to perform all the
352- HTTP requests to the Gitlab servers.
353- 
354- You can provide your own ``Session `` object with custom configuration when
355- you create a ``Gitlab `` object.
356- 
357- Context manager
358- --------------- 
359- 
360- You can use ``Gitlab `` objects as context managers. This makes sure that the
361- ``requests.Session `` object associated with a ``Gitlab `` instance is always
362- properly closed when you exit a ``with `` block:
363- 
364- .. code-block :: python 
365- 
366-    with  gitlab.Gitlab(host, token) as  gl: 
367-        gl.projects.list() 
368- 
369- warning ::
370- 
371-    The context manager will also close the custom ``Session `` object you might
372-    have used to build the ``Gitlab `` instance.
373- 
374- Proxy configuration
375- ------------------- 
376- 
377- The following sample illustrates how to define a proxy configuration when using
378- python-gitlab:
379- 
380- .. code-block :: python 
381- 
382-    import  os 
383-    import  gitlab 
384-    import  requests 
385- 
386-    session =  requests.Session() 
387-    session.proxies =  { 
388-        ' https' ' https_proxy'  
389-        ' http' ' http_proxy'  
390-    } 
391-    gl =  gitlab.gitlab(url, token, api_version = 4 , session = session) 
392- 
393- 
394- https://requests.readthedocs.io/en/latest/user/advanced/#proxies
395- 
396- SSL certificate verification
397- ---------------------------- 
398- 
399- python-gitlab relies on the CA certificate bundle in the `certifi ` package
400- that comes with the requests library.
401- 
402- If you need python-gitlab to use your system CA store instead, you can provide
403- the path to the CA bundle in the `REQUESTS_CA_BUNDLE ` environment variable.
404- 
405- Reference:
406- https://requests.readthedocs.io/en/latest/user/advanced/#ssl-cert-verification
407- 
408- Client side certificate
409- ----------------------- 
410- 
411- The following sample illustrates how to use a client-side certificate:
412- 
413- .. code-block :: python 
414- 
415-    import  gitlab 
416-    import  requests 
417- 
418-    session =  requests.Session() 
419-    session.cert =  (' /path/to/client.cert' ' /path/to/client.key'  
420-    gl =  gitlab.gitlab(url, token, api_version = 4 , session = session) 
421- 
422- 
423- https://requests.readthedocs.io/en/latest/user/advanced/#client-side-certificates
424- 
425- Rate limits
426- ----------- 
427- 
428- python-gitlab obeys the rate limit of the GitLab server by default.  On
429- receiving a 429 response (Too Many Requests), python-gitlab sleeps for the
430- amount of time in the Retry-After header that GitLab sends back.  If GitLab
431- does not return a response with the Retry-After header, python-gitlab will
432- perform an exponential backoff.
433- 
434- If you don't want to wait, you can disable the rate-limiting feature, by
435- supplying the ``obey_rate_limit `` argument.
436- 
437- .. code-block :: python 
438- 
439-    import  gitlab 
440-    import  requests 
441- 
442-    gl =  gitlab.gitlab(url, token, api_version = 4 ) 
443-    gl.projects.list(all = True , obey_rate_limit = False ) 
444- 
445- 
446- for ``max_retries ``; by default, this is set to 10. To retry without bound when
447- throttled, you can set this parameter to -1. This parameter is ignored if
448- ``obey_rate_limit `` is set to ``False ``.
449- 
450- .. code-block :: python 
451- 
452-    import  gitlab 
453-    import  requests 
454- 
455-    gl =  gitlab.gitlab(url, token, api_version = 4 ) 
456-    gl.projects.list(all = True , max_retries = 12 ) 
457- 
458- warning ::
459- 
460-    You will get an Exception, if you then go over the rate limit of your GitLab instance.
461- 
462- Transient errors
463- ---------------- 
464- 
465- GitLab server can sometimes return a transient HTTP error.
466- python-gitlab can automatically retry in such case, when
467- ``retry_transient_errors `` argument is set to ``True ``.  When enabled,
468- HTTP error codes 500 (Internal Server Error), 502 (502 Bad Gateway),
469- 503 (Service Unavailable), and 504 (Gateway Timeout) are retried. It will retry until reaching
470- the `max_retries ` value. By default, `retry_transient_errors ` is set to `False ` and an exception
471- is raised for these errors.
472- 
473- .. code-block :: python 
474- 
475-    import  gitlab 
476-    import  requests 
477- 
478-    gl =  gitlab.gitlab(url, token, api_version = 4 ) 
479-    gl.projects.list(all = True , retry_transient_errors = True ) 
480- 
481- retry_transient_errors `` can also be set on the ``Gitlab `` object
482- and overridden by individual API calls.
483- 
484- .. code-block :: python 
485- 
486-    import  gitlab 
487-    import  requests 
488-    gl =  gitlab.gitlab(url, token, api_version = 4 , retry_transient_errors = True ) 
489-    gl.projects.list(all = True )                               #  retries due to default value 
490-    gl.projects.list(all = True , retry_transient_errors = False ) #  does not retry 
491- 
492- 
493- ------- 
494- 
495- python-gitlab will by default use the ``timeout `` option from it's configuration
496- for all requests. This is passed downwards to the ``requests `` module at the
497- time of making the HTTP request. However if you would like to override the
498- global timeout parameter for a particular call, you can provide the ``timeout ``
499- parameter to that API invocation:
500- 
501- .. code-block :: python 
502- 
503-    import  gitlab 
504- 
505-    gl =  gitlab.gitlab(url, token, api_version = 4 ) 
506-    gl.projects.import_github(ACCESS_TOKEN , 123456 , " root" timeout = 120.0 ) 
507- 
508348object_attributes :
509349
510350Attributes in updated objects
0 commit comments