packit/ogr

One Git library to Rule -- one API for many git forges

Python

58

1,757 commits

updated Sep 21, 2026

See the code

README

One Git library to Rule

PyPI PyPI - License PyPI - Python Version PyPI - Status Build Status black pre-commit

Library for one API for many git forges. (e.g. GitHub, GitLab, Pagure, Forgejo).

Currently supported git forges:

  • GitHub
  • GitLab
  • Pagure
  • Forgejo

To start using ogr:

See Documentation of Index of Sub-modules, Functions & Classes

For examples of how to use ogr see Jupyter examples.

GitHub

This snippet shows how to obtain all releases for certain GitHub project using ogr.

from ogr.services.github import GithubService

service = GithubService(token="your_token")

ogr_project = service.get_project(
        repo="ogr",
        namespace="packit-service"
)

ogr_releases = ogr_project.get_releases()


for release in ogr_releases:
    print(release.tag_name)

This will output:

0.7.0
0.6.0
0.5.0
0.4.0
0.3.1
0.3.0
0.2.0
0.1.0
0.0.3
0.0.2
0.0.1

You can use the same API for other forges, you just need to replace GithubService with PagureService.

Supported functionality

For more info on functionality that is not supported in all services the same way see compatibility tables.

Installation

On Fedora:

$ dnf install python3-ogr

You can also use our packit-releases Copr repository (contains also released versions of OGR):

$ dnf copr enable packit/packit-releases
$ dnf install python3-ogr

Or from PyPI:

$ pip3 install --user ogr

You can also install OGR from the main branch, if you are brave enough:

You can use our packit-dev Copr repository (contains the latest development version of ogr):

$ dnf copr enable packit/packit-dev
$ dnf install python3-ogr

Or

$ pip3 install --user git+https://github.com/packit/ogr.git

Requirements

Makefile

Tests

Make sure to install prerequisite packages before first make check, make build, or make check-in-container. See CONTRIBUTING.md for details.

Contribution notes

  • Property should not connect to network.

Contribution guidelines

For more info about contributing to our project see our contribution guide.

Deprecation policy

For more info about deprecation policy see Deprecation policy

git
github
hacktoberfest
pagure
python
python3

Contributors

(top 30 of 43)

mfocko

333 commits

lachmanfrantisek

285 commits

lbarcziova

101 commits

packit/ogr

One Git library to Rule -- one API for many git forges

Python

58

1,757 commits

updated Sep 21, 2026

See the code

README

One Git library to Rule

PyPI PyPI - License PyPI - Python Version PyPI - Status Build Status black pre-commit

Library for one API for many git forges. (e.g. GitHub, GitLab, Pagure, Forgejo).

Currently supported git forges:

  • GitHub
  • GitLab
  • Pagure
  • Forgejo

To start using ogr:

See Documentation of Index of Sub-modules, Functions & Classes

For examples of how to use ogr see Jupyter examples.

GitHub

This snippet shows how to obtain all releases for certain GitHub project using ogr.

from ogr.services.github import GithubService

service = GithubService(token="your_token")

ogr_project = service.get_project(
        repo="ogr",
        namespace="packit-service"
)

ogr_releases = ogr_project.get_releases()


for release in ogr_releases:
    print(release.tag_name)

This will output:

0.7.0
0.6.0
0.5.0
0.4.0
0.3.1
0.3.0
0.2.0
0.1.0
0.0.3
0.0.2
0.0.1

You can use the same API for other forges, you just need to replace GithubService with PagureService.

Supported functionality

For more info on functionality that is not supported in all services the same way see compatibility tables.

Installation

On Fedora:

$ dnf install python3-ogr

You can also use our packit-releases Copr repository (contains also released versions of OGR):

$ dnf copr enable packit/packit-releases
$ dnf install python3-ogr

Or from PyPI:

$ pip3 install --user ogr

You can also install OGR from the main branch, if you are brave enough:

You can use our packit-dev Copr repository (contains the latest development version of ogr):

$ dnf copr enable packit/packit-dev
$ dnf install python3-ogr

Or

$ pip3 install --user git+https://github.com/packit/ogr.git

Requirements

Makefile

Tests

Make sure to install prerequisite packages before first make check, make build, or make check-in-container. See CONTRIBUTING.md for details.

Contribution notes

  • Property should not connect to network.

Contribution guidelines

For more info about contributing to our project see our contribution guide.

Deprecation policy

For more info about deprecation policy see Deprecation policy

git
github
hacktoberfest
pagure
python
python3

Contributors

(top 30 of 43)

mfocko

333 commits

lachmanfrantisek

285 commits

lbarcziova

101 commits

Languages

Python

99.6%