|
3 | 3 | from collections.abc import Iterable, Iterator
|
4 | 4 | from dataclasses import InitVar, dataclass, field
|
5 | 5 | from datetime import datetime, timedelta, timezone
|
| 6 | +import importlib.metadata |
6 | 7 | import logging
|
7 | 8 | import os
|
8 | 9 | from pathlib import Path
|
| 10 | +import platform |
9 | 11 | from random import sample
|
10 | 12 | import re
|
11 | 13 | from statistics import quantiles
|
|
19 | 21 | from github.Repository import Repository
|
20 | 22 | from pydantic import BaseModel, Field, StrictBool, StringConstraints
|
21 | 23 | from ruamel.yaml import YAML
|
22 |
| -from . import __version__ |
| 24 | +from . import __url__, __version__ |
23 | 25 |
|
24 | 26 | log = logging.getLogger("solidation")
|
25 | 27 |
|
| 28 | +USER_AGENT = "solidation/{} ({}) PyGithub/{} {}/{}".format( |
| 29 | + __version__, |
| 30 | + __url__, |
| 31 | + importlib.metadata.version("pygithub"), |
| 32 | + platform.python_implementation(), |
| 33 | + platform.python_version(), |
| 34 | +) |
| 35 | + |
| 36 | + |
26 | 37 | GHUser = Annotated[str, StringConstraints(pattern=r"^[-_A-Za-z0-9]+$")]
|
27 | 38 | GHRepo = Annotated[str, StringConstraints(pattern=r"^[-_A-Za-z0-9]+/[-_.A-Za-z0-9]+$")]
|
28 | 39 |
|
@@ -76,7 +87,7 @@ class Consolidator:
|
76 | 87 | since: datetime = field(init=False)
|
77 | 88 |
|
78 | 89 | def __post_init__(self, token: str) -> None:
|
79 |
| - self.gh = Github(auth=Auth.Token(token)) |
| 90 | + self.gh = Github(auth=Auth.Token(token), user_agent=USER_AGENT) |
80 | 91 | self.since = datetime.now(timezone.utc) - timedelta(
|
81 | 92 | days=self.config.recent_days
|
82 | 93 | )
|
|
0 commit comments