Metadata-Version: 2.1
Name: backup-github-org
Version: 1.0.4
Summary: 
Author: Karina5005
Author-email: karinaanisimova23062001@gmail.com
Requires-Python: >=3.8.1,<4.0.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: prometheus_client (>=0.16.0,<0.17.0)
Requires-Dist: requests (>=2.28.2,<3.0.0)
Description-Content-Type: text/markdown

# GitHub-Backup

## Project description

Application for backing up information about a GitHub organization

## Installation

You can clone this repository and set up the environment directly from the command line using the following command:

```bash
git clone git@github.com:cloud-labs-infra/github-backup.git
cd github-backup
poetry install
```

## Testing

You can run the tests using the following command:

```bash
poetry run pytest --cov=./ --cov-report=xml
```

This command runs all unit tests and calculates coverage

## Usage

CLI Usage is as follows:

    poetry run backup-github [-h] [-t TOKEN] [-o OUTPUT_DIR] [-r REPOSITORY [REPOSITORY ...]] [-i] [-p] [-m]
                                               [--all]
                                               ORGANIZATION_NAME

    Backup a GitHub organization
    
    positional arguments:
      ORGANIZATION_NAME                     github organization name
    
    options:
      -h, --help                            show this help message and exit
      -t TOKEN, --token TOKEN
                                            personal token
      -o OUTPUT_DIR, --output-directory OUTPUT_DIR
                                            directory for backup
      -r REPOSITORY [REPOSITORY ...], --repository REPOSITORY [REPOSITORY ...]
                                            name of repositories to limit backup
      -i, --issues                          run backup of issues
      -p, --pulls                           run backup of pulls
      -m, --members                         run backup of members
      --all                                 run backup of all data


## Backup structure

    .
    └── organization
        ├── members
        │ └── login1
        │     ├── member.json
        │     └── membership.json
        └── repos
            └── repo1
                ├── content
                │ └── repo1.git
                ├── issues
                │ └── 1
                │     ├── assignee.json
                │     ├── comments
                │     ├── issue.json
                │     └── user.json
                ├── pulls
                │ └── 2
                │     ├── assignee.json
                │     ├── base.json
                │     ├── comments
                │     │ └── 1
                │     │     ├── comment.json
                │     │     └── user.json
                │     ├── head.json
                │     ├── pull.json
                │     ├── reviews
                │     │ ├── 1
                │     │ │   ├── review.json
                │     │ │   └── user.json
                │     │ └── 2
                │     │     ├── comments
                │     │     │ └── 1
                │     │     │     ├── comment.json
                │     │     │     └── user.json
                │     │     ├── review.json
                │     │     └── user.json
                │     └── user.json
                └── repo.json

## Project status

The project is currently in a development state
