github-backup 0.46.0__tar.gz → 0.48.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {github_backup-0.46.0 → github_backup-0.48.0}/CHANGES.rst +307 -1
- {github_backup-0.46.0/github_backup.egg-info → github_backup-0.48.0}/PKG-INFO +3 -9
- {github_backup-0.46.0 → github_backup-0.48.0}/README +2 -8
- {github_backup-0.46.0 → github_backup-0.48.0}/README.rst +2 -8
- github_backup-0.48.0/github_backup/__init__.py +1 -0
- {github_backup-0.46.0 → github_backup-0.48.0}/github_backup/github_backup.py +47 -17
- {github_backup-0.46.0 → github_backup-0.48.0/github_backup.egg-info}/PKG-INFO +3 -9
- github_backup-0.48.0/release-requirements.txt +39 -0
- github_backup-0.46.0/github_backup/__init__.py +0 -1
- github_backup-0.46.0/release-requirements.txt +0 -39
- {github_backup-0.46.0 → github_backup-0.48.0}/LICENSE.txt +0 -0
- {github_backup-0.46.0 → github_backup-0.48.0}/MANIFEST.in +0 -0
- {github_backup-0.46.0 → github_backup-0.48.0}/bin/github-backup +0 -0
- {github_backup-0.46.0 → github_backup-0.48.0}/github_backup.egg-info/SOURCES.txt +0 -0
- {github_backup-0.46.0 → github_backup-0.48.0}/github_backup.egg-info/dependency_links.txt +0 -0
- {github_backup-0.46.0 → github_backup-0.48.0}/github_backup.egg-info/top_level.txt +0 -0
- {github_backup-0.46.0 → github_backup-0.48.0}/github_backup.egg-info/zip-safe +0 -0
- {github_backup-0.46.0 → github_backup-0.48.0}/requirements.txt +0 -0
- {github_backup-0.46.0 → github_backup-0.48.0}/setup.cfg +0 -0
- {github_backup-0.46.0 → github_backup-0.48.0}/setup.py +0 -0
|
@@ -1,9 +1,315 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
0.
|
|
4
|
+
0.48.0 (2025-01-04)
|
|
5
5
|
-------------------
|
|
6
6
|
------------------------
|
|
7
|
+
- Chore: reformat file to fix lint issues. [Jose Diaz-Gonzalez]
|
|
8
|
+
- Chore(deps): bump the python-packages group across 1 directory with 4
|
|
9
|
+
updates. [dependabot[bot]]
|
|
10
|
+
|
|
11
|
+
Bumps the python-packages group with 4 updates in the / directory: [charset-normalizer](https://github.com/jawah/charset_normalizer), [click](https://github.com/pallets/click), [keyring](https://github.com/jaraco/keyring) and [urllib3](https://github.com/urllib3/urllib3).
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
Updates `charset-normalizer` from 3.4.0 to 3.4.1
|
|
15
|
+
- [Release notes](https://github.com/jawah/charset_normalizer/releases)
|
|
16
|
+
- [Changelog](https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md)
|
|
17
|
+
- [Commits](https://github.com/jawah/charset_normalizer/compare/3.4.0...3.4.1)
|
|
18
|
+
|
|
19
|
+
Updates `click` from 8.1.7 to 8.1.8
|
|
20
|
+
- [Release notes](https://github.com/pallets/click/releases)
|
|
21
|
+
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
|
|
22
|
+
- [Commits](https://github.com/pallets/click/compare/8.1.7...8.1.8)
|
|
23
|
+
|
|
24
|
+
Updates `keyring` from 25.5.0 to 25.6.0
|
|
25
|
+
- [Release notes](https://github.com/jaraco/keyring/releases)
|
|
26
|
+
- [Changelog](https://github.com/jaraco/keyring/blob/main/NEWS.rst)
|
|
27
|
+
- [Commits](https://github.com/jaraco/keyring/compare/v25.5.0...v25.6.0)
|
|
28
|
+
|
|
29
|
+
Updates `urllib3` from 2.2.3 to 2.3.0
|
|
30
|
+
- [Release notes](https://github.com/urllib3/urllib3/releases)
|
|
31
|
+
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
|
|
32
|
+
- [Commits](https://github.com/urllib3/urllib3/compare/2.2.3...2.3.0)
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
updated-dependencies:
|
|
36
|
+
- dependency-name: charset-normalizer
|
|
37
|
+
dependency-type: direct:production
|
|
38
|
+
update-type: version-update:semver-patch
|
|
39
|
+
dependency-group: python-packages
|
|
40
|
+
- dependency-name: click
|
|
41
|
+
dependency-type: direct:production
|
|
42
|
+
update-type: version-update:semver-patch
|
|
43
|
+
dependency-group: python-packages
|
|
44
|
+
- dependency-name: keyring
|
|
45
|
+
dependency-type: direct:production
|
|
46
|
+
update-type: version-update:semver-minor
|
|
47
|
+
dependency-group: python-packages
|
|
48
|
+
- dependency-name: urllib3
|
|
49
|
+
dependency-type: direct:production
|
|
50
|
+
update-type: version-update:semver-minor
|
|
51
|
+
dependency-group: python-packages
|
|
52
|
+
...
|
|
53
|
+
- Fix typo README.rst: --starred-gists that should be --gists. [Michael
|
|
54
|
+
D. Adams]
|
|
55
|
+
- Remove fixed release issue from known blocking errors. [Ethan White]
|
|
56
|
+
|
|
57
|
+
The issue with --release producing errors documented in #209 (the linked issue) and #234 appears to have been fixed in #257.
|
|
58
|
+
|
|
59
|
+
This change removes the associated warning from the README.
|
|
60
|
+
- Chore(deps): bump certifi in the python-packages group.
|
|
61
|
+
[dependabot[bot]]
|
|
62
|
+
|
|
63
|
+
Bumps the python-packages group with 1 update: [certifi](https://github.com/certifi/python-certifi).
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
Updates `certifi` from 2024.8.30 to 2024.12.14
|
|
67
|
+
- [Commits](https://github.com/certifi/python-certifi/compare/2024.08.30...2024.12.14)
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
updated-dependencies:
|
|
71
|
+
- dependency-name: certifi
|
|
72
|
+
dependency-type: direct:production
|
|
73
|
+
update-type: version-update:semver-minor
|
|
74
|
+
dependency-group: python-packages
|
|
75
|
+
...
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
0.47.0 (2024-12-09)
|
|
79
|
+
-------------------
|
|
80
|
+
- Detect empty HTTPS contexts. [John Doe]
|
|
81
|
+
|
|
82
|
+
Some users are relying solely on the certifi package to provide their CA certs, as requests does this by default.
|
|
83
|
+
|
|
84
|
+
This patch detects this situation and emits a clear warning as well as importing certifi to work around the situation..
|
|
85
|
+
|
|
86
|
+
Fixes #162 .
|
|
87
|
+
- Chore(deps): bump six from 1.16.0 to 1.17.0 in the python-packages
|
|
88
|
+
group. [dependabot[bot]]
|
|
89
|
+
|
|
90
|
+
Bumps the python-packages group with 1 update: [six](https://github.com/benjaminp/six).
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
Updates `six` from 1.16.0 to 1.17.0
|
|
94
|
+
- [Changelog](https://github.com/benjaminp/six/blob/main/CHANGES)
|
|
95
|
+
- [Commits](https://github.com/benjaminp/six/compare/1.16.0...1.17.0)
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
updated-dependencies:
|
|
99
|
+
- dependency-name: six
|
|
100
|
+
dependency-type: direct:production
|
|
101
|
+
update-type: version-update:semver-minor
|
|
102
|
+
dependency-group: python-packages
|
|
103
|
+
...
|
|
104
|
+
- Chore(deps): bump the python-packages group across 1 directory with 20
|
|
105
|
+
updates. [dependabot[bot]]
|
|
106
|
+
|
|
107
|
+
Bumps the python-packages group with 20 updates in the / directory:
|
|
108
|
+
|
|
109
|
+
| Package | From | To |
|
|
110
|
+
| --- | --- | --- |
|
|
111
|
+
| [black](https://github.com/psf/black) | `24.4.2` | `24.10.0` |
|
|
112
|
+
| [bleach](https://github.com/mozilla/bleach) | `6.1.0` | `6.2.0` |
|
|
113
|
+
| [certifi](https://github.com/certifi/python-certifi) | `2024.7.4` | `2024.8.30` |
|
|
114
|
+
| [charset-normalizer](https://github.com/Ousret/charset_normalizer) | `3.3.2` | `3.4.0` |
|
|
115
|
+
| [flake8](https://github.com/pycqa/flake8) | `7.1.0` | `7.1.1` |
|
|
116
|
+
| [idna](https://github.com/kjd/idna) | `3.7` | `3.10` |
|
|
117
|
+
| [importlib-metadata](https://github.com/python/importlib_metadata) | `7.2.1` | `8.5.0` |
|
|
118
|
+
| [keyring](https://github.com/jaraco/keyring) | `25.2.1` | `25.5.0` |
|
|
119
|
+
| [more-itertools](https://github.com/more-itertools/more-itertools) | `10.3.0` | `10.5.0` |
|
|
120
|
+
| [packaging](https://github.com/pypa/packaging) | `24.1` | `24.2` |
|
|
121
|
+
| [pkginfo](https://code.launchpad.net/~tseaver/pkginfo/trunk) | `1.11.1` | `1.12.0` |
|
|
122
|
+
| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.2.2` | `4.3.6` |
|
|
123
|
+
| [pycodestyle](https://github.com/PyCQA/pycodestyle) | `2.12.0` | `2.12.1` |
|
|
124
|
+
| [readme-renderer](https://github.com/pypa/readme_renderer) | `43.0` | `44.0` |
|
|
125
|
+
| [rich](https://github.com/Textualize/rich) | `13.7.1` | `13.9.4` |
|
|
126
|
+
| [setuptools](https://github.com/pypa/setuptools) | `70.1.1` | `75.6.0` |
|
|
127
|
+
| [tqdm](https://github.com/tqdm/tqdm) | `4.66.4` | `4.67.1` |
|
|
128
|
+
| [twine](https://github.com/pypa/twine) | `5.1.0` | `6.0.1` |
|
|
129
|
+
| [urllib3](https://github.com/urllib3/urllib3) | `2.2.2` | `2.2.3` |
|
|
130
|
+
| [zipp](https://github.com/jaraco/zipp) | `3.19.2` | `3.21.0` |
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
Updates `black` from 24.4.2 to 24.10.0
|
|
135
|
+
- [Release notes](https://github.com/psf/black/releases)
|
|
136
|
+
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
|
|
137
|
+
- [Commits](https://github.com/psf/black/compare/24.4.2...24.10.0)
|
|
138
|
+
|
|
139
|
+
Updates `bleach` from 6.1.0 to 6.2.0
|
|
140
|
+
- [Changelog](https://github.com/mozilla/bleach/blob/main/CHANGES)
|
|
141
|
+
- [Commits](https://github.com/mozilla/bleach/compare/v6.1.0...v6.2.0)
|
|
142
|
+
|
|
143
|
+
Updates `certifi` from 2024.7.4 to 2024.8.30
|
|
144
|
+
- [Commits](https://github.com/certifi/python-certifi/compare/2024.07.04...2024.08.30)
|
|
145
|
+
|
|
146
|
+
Updates `charset-normalizer` from 3.3.2 to 3.4.0
|
|
147
|
+
- [Release notes](https://github.com/Ousret/charset_normalizer/releases)
|
|
148
|
+
- [Changelog](https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md)
|
|
149
|
+
- [Commits](https://github.com/Ousret/charset_normalizer/compare/3.3.2...3.4.0)
|
|
150
|
+
|
|
151
|
+
Updates `flake8` from 7.1.0 to 7.1.1
|
|
152
|
+
- [Commits](https://github.com/pycqa/flake8/compare/7.1.0...7.1.1)
|
|
153
|
+
|
|
154
|
+
Updates `idna` from 3.7 to 3.10
|
|
155
|
+
- [Release notes](https://github.com/kjd/idna/releases)
|
|
156
|
+
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
|
|
157
|
+
- [Commits](https://github.com/kjd/idna/compare/v3.7...v3.10)
|
|
158
|
+
|
|
159
|
+
Updates `importlib-metadata` from 7.2.1 to 8.5.0
|
|
160
|
+
- [Release notes](https://github.com/python/importlib_metadata/releases)
|
|
161
|
+
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
|
|
162
|
+
- [Commits](https://github.com/python/importlib_metadata/compare/v7.2.1...v8.5.0)
|
|
163
|
+
|
|
164
|
+
Updates `keyring` from 25.2.1 to 25.5.0
|
|
165
|
+
- [Release notes](https://github.com/jaraco/keyring/releases)
|
|
166
|
+
- [Changelog](https://github.com/jaraco/keyring/blob/main/NEWS.rst)
|
|
167
|
+
- [Commits](https://github.com/jaraco/keyring/compare/v25.2.1...v25.5.0)
|
|
168
|
+
|
|
169
|
+
Updates `more-itertools` from 10.3.0 to 10.5.0
|
|
170
|
+
- [Release notes](https://github.com/more-itertools/more-itertools/releases)
|
|
171
|
+
- [Commits](https://github.com/more-itertools/more-itertools/compare/v10.3.0...v10.5.0)
|
|
172
|
+
|
|
173
|
+
Updates `packaging` from 24.1 to 24.2
|
|
174
|
+
- [Release notes](https://github.com/pypa/packaging/releases)
|
|
175
|
+
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
|
|
176
|
+
- [Commits](https://github.com/pypa/packaging/compare/24.1...24.2)
|
|
177
|
+
|
|
178
|
+
Updates `pkginfo` from 1.11.1 to 1.12.0
|
|
179
|
+
|
|
180
|
+
Updates `platformdirs` from 4.2.2 to 4.3.6
|
|
181
|
+
- [Release notes](https://github.com/tox-dev/platformdirs/releases)
|
|
182
|
+
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/CHANGES.rst)
|
|
183
|
+
- [Commits](https://github.com/tox-dev/platformdirs/compare/4.2.2...4.3.6)
|
|
184
|
+
|
|
185
|
+
Updates `pycodestyle` from 2.12.0 to 2.12.1
|
|
186
|
+
- [Release notes](https://github.com/PyCQA/pycodestyle/releases)
|
|
187
|
+
- [Changelog](https://github.com/PyCQA/pycodestyle/blob/main/CHANGES.txt)
|
|
188
|
+
- [Commits](https://github.com/PyCQA/pycodestyle/compare/2.12.0...2.12.1)
|
|
189
|
+
|
|
190
|
+
Updates `readme-renderer` from 43.0 to 44.0
|
|
191
|
+
- [Release notes](https://github.com/pypa/readme_renderer/releases)
|
|
192
|
+
- [Changelog](https://github.com/pypa/readme_renderer/blob/main/CHANGES.rst)
|
|
193
|
+
- [Commits](https://github.com/pypa/readme_renderer/compare/43.0...44.0)
|
|
194
|
+
|
|
195
|
+
Updates `rich` from 13.7.1 to 13.9.4
|
|
196
|
+
- [Release notes](https://github.com/Textualize/rich/releases)
|
|
197
|
+
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md)
|
|
198
|
+
- [Commits](https://github.com/Textualize/rich/compare/v13.7.1...v13.9.4)
|
|
199
|
+
|
|
200
|
+
Updates `setuptools` from 70.1.1 to 75.6.0
|
|
201
|
+
- [Release notes](https://github.com/pypa/setuptools/releases)
|
|
202
|
+
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
|
|
203
|
+
- [Commits](https://github.com/pypa/setuptools/compare/v70.1.1...v75.6.0)
|
|
204
|
+
|
|
205
|
+
Updates `tqdm` from 4.66.4 to 4.67.1
|
|
206
|
+
- [Release notes](https://github.com/tqdm/tqdm/releases)
|
|
207
|
+
- [Commits](https://github.com/tqdm/tqdm/compare/v4.66.4...v4.67.1)
|
|
208
|
+
|
|
209
|
+
Updates `twine` from 5.1.0 to 6.0.1
|
|
210
|
+
- [Release notes](https://github.com/pypa/twine/releases)
|
|
211
|
+
- [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst)
|
|
212
|
+
- [Commits](https://github.com/pypa/twine/compare/5.1.0...6.0.1)
|
|
213
|
+
|
|
214
|
+
Updates `urllib3` from 2.2.2 to 2.2.3
|
|
215
|
+
- [Release notes](https://github.com/urllib3/urllib3/releases)
|
|
216
|
+
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
|
|
217
|
+
- [Commits](https://github.com/urllib3/urllib3/compare/2.2.2...2.2.3)
|
|
218
|
+
|
|
219
|
+
Updates `zipp` from 3.19.2 to 3.21.0
|
|
220
|
+
- [Release notes](https://github.com/jaraco/zipp/releases)
|
|
221
|
+
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
|
|
222
|
+
- [Commits](https://github.com/jaraco/zipp/compare/v3.19.2...v3.21.0)
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
updated-dependencies:
|
|
226
|
+
- dependency-name: black
|
|
227
|
+
dependency-type: direct:production
|
|
228
|
+
update-type: version-update:semver-minor
|
|
229
|
+
dependency-group: python-packages
|
|
230
|
+
- dependency-name: bleach
|
|
231
|
+
dependency-type: direct:production
|
|
232
|
+
update-type: version-update:semver-minor
|
|
233
|
+
dependency-group: python-packages
|
|
234
|
+
- dependency-name: certifi
|
|
235
|
+
dependency-type: direct:production
|
|
236
|
+
update-type: version-update:semver-minor
|
|
237
|
+
dependency-group: python-packages
|
|
238
|
+
- dependency-name: charset-normalizer
|
|
239
|
+
dependency-type: direct:production
|
|
240
|
+
update-type: version-update:semver-minor
|
|
241
|
+
dependency-group: python-packages
|
|
242
|
+
- dependency-name: flake8
|
|
243
|
+
dependency-type: direct:production
|
|
244
|
+
update-type: version-update:semver-patch
|
|
245
|
+
dependency-group: python-packages
|
|
246
|
+
- dependency-name: idna
|
|
247
|
+
dependency-type: direct:production
|
|
248
|
+
update-type: version-update:semver-minor
|
|
249
|
+
dependency-group: python-packages
|
|
250
|
+
- dependency-name: importlib-metadata
|
|
251
|
+
dependency-type: direct:production
|
|
252
|
+
update-type: version-update:semver-major
|
|
253
|
+
dependency-group: python-packages
|
|
254
|
+
- dependency-name: keyring
|
|
255
|
+
dependency-type: direct:production
|
|
256
|
+
update-type: version-update:semver-minor
|
|
257
|
+
dependency-group: python-packages
|
|
258
|
+
- dependency-name: more-itertools
|
|
259
|
+
dependency-type: direct:production
|
|
260
|
+
update-type: version-update:semver-minor
|
|
261
|
+
dependency-group: python-packages
|
|
262
|
+
- dependency-name: packaging
|
|
263
|
+
dependency-type: direct:production
|
|
264
|
+
update-type: version-update:semver-minor
|
|
265
|
+
dependency-group: python-packages
|
|
266
|
+
- dependency-name: pkginfo
|
|
267
|
+
dependency-type: direct:production
|
|
268
|
+
update-type: version-update:semver-minor
|
|
269
|
+
dependency-group: python-packages
|
|
270
|
+
- dependency-name: platformdirs
|
|
271
|
+
dependency-type: direct:production
|
|
272
|
+
update-type: version-update:semver-minor
|
|
273
|
+
dependency-group: python-packages
|
|
274
|
+
- dependency-name: pycodestyle
|
|
275
|
+
dependency-type: direct:production
|
|
276
|
+
update-type: version-update:semver-patch
|
|
277
|
+
dependency-group: python-packages
|
|
278
|
+
- dependency-name: readme-renderer
|
|
279
|
+
dependency-type: direct:production
|
|
280
|
+
update-type: version-update:semver-major
|
|
281
|
+
dependency-group: python-packages
|
|
282
|
+
- dependency-name: rich
|
|
283
|
+
dependency-type: direct:production
|
|
284
|
+
update-type: version-update:semver-minor
|
|
285
|
+
dependency-group: python-packages
|
|
286
|
+
- dependency-name: setuptools
|
|
287
|
+
dependency-type: direct:production
|
|
288
|
+
update-type: version-update:semver-major
|
|
289
|
+
dependency-group: python-packages
|
|
290
|
+
- dependency-name: tqdm
|
|
291
|
+
dependency-type: direct:production
|
|
292
|
+
update-type: version-update:semver-minor
|
|
293
|
+
dependency-group: python-packages
|
|
294
|
+
- dependency-name: twine
|
|
295
|
+
dependency-type: direct:production
|
|
296
|
+
update-type: version-update:semver-major
|
|
297
|
+
dependency-group: python-packages
|
|
298
|
+
- dependency-name: urllib3
|
|
299
|
+
dependency-type: direct:production
|
|
300
|
+
update-type: version-update:semver-patch
|
|
301
|
+
dependency-group: python-packages
|
|
302
|
+
- dependency-name: zipp
|
|
303
|
+
dependency-type: direct:production
|
|
304
|
+
update-type: version-update:semver-minor
|
|
305
|
+
dependency-group: python-packages
|
|
306
|
+
...
|
|
307
|
+
- KeyError fix with gists. [John Doe]
|
|
308
|
+
- Fix punctuation in README. [Jakub Wilk]
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
0.46.0 (2024-09-11)
|
|
312
|
+
-------------------
|
|
7
313
|
|
|
8
314
|
Fix
|
|
9
315
|
~~~
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: github-backup
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.48.0
|
|
4
4
|
Summary: backup a github user or organization
|
|
5
5
|
Home-page: http://github.com/josegonzalez/python-github-backup
|
|
6
6
|
Author: Jose Diaz-Gonzalez
|
|
@@ -186,7 +186,7 @@ Customise the permissions for your use case, but for a personal account full bac
|
|
|
186
186
|
|
|
187
187
|
**User permissions**: Read access to followers, starring, and watching.
|
|
188
188
|
|
|
189
|
-
**Repository permissions**: Read access to
|
|
189
|
+
**Repository permissions**: Read access to contents, issues, metadata, pull requests, and webhooks.
|
|
190
190
|
|
|
191
191
|
|
|
192
192
|
Prefer SSH
|
|
@@ -244,7 +244,7 @@ Gotchas / Known-issues
|
|
|
244
244
|
All is not everything
|
|
245
245
|
---------------------
|
|
246
246
|
|
|
247
|
-
The ``--all`` argument does not include
|
|
247
|
+
The ``--all`` argument does not include: cloning private repos (``-P, --private``), cloning forks (``-F, --fork``), cloning starred repositories (``--all-starred``), ``--pull-details``, cloning LFS repositories (``--lfs``), cloning gists (``--gists``) or cloning starred gist repos (``--starred-gists``). See examples for more.
|
|
248
248
|
|
|
249
249
|
Cloning all starred size
|
|
250
250
|
------------------------
|
|
@@ -273,12 +273,6 @@ It's therefore recommended to only use the incremental argument if the output/re
|
|
|
273
273
|
|
|
274
274
|
This is due to needing the correct permission for ``--hooks`` on public repos.
|
|
275
275
|
|
|
276
|
-
2. **Releases blocking**
|
|
277
|
-
|
|
278
|
-
A known ``--releases`` (required for ``--assets``) error will sometimes block the backup.
|
|
279
|
-
|
|
280
|
-
If you're backing up a lot of repositories with releases e.g. an organisation or ``--all-starred``. You may need to remove ``--releases`` (and therefore ``--assets``) to complete a backup. Documented in `issue 209 <https://github.com/josegonzalez/python-github-backup/issues/209>`_.
|
|
281
|
-
|
|
282
276
|
|
|
283
277
|
"bare" is actually "mirror"
|
|
284
278
|
---------------------------
|
|
@@ -167,7 +167,7 @@ Customise the permissions for your use case, but for a personal account full bac
|
|
|
167
167
|
|
|
168
168
|
**User permissions**: Read access to followers, starring, and watching.
|
|
169
169
|
|
|
170
|
-
**Repository permissions**: Read access to
|
|
170
|
+
**Repository permissions**: Read access to contents, issues, metadata, pull requests, and webhooks.
|
|
171
171
|
|
|
172
172
|
|
|
173
173
|
Prefer SSH
|
|
@@ -225,7 +225,7 @@ Gotchas / Known-issues
|
|
|
225
225
|
All is not everything
|
|
226
226
|
---------------------
|
|
227
227
|
|
|
228
|
-
The ``--all`` argument does not include
|
|
228
|
+
The ``--all`` argument does not include: cloning private repos (``-P, --private``), cloning forks (``-F, --fork``), cloning starred repositories (``--all-starred``), ``--pull-details``, cloning LFS repositories (``--lfs``), cloning gists (``--gists``) or cloning starred gist repos (``--starred-gists``). See examples for more.
|
|
229
229
|
|
|
230
230
|
Cloning all starred size
|
|
231
231
|
------------------------
|
|
@@ -254,12 +254,6 @@ It's therefore recommended to only use the incremental argument if the output/re
|
|
|
254
254
|
|
|
255
255
|
This is due to needing the correct permission for ``--hooks`` on public repos.
|
|
256
256
|
|
|
257
|
-
2. **Releases blocking**
|
|
258
|
-
|
|
259
|
-
A known ``--releases`` (required for ``--assets``) error will sometimes block the backup.
|
|
260
|
-
|
|
261
|
-
If you're backing up a lot of repositories with releases e.g. an organisation or ``--all-starred``. You may need to remove ``--releases`` (and therefore ``--assets``) to complete a backup. Documented in `issue 209 <https://github.com/josegonzalez/python-github-backup/issues/209>`_.
|
|
262
|
-
|
|
263
257
|
|
|
264
258
|
"bare" is actually "mirror"
|
|
265
259
|
---------------------------
|
|
@@ -167,7 +167,7 @@ Customise the permissions for your use case, but for a personal account full bac
|
|
|
167
167
|
|
|
168
168
|
**User permissions**: Read access to followers, starring, and watching.
|
|
169
169
|
|
|
170
|
-
**Repository permissions**: Read access to
|
|
170
|
+
**Repository permissions**: Read access to contents, issues, metadata, pull requests, and webhooks.
|
|
171
171
|
|
|
172
172
|
|
|
173
173
|
Prefer SSH
|
|
@@ -225,7 +225,7 @@ Gotchas / Known-issues
|
|
|
225
225
|
All is not everything
|
|
226
226
|
---------------------
|
|
227
227
|
|
|
228
|
-
The ``--all`` argument does not include
|
|
228
|
+
The ``--all`` argument does not include: cloning private repos (``-P, --private``), cloning forks (``-F, --fork``), cloning starred repositories (``--all-starred``), ``--pull-details``, cloning LFS repositories (``--lfs``), cloning gists (``--gists``) or cloning starred gist repos (``--starred-gists``). See examples for more.
|
|
229
229
|
|
|
230
230
|
Cloning all starred size
|
|
231
231
|
------------------------
|
|
@@ -254,12 +254,6 @@ It's therefore recommended to only use the incremental argument if the output/re
|
|
|
254
254
|
|
|
255
255
|
This is due to needing the correct permission for ``--hooks`` on public repos.
|
|
256
256
|
|
|
257
|
-
2. **Releases blocking**
|
|
258
|
-
|
|
259
|
-
A known ``--releases`` (required for ``--assets``) error will sometimes block the backup.
|
|
260
|
-
|
|
261
|
-
If you're backing up a lot of repositories with releases e.g. an organisation or ``--all-starred``. You may need to remove ``--releases`` (and therefore ``--assets``) to complete a backup. Documented in `issue 209 <https://github.com/josegonzalez/python-github-backup/issues/209>`_.
|
|
262
|
-
|
|
263
257
|
|
|
264
258
|
"bare" is actually "mirror"
|
|
265
259
|
---------------------------
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.48.0"
|
|
@@ -15,15 +15,16 @@ import platform
|
|
|
15
15
|
import re
|
|
16
16
|
import select
|
|
17
17
|
import socket
|
|
18
|
+
import ssl
|
|
18
19
|
import subprocess
|
|
19
20
|
import sys
|
|
20
21
|
import time
|
|
22
|
+
from datetime import datetime
|
|
21
23
|
from http.client import IncompleteRead
|
|
22
24
|
from urllib.error import HTTPError, URLError
|
|
23
25
|
from urllib.parse import quote as urlquote
|
|
24
26
|
from urllib.parse import urlencode, urlparse
|
|
25
27
|
from urllib.request import HTTPRedirectHandler, Request, build_opener, urlopen
|
|
26
|
-
from datetime import datetime
|
|
27
28
|
|
|
28
29
|
try:
|
|
29
30
|
from . import __version__
|
|
@@ -36,6 +37,23 @@ FNULL = open(os.devnull, "w")
|
|
|
36
37
|
FILE_URI_PREFIX = "file://"
|
|
37
38
|
logger = logging.getLogger(__name__)
|
|
38
39
|
|
|
40
|
+
https_ctx = ssl.create_default_context()
|
|
41
|
+
if not https_ctx.get_ca_certs():
|
|
42
|
+
import warnings
|
|
43
|
+
|
|
44
|
+
warnings.warn(
|
|
45
|
+
"\n\nYOUR DEFAULT CA CERTS ARE EMPTY.\n"
|
|
46
|
+
+ "PLEASE POPULATE ANY OF:"
|
|
47
|
+
+ "".join(
|
|
48
|
+
["\n - " + x for x in ssl.get_default_verify_paths() if type(x) is str]
|
|
49
|
+
)
|
|
50
|
+
+ "\n",
|
|
51
|
+
stacklevel=2,
|
|
52
|
+
)
|
|
53
|
+
import certifi
|
|
54
|
+
|
|
55
|
+
https_ctx = ssl.create_default_context(cafile=certifi.where())
|
|
56
|
+
|
|
39
57
|
|
|
40
58
|
def logging_subprocess(
|
|
41
59
|
popenargs, stdout_log_level=logging.DEBUG, stderr_log_level=logging.ERROR, **kwargs
|
|
@@ -511,7 +529,7 @@ def get_github_host(args):
|
|
|
511
529
|
|
|
512
530
|
|
|
513
531
|
def read_file_contents(file_uri):
|
|
514
|
-
return open(file_uri[len(FILE_URI_PREFIX):], "rt").readline().strip()
|
|
532
|
+
return open(file_uri[len(FILE_URI_PREFIX) :], "rt").readline().strip()
|
|
515
533
|
|
|
516
534
|
|
|
517
535
|
def get_github_repo_url(args, repository):
|
|
@@ -666,7 +684,7 @@ def _get_response(request, auth, template):
|
|
|
666
684
|
while True:
|
|
667
685
|
should_continue = False
|
|
668
686
|
try:
|
|
669
|
-
r = urlopen(request)
|
|
687
|
+
r = urlopen(request, context=https_ctx)
|
|
670
688
|
except HTTPError as exc:
|
|
671
689
|
errors, should_continue = _request_http_error(exc, auth, errors) # noqa
|
|
672
690
|
r = exc
|
|
@@ -782,13 +800,15 @@ def download_file(url, path, auth, as_app=False, fine=False):
|
|
|
782
800
|
if os.path.exists(path):
|
|
783
801
|
return
|
|
784
802
|
|
|
785
|
-
request = _construct_request(
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
803
|
+
request = _construct_request(
|
|
804
|
+
per_page=100,
|
|
805
|
+
page=1,
|
|
806
|
+
query_args={},
|
|
807
|
+
template=url,
|
|
808
|
+
auth=auth,
|
|
809
|
+
as_app=as_app,
|
|
810
|
+
fine=fine,
|
|
811
|
+
)
|
|
792
812
|
request.add_header("Accept", "application/octet-stream")
|
|
793
813
|
opener = build_opener(S3HTTPRedirectHandler)
|
|
794
814
|
|
|
@@ -931,11 +951,15 @@ def filter_repositories(args, unfiltered_repositories):
|
|
|
931
951
|
if r.get("language") and r.get("language").lower() in languages
|
|
932
952
|
] # noqa
|
|
933
953
|
if name_regex:
|
|
934
|
-
repositories = [
|
|
954
|
+
repositories = [
|
|
955
|
+
r for r in repositories if "name" not in r or name_regex.match(r["name"])
|
|
956
|
+
]
|
|
935
957
|
if args.skip_archived:
|
|
936
958
|
repositories = [r for r in repositories if not r.get("archived")]
|
|
937
959
|
if args.exclude:
|
|
938
|
-
repositories = [
|
|
960
|
+
repositories = [
|
|
961
|
+
r for r in repositories if "name" not in r or r["name"] not in args.exclude
|
|
962
|
+
]
|
|
939
963
|
|
|
940
964
|
return repositories
|
|
941
965
|
|
|
@@ -1231,10 +1255,16 @@ def backup_releases(args, repo_cwd, repository, repos_template, include_assets=F
|
|
|
1231
1255
|
if args.skip_prerelease:
|
|
1232
1256
|
releases = [r for r in releases if not r["prerelease"] and not r["draft"]]
|
|
1233
1257
|
|
|
1234
|
-
if args.number_of_latest_releases and args.number_of_latest_releases < len(
|
|
1235
|
-
releases
|
|
1236
|
-
|
|
1237
|
-
releases
|
|
1258
|
+
if args.number_of_latest_releases and args.number_of_latest_releases < len(
|
|
1259
|
+
releases
|
|
1260
|
+
):
|
|
1261
|
+
releases.sort(
|
|
1262
|
+
key=lambda item: datetime.strptime(
|
|
1263
|
+
item["created_at"], "%Y-%m-%dT%H:%M:%SZ"
|
|
1264
|
+
),
|
|
1265
|
+
reverse=True,
|
|
1266
|
+
)
|
|
1267
|
+
releases = releases[: args.number_of_latest_releases]
|
|
1238
1268
|
logger.info("Saving the latest {0} releases to disk".format(len(releases)))
|
|
1239
1269
|
else:
|
|
1240
1270
|
logger.info("Saving {0} releases to disk".format(len(releases)))
|
|
@@ -1261,7 +1291,7 @@ def backup_releases(args, repo_cwd, repository, repos_template, include_assets=F
|
|
|
1261
1291
|
os.path.join(release_assets_cwd, asset["name"]),
|
|
1262
1292
|
get_auth(args, encode=not args.as_app),
|
|
1263
1293
|
as_app=args.as_app,
|
|
1264
|
-
fine=True if args.token_fine is not None else False
|
|
1294
|
+
fine=True if args.token_fine is not None else False,
|
|
1265
1295
|
)
|
|
1266
1296
|
|
|
1267
1297
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: github-backup
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.48.0
|
|
4
4
|
Summary: backup a github user or organization
|
|
5
5
|
Home-page: http://github.com/josegonzalez/python-github-backup
|
|
6
6
|
Author: Jose Diaz-Gonzalez
|
|
@@ -186,7 +186,7 @@ Customise the permissions for your use case, but for a personal account full bac
|
|
|
186
186
|
|
|
187
187
|
**User permissions**: Read access to followers, starring, and watching.
|
|
188
188
|
|
|
189
|
-
**Repository permissions**: Read access to
|
|
189
|
+
**Repository permissions**: Read access to contents, issues, metadata, pull requests, and webhooks.
|
|
190
190
|
|
|
191
191
|
|
|
192
192
|
Prefer SSH
|
|
@@ -244,7 +244,7 @@ Gotchas / Known-issues
|
|
|
244
244
|
All is not everything
|
|
245
245
|
---------------------
|
|
246
246
|
|
|
247
|
-
The ``--all`` argument does not include
|
|
247
|
+
The ``--all`` argument does not include: cloning private repos (``-P, --private``), cloning forks (``-F, --fork``), cloning starred repositories (``--all-starred``), ``--pull-details``, cloning LFS repositories (``--lfs``), cloning gists (``--gists``) or cloning starred gist repos (``--starred-gists``). See examples for more.
|
|
248
248
|
|
|
249
249
|
Cloning all starred size
|
|
250
250
|
------------------------
|
|
@@ -273,12 +273,6 @@ It's therefore recommended to only use the incremental argument if the output/re
|
|
|
273
273
|
|
|
274
274
|
This is due to needing the correct permission for ``--hooks`` on public repos.
|
|
275
275
|
|
|
276
|
-
2. **Releases blocking**
|
|
277
|
-
|
|
278
|
-
A known ``--releases`` (required for ``--assets``) error will sometimes block the backup.
|
|
279
|
-
|
|
280
|
-
If you're backing up a lot of repositories with releases e.g. an organisation or ``--all-starred``. You may need to remove ``--releases`` (and therefore ``--assets``) to complete a backup. Documented in `issue 209 <https://github.com/josegonzalez/python-github-backup/issues/209>`_.
|
|
281
|
-
|
|
282
276
|
|
|
283
277
|
"bare" is actually "mirror"
|
|
284
278
|
---------------------------
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
autopep8==2.3.1
|
|
2
|
+
black==24.10.0
|
|
3
|
+
bleach==6.2.0
|
|
4
|
+
certifi==2024.12.14
|
|
5
|
+
charset-normalizer==3.4.1
|
|
6
|
+
click==8.1.8
|
|
7
|
+
colorama==0.4.6
|
|
8
|
+
docutils==0.21.2
|
|
9
|
+
flake8==7.1.1
|
|
10
|
+
gitchangelog==3.0.4
|
|
11
|
+
idna==3.10
|
|
12
|
+
importlib-metadata==8.5.0
|
|
13
|
+
jaraco.classes==3.4.0
|
|
14
|
+
keyring==25.6.0
|
|
15
|
+
markdown-it-py==3.0.0
|
|
16
|
+
mccabe==0.7.0
|
|
17
|
+
mdurl==0.1.2
|
|
18
|
+
more-itertools==10.5.0
|
|
19
|
+
mypy-extensions==1.0.0
|
|
20
|
+
packaging==24.2
|
|
21
|
+
pathspec==0.12.1
|
|
22
|
+
pkginfo==1.12.0
|
|
23
|
+
platformdirs==4.3.6
|
|
24
|
+
pycodestyle==2.12.1
|
|
25
|
+
pyflakes==3.2.0
|
|
26
|
+
Pygments==2.18.0
|
|
27
|
+
readme-renderer==44.0
|
|
28
|
+
requests==2.32.3
|
|
29
|
+
requests-toolbelt==1.0.0
|
|
30
|
+
restructuredtext-lint==1.4.0
|
|
31
|
+
rfc3986==2.0.0
|
|
32
|
+
rich==13.9.4
|
|
33
|
+
setuptools==75.6.0
|
|
34
|
+
six==1.17.0
|
|
35
|
+
tqdm==4.67.1
|
|
36
|
+
twine==6.0.1
|
|
37
|
+
urllib3==2.3.0
|
|
38
|
+
webencodings==0.5.1
|
|
39
|
+
zipp==3.21.0
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.46.0"
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
autopep8==2.3.1
|
|
2
|
-
black==24.4.2
|
|
3
|
-
bleach==6.1.0
|
|
4
|
-
certifi==2024.7.4
|
|
5
|
-
charset-normalizer==3.3.2
|
|
6
|
-
click==8.1.7
|
|
7
|
-
colorama==0.4.6
|
|
8
|
-
docutils==0.21.2
|
|
9
|
-
flake8==7.1.0
|
|
10
|
-
gitchangelog==3.0.4
|
|
11
|
-
idna==3.7
|
|
12
|
-
importlib-metadata==7.2.1
|
|
13
|
-
jaraco.classes==3.4.0
|
|
14
|
-
keyring==25.2.1
|
|
15
|
-
markdown-it-py==3.0.0
|
|
16
|
-
mccabe==0.7.0
|
|
17
|
-
mdurl==0.1.2
|
|
18
|
-
more-itertools==10.3.0
|
|
19
|
-
mypy-extensions==1.0.0
|
|
20
|
-
packaging==24.1
|
|
21
|
-
pathspec==0.12.1
|
|
22
|
-
pkginfo==1.11.1
|
|
23
|
-
platformdirs==4.2.2
|
|
24
|
-
pycodestyle==2.12.0
|
|
25
|
-
pyflakes==3.2.0
|
|
26
|
-
Pygments==2.18.0
|
|
27
|
-
readme-renderer==43.0
|
|
28
|
-
requests==2.32.3
|
|
29
|
-
requests-toolbelt==1.0.0
|
|
30
|
-
restructuredtext-lint==1.4.0
|
|
31
|
-
rfc3986==2.0.0
|
|
32
|
-
rich==13.7.1
|
|
33
|
-
setuptools==70.1.1
|
|
34
|
-
six==1.16.0
|
|
35
|
-
tqdm==4.66.4
|
|
36
|
-
twine==5.1.0
|
|
37
|
-
urllib3==2.2.2
|
|
38
|
-
webencodings==0.5.1
|
|
39
|
-
zipp==3.19.2
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|