rt

Python interface to Request Tracker API

https://github.com/python-rt/python-rt

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    3 of 27 committers (11.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary

Keywords from Contributors

bioinformatics genomics workflow-engine
Last synced: 10 months ago · JSON representation

Repository

Python interface to Request Tracker API

Basic Info
Statistics
  • Stars: 65
  • Watchers: 8
  • Forks: 43
  • Open Issues: 7
  • Releases: 29
Created over 9 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog License Authors

README.rst

.. image:: https://codebeat.co/badges/a52cfe15-b824-435b-a594-4bf2be2fb06f
    :target: https://codebeat.co/projects/github-com-python-rt-python-rt-master
    :alt: codebeat badge
.. image:: https://github.com/python-rt/python-rt/actions/workflows/test_lint.yml/badge.svg
    :target: https://github.com/python-rt/python-rt/actions/workflows/test_lint.yml
    :alt: tests
.. image:: https://readthedocs.org/projects/python-rt/badge/?version=stable
    :target: https://python-rt.readthedocs.io/en/stable/?badge=stable
    :alt: Documentation Status
.. image:: https://badge.fury.io/py/rt.svg
    :target: https://badge.fury.io/py/rt

==============================================
 Rt - Python interface to Request Tracker API 
==============================================

Python implementation of REST API described here:
 - https://rt-wiki.bestpractical.com/wiki/REST
 - https://docs.bestpractical.com/rt/5.0.2/RT/REST2.html

.. csv-table:: Python version compatibility:
   :header: "Python", "rt"
   :widths: 15, 15

   "2.7", "< 2.0.0"
   ">= 3.5, <3.7", ">= 2.0.0, < 3.0.0"
   ">= 3.7", ">= 3.0.0, < 3.1.0"
   ">= 3.8", ">= 3.0.0, < 3.3.0"
   ">= 3.9", ">= 3.3.0"

ℹ️ **Note**:
    Please note that starting with the release of v3.3.0, this library requires Python version >= 3.9.
    See the *Python version compatibility* table above for more detailed information.

⚡ **Note**:
    As of version 3.1.0, this library is async compatible.
    Usage::

      import rt.rest2
      import httpx

      tracker = rt.rest2.AsyncRt('http://localhost/rt/REST/2.0/', http_auth=httpx.BasicAuth('root', 'password'))

⚠️ **Warning**:
    Though version 3.x still supports RT REST API version 1, it contains minor breaking changes. Please see the changelog
    in the documentation for details.

Documentation
=============
https://python-rt.readthedocs.io/en/latest/

Installation
============

Install the python-rt package using::

  pip install rt


Licence
=======

This module is distributed under the terms of GNU General Public Licence v3
and was developed by CZ.NIC Labs - research and development department of
CZ.NIC association - top level domain registry for .CZ.  Copy of the GNU
General Public License is distributed along with this module.

Usage
=====

An example is worth a thousand words::

    >>> import rt.rest2
    >>> import httpx
    >>> tracker = rt.rest2.Rt('http://localhost/rt/REST/2.0/', http_auth=httpx.BasicAuth('root', 'password'))
    >>> map(lambda x: x['id'], tracker.search(Queue='helpdesk', Status='open'))
    ['1', '2', '10', '15']
    >>> tracker.create_ticket(queue='helpdesk', \
    ... subject='Coffee (important)', content='Help I Ran Out of Coffee!')
    19
    >>> tracker.edit_ticket(19, Requestor='addicted@example.com')
    True
    >>> tracker.reply(19, content='Do you know Starbucks?')
    True

Get the last important updates from a specific queue that have been updated recently::

    >>> import datetime
    >>> import base64
    >>> import rt.rest2
    >>> import httpx
    >>> tracker = rt.rest2.Rt('http://localhost/rt/REST/2.0/', http_auth=httpx.BasicAuth('root', 'password'))
    >>> fifteen_minutes_ago = str(datetime.datetime.now() - datetime.timedelta(minutes=15))
    >>> tickets = tracker.last_updated(since=fifteen_minutes_ago)
    >>> for ticket in tickets:
    >>>     id = ticket['id']
    >>>     history = tracker.get_ticket_history(id)
    >>>     last_update = list(reversed([h for h in history if h['Type'] in ('Correspond', 'Comment')]))
    >>>     hid = tracker.get_transaction(last_update[0]['id'] if last_update else history[0]['id'])
    >>>
    >>>     attachment_id = None
    >>>     for k in hid['_hyperlinks']:
    >>>         if k['ref'] == 'attachment':
    >>>             attachment_id = k['_url'].rsplit('/', 1)[1]
    >>>             break
    >>>
    >>>         if attachment_id is not None:
    >>>             attachment = c.get_attachment(attachment_id)
    >>>             if attachment['Content'] is not None:
    >>>                 content = base64.b64decode(attachment['Content']).decode()
    >>>                 print(content)


		
Please use docstrings to see how to use different functions. They are written
in ReStructuredText. You can also generate HTML documentation by running
``make html`` in doc directory (Sphinx required).

Official Site
=============

Project site, issue tracking and git repository:
    https://github.com/python-rt/python-rt

Owner

  • Name: python-rt
  • Login: python-rt
  • Kind: organization

GitHub Events

Total
  • Create event: 7
  • Commit comment event: 2
  • Release event: 3
  • Issues event: 13
  • Watch event: 4
  • Issue comment event: 17
  • Push event: 12
  • Pull request event: 7
  • Fork event: 5
Last Year
  • Create event: 7
  • Commit comment event: 2
  • Release event: 3
  • Issues event: 13
  • Watch event: 4
  • Issue comment event: 17
  • Push event: 12
  • Pull request event: 7
  • Fork event: 5

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 222
  • Total Committers: 27
  • Avg Commits per committer: 8.222
  • Development Distribution Score (DDS): 0.667
Past Year
  • Commits: 14
  • Committers: 5
  • Avg Commits per committer: 2.8
  • Development Distribution Score (DDS): 0.286
Top Committers
Name Email Commits
Georges Toth g****h@g****u 74
Jiri Machalek j****k@n****z 47
Sebastian Wagner w****r@c****t 15
Georges Toth g****s@t****g 14
Stewart Perrygrove s****e@g****m 12
Vinzenz Sinapius v****s@g****m 11
Edvard Rejthar g****b@e****z 10
Raphaël Vinot r****l@v****o 7
Brett Smith b****h@b****g 7
Edvard Rejthar e****r@n****z 3
Joshua C. Randall j****l@a****u 2
Leonardo Taccari i****t@g****m 2
WL Yeow w****w@g****m 2
Kimmo Linnavuo k****o@t****i 2
Pavol Otto p****o@n****z 2
Chenapan r****e@g****m 1
Edvard Rejthar – testing login g****z@e****z 1
Petter Reinholdtsen p****e@h****m 1
Ben Fulton b****n@i****u 1
Dan Michael O. Heggø d****o@g****m 1
Wari Wahab w****b@g****m 1
Sebastian Wagner s****x@s****t 1
Jake Rosenberg j****g@t****u 1
Kimmo Linnavuo k****o@l****i 1
alexisthethe a****e@g****m 1
Ángel González a****z@i****s 1
Edward Betts e****d@4****m 1

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 51
  • Total pull requests: 58
  • Average time to close issues: 8 months
  • Average time to close pull requests: 21 days
  • Total issue authors: 31
  • Total pull request authors: 25
  • Average comments per issue: 3.02
  • Average comments per pull request: 2.07
  • Merged pull requests: 49
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 7
  • Pull requests: 6
  • Average time to close issues: about 8 hours
  • Average time to close pull requests: 4 days
  • Issue authors: 6
  • Pull request authors: 6
  • Average comments per issue: 1.57
  • Average comments per pull request: 2.17
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ghost (6)
  • e3rd (5)
  • petterreinholdtsen (4)
  • Sxderp (2)
  • Itay4 (2)
  • INCIBE-CERT (2)
  • kraigu (2)
  • shanrahul (2)
  • vnznznz (2)
  • jose-caballero (2)
  • danmichaelo (2)
  • akoudad14 (1)
  • elacour (1)
  • awermuth (1)
  • ap113 (1)
Pull Request Authors
  • sim0nx (19)
  • ghost (8)
  • vnznznz (4)
  • kimmoal (3)
  • brettcs (3)
  • wlyeow (2)
  • Goggin (2)
  • nerdfirefighter (2)
  • iamleot (2)
  • martijnvanderkamp (2)
  • jerash (1)
  • lelutin (1)
  • StevenReitsma (1)
  • alexisthethe (1)
  • wari (1)
Top Labels
Issue Labels
help wanted (8) bug (5) enhancement (5) question (1)
Pull Request Labels
enhancement (3) bug (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 9,977 last-month
  • Total docker downloads: 32,197
  • Total dependent packages: 1
  • Total dependent repositories: 27
  • Total versions: 43
  • Total maintainers: 5
pypi.org: rt

Python interface to Request Tracker API

  • Versions: 43
  • Dependent Packages: 1
  • Dependent Repositories: 27
  • Downloads: 9,977 Last month
  • Docker Downloads: 32,197
Rankings
Dependent repos count: 2.8%
Docker downloads count: 3.8%
Downloads: 4.4%
Average: 6.1%
Forks count: 6.7%
Stargazers count: 9.0%
Dependent packages count: 10.0%
Last synced: 10 months ago

Dependencies

.github/workflows/codeql-analysis.yml actions
  • actions/checkout v2 composite
  • github/codeql-action/analyze v1 composite
  • github/codeql-action/autobuild v1 composite
  • github/codeql-action/init v1 composite
.github/workflows/pythonpublish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
.github/workflows/test_lint.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-python v3 composite
  • actions/upload-artifact v3 composite
  • codecov/codecov-action v2 composite
  • netsandbox/request-tracker 5.0 docker
pyproject.toml pypi
  • requests *
  • requests_toolbelt *
  • typing-extensions python_version < "3.8"
setup.py pypi