Skip to content
forked from packit/ogr

OneGitRule -- one API for many git forges

License

Notifications You must be signed in to change notification settings

lachmanfrantisek/ogr

 
 

Repository files navigation

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).

Currently supported git forges:

  • GitHub
  • GitLab
  • Pagure

Usage

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 master branch, if you are brave enough:

You can use our packit-master Copr repository (contains master version of ogr):

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

Or

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

Requirements

Makefile

Tests

Run make prepare-check before first make check.

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

About

OneGitRule -- one API for many git forges

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.5%
  • Other 0.5%