pyosmeta 0.2.2__tar.gz → 0.2.4__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.
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.all-contributorsrc +11 -1
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.github/workflows/publish-pypi.yml +30 -17
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.github/workflows/run-script.yml +2 -2
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.gitignore +1 -1
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.pre-commit-config.yaml +1 -1
- pyosmeta-0.2.4/CHANGELOG.md +76 -0
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/PKG-INFO +16 -15
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/README.md +14 -13
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/development.md +2 -2
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/pyproject.toml +1 -1
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/__init__.py +3 -2
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/_version.py +2 -2
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/cli/process_reviews.py +10 -5
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/cli/update_contributors.py +8 -5
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/cli/update_review_teams.py +8 -5
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/contributors.py +14 -210
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/file_io.py +16 -8
- pyosmeta-0.2.4/src/pyosmeta/github_api.py +299 -0
- pyosmeta-0.2.4/src/pyosmeta/models.py +377 -0
- pyosmeta-0.2.4/src/pyosmeta/parse_issues.py +463 -0
- pyosmeta-0.2.4/src/pyosmeta/utils_clean.py +95 -0
- pyosmeta-0.2.4/src/pyosmeta/utils_parse.py +47 -0
- pyosmeta-0.2.4/tests/conftest.py +129 -0
- pyosmeta-0.2.4/tests/integration/test_parse_issues.py +10 -0
- pyosmeta-0.2.4/tests/integration/test_review_model.py +36 -0
- pyosmeta-0.2.4/tests/unit/__init__.py +0 -0
- pyosmeta-0.2.4/tests/unit/test_contributors_module.py +27 -0
- pyosmeta-0.2.4/tests/unit/test_get_contrib_data.py +58 -0
- pyosmeta-0.2.4/tests/unit/test_github_api.py +81 -0
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/tests/unit/test_parse_categories.py +5 -9
- pyosmeta-0.2.4/tests/unit/test_parse_issue_header_methods.py +16 -0
- pyosmeta-0.2.4/tests/unit/test_utils_clean.py +86 -0
- pyosmeta-0.2.2/tests/unit/test_parse_user_names.py → pyosmeta-0.2.4/tests/unit/test_utils_parse.py +3 -1
- pyosmeta-0.2.2/CHANGELOG.md +0 -20
- pyosmeta-0.2.2/src/pyosmeta/parse_issues.py +0 -814
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.devcontainer/devcontainer.json +0 -0
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.env-default +0 -0
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.flake8 +0 -0
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.github/workflows/run-tests.yml +0 -0
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.github/workflows/test-run-script.yml +0 -0
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/CODE_OF_CONDUCT.md +0 -0
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/CONTRIBUTING.md +0 -0
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/LICENSE +0 -0
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/environment.yml +0 -0
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/cli/parse_history.py +0 -0
- {pyosmeta-0.2.2 → pyosmeta-0.2.4}/tests/__init__.py +0 -0
- {pyosmeta-0.2.2/tests/unit → pyosmeta-0.2.4/tests/integration}/__init__.py +0 -0
|
@@ -138,13 +138,23 @@
|
|
|
138
138
|
"code",
|
|
139
139
|
"review"
|
|
140
140
|
]
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"login": "webknjaz",
|
|
144
|
+
"name": "Sviatoslav Sydorenko (Святослав Сидоренко)",
|
|
145
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/578543?v=4",
|
|
146
|
+
"profile": "https://webknjaz.me",
|
|
147
|
+
"contributions": [
|
|
148
|
+
"code",
|
|
149
|
+
"review"
|
|
150
|
+
]
|
|
141
151
|
}
|
|
142
152
|
],
|
|
143
153
|
"contributorsPerLine": 7,
|
|
144
154
|
"skipCi": true,
|
|
145
155
|
"repoType": "github",
|
|
146
156
|
"repoHost": "https://github.com",
|
|
147
|
-
"projectName": "
|
|
157
|
+
"projectName": "pyosMeta",
|
|
148
158
|
"projectOwner": "pyOpenSci",
|
|
149
159
|
"commitType": "docs"
|
|
150
160
|
}
|
|
@@ -6,18 +6,17 @@ on:
|
|
|
6
6
|
branches:
|
|
7
7
|
- main
|
|
8
8
|
jobs:
|
|
9
|
-
build
|
|
9
|
+
# setup build separate from publish
|
|
10
|
+
# See https://github.com/pypa/gh-action-pypi-publish/issues/217#issuecomment-1965727093
|
|
11
|
+
build:
|
|
10
12
|
runs-on: ubuntu-latest
|
|
11
13
|
# This ensures that the publish action only runs in the main repository
|
|
12
14
|
# rather than forks
|
|
13
15
|
# Environment is encouraged so adding
|
|
14
|
-
environment:
|
|
15
|
-
if: github.repository_owner == 'pyopensci'
|
|
16
|
-
permissions:
|
|
17
|
-
id-token: write # this permission is mandatory for pypi publishing
|
|
16
|
+
environment: build
|
|
18
17
|
steps:
|
|
19
18
|
- name: Checkout
|
|
20
|
-
uses: actions/checkout@
|
|
19
|
+
uses: actions/checkout@v4
|
|
21
20
|
with:
|
|
22
21
|
# This fetch element is only important if you are use SCM based
|
|
23
22
|
# versioning (that looks at git tags to gather the version)
|
|
@@ -28,7 +27,7 @@ jobs:
|
|
|
28
27
|
run: git fetch origin 'refs/tags/*:refs/tags/*'
|
|
29
28
|
|
|
30
29
|
- name: Setup Python
|
|
31
|
-
uses: actions/setup-python@
|
|
30
|
+
uses: actions/setup-python@v5
|
|
32
31
|
with:
|
|
33
32
|
python-version: "3.10"
|
|
34
33
|
- name: Install Hatch
|
|
@@ -42,17 +41,31 @@ jobs:
|
|
|
42
41
|
echo ""
|
|
43
42
|
echo "Generated files:"
|
|
44
43
|
ls -lh dist/
|
|
45
|
-
|
|
46
|
-
- name:
|
|
47
|
-
|
|
48
|
-
if: github.event_name == 'push'
|
|
49
|
-
uses: pypa/gh-action-pypi-publish@release/v1
|
|
44
|
+
# Store an artifact of the build to use in the publish step below
|
|
45
|
+
- name: Store the distribution packages
|
|
46
|
+
uses: actions/upload-artifact@v4
|
|
50
47
|
with:
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
48
|
+
name: python-package-distributions
|
|
49
|
+
path: dist/
|
|
50
|
+
publish:
|
|
51
|
+
name: >-
|
|
52
|
+
Publish Python 🐍 distribution 📦 to PyPI
|
|
53
|
+
if: github.repository_owner == 'pyopensci'
|
|
54
|
+
needs:
|
|
55
|
+
- build
|
|
56
|
+
runs-on: ubuntu-latest
|
|
57
|
+
environment:
|
|
58
|
+
name: pypi
|
|
59
|
+
url: https://pypi.org/p/pyosmeta
|
|
60
|
+
permissions:
|
|
61
|
+
id-token: write # this permission is mandatory for pypi publishing
|
|
62
|
+
steps:
|
|
63
|
+
# Version 4 doesn't support github enterprise yet
|
|
64
|
+
- name: Download all the dists
|
|
65
|
+
uses: actions/download-artifact@v4
|
|
66
|
+
with:
|
|
67
|
+
name: python-package-distributions
|
|
68
|
+
path: dist/
|
|
56
69
|
- name: Publish package to PyPI
|
|
57
70
|
# Only publish to real PyPI on release
|
|
58
71
|
if: github.event_name == 'release'
|
|
@@ -11,7 +11,7 @@ jobs:
|
|
|
11
11
|
steps:
|
|
12
12
|
# TODO: consider replacing python/pip/update-web-metadata installs with docker image
|
|
13
13
|
- name: Setup Python
|
|
14
|
-
uses: actions/setup-python@
|
|
14
|
+
uses: actions/setup-python@v5
|
|
15
15
|
- name: Upgrade pip
|
|
16
16
|
run: |
|
|
17
17
|
# install pip=>20.1 to use "pip cache dir"
|
|
@@ -20,7 +20,7 @@ jobs:
|
|
|
20
20
|
run: python -m pip install git+https://github.com/pyopenSci/update-web-metadata
|
|
21
21
|
|
|
22
22
|
- name: Check out the code
|
|
23
|
-
uses: actions/checkout@
|
|
23
|
+
uses: actions/checkout@v4
|
|
24
24
|
- name: Run script from update-web-metadata repo
|
|
25
25
|
env:
|
|
26
26
|
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# pyosmeta Changelog
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/pyosmeta/)
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [v0.2.4] - 2024-03-29
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Add support for partners and emeritus_editor in contributor model (@lwasser, #133)
|
|
12
|
+
- Add support for pagination in github issue requests (@lwasser, #139)
|
|
13
|
+
- Add tests for all utils functions (@lwasser, #122)
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
#### Bug Fixes
|
|
18
|
+
|
|
19
|
+
- Fix: Bug where date_accepted is removed (@lwasser, #129)
|
|
20
|
+
|
|
21
|
+
#### Refactor
|
|
22
|
+
|
|
23
|
+
- Fix: Parse up to 100 issues in a request (@lwasser, #94)
|
|
24
|
+
- Fix: refactor parse issue header (@lwasser, #91)
|
|
25
|
+
- Fix: Refactor and organize modules (@lwasser, #76)
|
|
26
|
+
- Fix: Rename and organize `clean.py` module into `utils_parse` and `utils_clean` (@lwasser, @willingc, #121)
|
|
27
|
+
- Fix: Refactor all issue related GitHub methods to gh_client module (@lwasser, #125)
|
|
28
|
+
- Fix: Refactor all contributor GitHub related methods into gh_client module from contributors module (@lwasser, #125)
|
|
29
|
+
|
|
30
|
+
#### CI
|
|
31
|
+
|
|
32
|
+
- Update ci workflow versions (@willingc, #113)
|
|
33
|
+
- Separate build from publish steps for added security in pypi publish workflow (@lwasser, #113)
|
|
34
|
+
|
|
35
|
+
## [v0.2.3] - 2024-02-29
|
|
36
|
+
|
|
37
|
+
This version adds automation of our workflows, including using `hatch`
|
|
38
|
+
for builds, automated GitHub actions for linting and testing, coverage reporting, and
|
|
39
|
+
dynamic versioning. This release adds basic functionality for Partner support.
|
|
40
|
+
|
|
41
|
+
### Added
|
|
42
|
+
|
|
43
|
+
- Use `hatch_vcs` for dynamic versioning (@lwasser, #82)
|
|
44
|
+
- Partner support to package (#92, @lwasser)
|
|
45
|
+
- Code coverage setup (#97, @lwasser)
|
|
46
|
+
|
|
47
|
+
### Changed
|
|
48
|
+
|
|
49
|
+
- Migrate to pytest for tests and setup hatch scripts (#89, @lwasser)
|
|
50
|
+
- Add validation step to categories attr in pydantic model (#105, @lwasser)
|
|
51
|
+
- Update pypi publish to use hatch (#82, @lwasser)
|
|
52
|
+
- Move data accepted cleanup to pydantic field alias / validation step (@lwasser)
|
|
53
|
+
|
|
54
|
+
Thank you to all contributors to this release. Special thanks
|
|
55
|
+
to @ofek for assistance with `hatch`, @pradyunsg for packaging guidance, @webknjaz
|
|
56
|
+
and @woodruffw for help troubleshooting Trusted Publisher releases to PyPI, and @willingc for guidance in software
|
|
57
|
+
development best practices.
|
|
58
|
+
|
|
59
|
+
## [v0.2.2] - 2024-02-27
|
|
60
|
+
|
|
61
|
+
This version tested our production release process to PyPI.
|
|
62
|
+
|
|
63
|
+
## [v0.15] - 2023-12-20
|
|
64
|
+
|
|
65
|
+
This release was tagged in git and GitHub but not released to PyPI.
|
|
66
|
+
|
|
67
|
+
## [v.0.2] - 2023-08-17
|
|
68
|
+
|
|
69
|
+
Initial release to PyPI.
|
|
70
|
+
|
|
71
|
+
[Unreleased]: https://github.com/pyopensci/pyosmeta/compare/v0.2.4...HEAD
|
|
72
|
+
[v0.2.4]: https://github.com/pyopensci/pyosmeta/compare/v0.2.3...v0.2.4
|
|
73
|
+
[v0.2.3]: https://github.com/pyopensci/pyosmeta/compare/v0.15...v0.2.3
|
|
74
|
+
[v0.2.2]: https://github.com/pyopensci/pyosmeta/compare/v0.15...v0.2.2
|
|
75
|
+
[v0.15]: https://github.com/pyOpenSci/pyosMeta/releases/tag/v0.15
|
|
76
|
+
[v.0.2]: https://pypi.org/project/pyosmeta/0.2/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: pyosmeta
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Tools that update the pyOpenSci contributor and review metadata that is posted on our website
|
|
5
5
|
Project-URL: Homepage, https://github.com/pyopensci/pyosmeta/
|
|
6
6
|
Project-URL: Bug Reports, https://github.com/pyopensci/pyosmeta/issues
|
|
@@ -79,21 +79,22 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
79
79
|
<table>
|
|
80
80
|
<tbody>
|
|
81
81
|
<tr>
|
|
82
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/xmnlab"><img src="https://avatars.githubusercontent.com/u/5209757?v=4?s=100" width="100px;" alt="Ivan Ogasawara"/><br /><sub><b>Ivan Ogasawara</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
83
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/meerkatters"><img src="https://avatars.githubusercontent.com/u/50787305?v=4?s=100" width="100px;" alt="Meer (Miriam) Williamson"/><br /><sub><b>Meer (Miriam) Williamson</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
84
|
-
<td align="center" valign="top" width="14.28%"><a href="https://tiffanyxiao.com/"><img src="https://avatars.githubusercontent.com/u/13580331?v=4?s=100" width="100px;" alt="Tiffany Xiao"/><br /><sub><b>Tiffany Xiao</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
85
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/austinlg96"><img src="https://avatars.githubusercontent.com/u/19922895?v=4?s=100" width="100px;" alt="austinlg96"/><br /><sub><b>austinlg96</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
86
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/paajake"><img src="https://avatars.githubusercontent.com/u/12656820?v=4?s=100" width="100px;" alt="JAKE"/><br /><sub><b>JAKE</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
87
|
-
<td align="center" valign="top" width="14.28%"><a href="https://luizirber.org"><img src="https://avatars.githubusercontent.com/u/6642?v=4?s=100" width="100px;" alt="Luiz Irber"/><br /><sub><b>Luiz Irber</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
88
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bbulpett"><img src="https://avatars.githubusercontent.com/u/6424805?v=4?s=100" width="100px;" alt="Barnabas Bulpett (He/Him)"/><br /><sub><b>Barnabas Bulpett (He/Him)</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
82
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/xmnlab"><img src="https://avatars.githubusercontent.com/u/5209757?v=4?s=100" width="100px;" alt="Ivan Ogasawara"/><br /><sub><b>Ivan Ogasawara</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=xmnlab" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Axmnlab" title="Reviewed Pull Requests">👀</a> <a href="#design-xmnlab" title="Design">🎨</a></td>
|
|
83
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/meerkatters"><img src="https://avatars.githubusercontent.com/u/50787305?v=4?s=100" width="100px;" alt="Meer (Miriam) Williamson"/><br /><sub><b>Meer (Miriam) Williamson</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=meerkatters" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Ameerkatters" title="Reviewed Pull Requests">👀</a></td>
|
|
84
|
+
<td align="center" valign="top" width="14.28%"><a href="https://tiffanyxiao.com/"><img src="https://avatars.githubusercontent.com/u/13580331?v=4?s=100" width="100px;" alt="Tiffany Xiao"/><br /><sub><b>Tiffany Xiao</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=tiffanyxiao" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Atiffanyxiao" title="Reviewed Pull Requests">👀</a></td>
|
|
85
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/austinlg96"><img src="https://avatars.githubusercontent.com/u/19922895?v=4?s=100" width="100px;" alt="austinlg96"/><br /><sub><b>austinlg96</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=austinlg96" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Aaustinlg96" title="Reviewed Pull Requests">👀</a> <a href="#design-austinlg96" title="Design">🎨</a></td>
|
|
86
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/paajake"><img src="https://avatars.githubusercontent.com/u/12656820?v=4?s=100" width="100px;" alt="JAKE"/><br /><sub><b>JAKE</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Apaajake" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/pyOpenSci/pyosMeta/commits?author=paajake" title="Code">💻</a> <a href="#design-paajake" title="Design">🎨</a></td>
|
|
87
|
+
<td align="center" valign="top" width="14.28%"><a href="https://luizirber.org"><img src="https://avatars.githubusercontent.com/u/6642?v=4?s=100" width="100px;" alt="Luiz Irber"/><br /><sub><b>Luiz Irber</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=luizirber" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Aluizirber" title="Reviewed Pull Requests">👀</a></td>
|
|
88
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bbulpett"><img src="https://avatars.githubusercontent.com/u/6424805?v=4?s=100" width="100px;" alt="Barnabas Bulpett (He/Him)"/><br /><sub><b>Barnabas Bulpett (He/Him)</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=bbulpett" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Abbulpett" title="Reviewed Pull Requests">👀</a></td>
|
|
89
89
|
</tr>
|
|
90
90
|
<tr>
|
|
91
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/juanis2112"><img src="https://avatars.githubusercontent.com/u/18587879?v=4?s=100" width="100px;" alt="Juanita Gomez"/><br /><sub><b>Juanita Gomez</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
92
|
-
<td align="center" valign="top" width="14.28%"><a href="https://www.sckaiser.com"><img src="https://avatars.githubusercontent.com/u/6486256?v=4?s=100" width="100px;" alt="Sarah Kaiser"/><br /><sub><b>Sarah Kaiser</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
93
|
-
<td align="center" valign="top" width="14.28%"><a href="http://econpoint.com"><img src="https://avatars.githubusercontent.com/u/20208402?v=4?s=100" width="100px;" alt="Sultan Orazbayev"/><br /><sub><b>Sultan Orazbayev</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
94
|
-
<td align="center" valign="top" width="14.28%"><a href="http://ml-gis-service.com"><img src="https://avatars.githubusercontent.com/u/31246246?v=4?s=100" width="100px;" alt="Simon"/><br /><sub><b>Simon</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
95
|
-
<td align="center" valign="top" width="14.28%"><a href="https://hachyderm.io/web/@willingc"><img src="https://avatars.githubusercontent.com/u/2680980?v=4?s=100" width="100px;" alt="Carol Willing"/><br /><sub><b>Carol Willing</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
96
|
-
<td align="center" valign="top" width="14.28%"><a href="https://ofek.dev"><img src="https://avatars.githubusercontent.com/u/9677399?v=4?s=100" width="100px;" alt="Ofek Lev"/><br /><sub><b>Ofek Lev</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
91
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/juanis2112"><img src="https://avatars.githubusercontent.com/u/18587879?v=4?s=100" width="100px;" alt="Juanita Gomez"/><br /><sub><b>Juanita Gomez</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=juanis2112" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Ajuanis2112" title="Reviewed Pull Requests">👀</a></td>
|
|
92
|
+
<td align="center" valign="top" width="14.28%"><a href="https://www.sckaiser.com"><img src="https://avatars.githubusercontent.com/u/6486256?v=4?s=100" width="100px;" alt="Sarah Kaiser"/><br /><sub><b>Sarah Kaiser</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=crazy4pi314" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Acrazy4pi314" title="Reviewed Pull Requests">👀</a></td>
|
|
93
|
+
<td align="center" valign="top" width="14.28%"><a href="http://econpoint.com"><img src="https://avatars.githubusercontent.com/u/20208402?v=4?s=100" width="100px;" alt="Sultan Orazbayev"/><br /><sub><b>Sultan Orazbayev</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=SultanOrazbayev" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3ASultanOrazbayev" title="Reviewed Pull Requests">👀</a></td>
|
|
94
|
+
<td align="center" valign="top" width="14.28%"><a href="http://ml-gis-service.com"><img src="https://avatars.githubusercontent.com/u/31246246?v=4?s=100" width="100px;" alt="Simon"/><br /><sub><b>Simon</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=SimonMolinsky" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3ASimonMolinsky" title="Reviewed Pull Requests">👀</a></td>
|
|
95
|
+
<td align="center" valign="top" width="14.28%"><a href="https://hachyderm.io/web/@willingc"><img src="https://avatars.githubusercontent.com/u/2680980?v=4?s=100" width="100px;" alt="Carol Willing"/><br /><sub><b>Carol Willing</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=willingc" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Awillingc" title="Reviewed Pull Requests">👀</a></td>
|
|
96
|
+
<td align="center" valign="top" width="14.28%"><a href="https://ofek.dev"><img src="https://avatars.githubusercontent.com/u/9677399?v=4?s=100" width="100px;" alt="Ofek Lev"/><br /><sub><b>Ofek Lev</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=ofek" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Aofek" title="Reviewed Pull Requests">👀</a></td>
|
|
97
|
+
<td align="center" valign="top" width="14.28%"><a href="https://webknjaz.me"><img src="https://avatars.githubusercontent.com/u/578543?v=4?s=100" width="100px;" alt="Sviatoslav Sydorenko (Святослав Сидоренко)"/><br /><sub><b>Sviatoslav Sydorenko (Святослав Сидоренко)</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=webknjaz" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Awebknjaz" title="Reviewed Pull Requests">👀</a></td>
|
|
97
98
|
</tr>
|
|
98
99
|
</tbody>
|
|
99
100
|
</table>
|
|
@@ -48,21 +48,22 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
48
48
|
<table>
|
|
49
49
|
<tbody>
|
|
50
50
|
<tr>
|
|
51
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/xmnlab"><img src="https://avatars.githubusercontent.com/u/5209757?v=4?s=100" width="100px;" alt="Ivan Ogasawara"/><br /><sub><b>Ivan Ogasawara</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
52
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/meerkatters"><img src="https://avatars.githubusercontent.com/u/50787305?v=4?s=100" width="100px;" alt="Meer (Miriam) Williamson"/><br /><sub><b>Meer (Miriam) Williamson</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
53
|
-
<td align="center" valign="top" width="14.28%"><a href="https://tiffanyxiao.com/"><img src="https://avatars.githubusercontent.com/u/13580331?v=4?s=100" width="100px;" alt="Tiffany Xiao"/><br /><sub><b>Tiffany Xiao</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
54
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/austinlg96"><img src="https://avatars.githubusercontent.com/u/19922895?v=4?s=100" width="100px;" alt="austinlg96"/><br /><sub><b>austinlg96</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
55
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/paajake"><img src="https://avatars.githubusercontent.com/u/12656820?v=4?s=100" width="100px;" alt="JAKE"/><br /><sub><b>JAKE</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
56
|
-
<td align="center" valign="top" width="14.28%"><a href="https://luizirber.org"><img src="https://avatars.githubusercontent.com/u/6642?v=4?s=100" width="100px;" alt="Luiz Irber"/><br /><sub><b>Luiz Irber</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
57
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bbulpett"><img src="https://avatars.githubusercontent.com/u/6424805?v=4?s=100" width="100px;" alt="Barnabas Bulpett (He/Him)"/><br /><sub><b>Barnabas Bulpett (He/Him)</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
51
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/xmnlab"><img src="https://avatars.githubusercontent.com/u/5209757?v=4?s=100" width="100px;" alt="Ivan Ogasawara"/><br /><sub><b>Ivan Ogasawara</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=xmnlab" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Axmnlab" title="Reviewed Pull Requests">👀</a> <a href="#design-xmnlab" title="Design">🎨</a></td>
|
|
52
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/meerkatters"><img src="https://avatars.githubusercontent.com/u/50787305?v=4?s=100" width="100px;" alt="Meer (Miriam) Williamson"/><br /><sub><b>Meer (Miriam) Williamson</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=meerkatters" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Ameerkatters" title="Reviewed Pull Requests">👀</a></td>
|
|
53
|
+
<td align="center" valign="top" width="14.28%"><a href="https://tiffanyxiao.com/"><img src="https://avatars.githubusercontent.com/u/13580331?v=4?s=100" width="100px;" alt="Tiffany Xiao"/><br /><sub><b>Tiffany Xiao</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=tiffanyxiao" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Atiffanyxiao" title="Reviewed Pull Requests">👀</a></td>
|
|
54
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/austinlg96"><img src="https://avatars.githubusercontent.com/u/19922895?v=4?s=100" width="100px;" alt="austinlg96"/><br /><sub><b>austinlg96</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=austinlg96" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Aaustinlg96" title="Reviewed Pull Requests">👀</a> <a href="#design-austinlg96" title="Design">🎨</a></td>
|
|
55
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/paajake"><img src="https://avatars.githubusercontent.com/u/12656820?v=4?s=100" width="100px;" alt="JAKE"/><br /><sub><b>JAKE</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Apaajake" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/pyOpenSci/pyosMeta/commits?author=paajake" title="Code">💻</a> <a href="#design-paajake" title="Design">🎨</a></td>
|
|
56
|
+
<td align="center" valign="top" width="14.28%"><a href="https://luizirber.org"><img src="https://avatars.githubusercontent.com/u/6642?v=4?s=100" width="100px;" alt="Luiz Irber"/><br /><sub><b>Luiz Irber</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=luizirber" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Aluizirber" title="Reviewed Pull Requests">👀</a></td>
|
|
57
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bbulpett"><img src="https://avatars.githubusercontent.com/u/6424805?v=4?s=100" width="100px;" alt="Barnabas Bulpett (He/Him)"/><br /><sub><b>Barnabas Bulpett (He/Him)</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=bbulpett" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Abbulpett" title="Reviewed Pull Requests">👀</a></td>
|
|
58
58
|
</tr>
|
|
59
59
|
<tr>
|
|
60
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/juanis2112"><img src="https://avatars.githubusercontent.com/u/18587879?v=4?s=100" width="100px;" alt="Juanita Gomez"/><br /><sub><b>Juanita Gomez</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
61
|
-
<td align="center" valign="top" width="14.28%"><a href="https://www.sckaiser.com"><img src="https://avatars.githubusercontent.com/u/6486256?v=4?s=100" width="100px;" alt="Sarah Kaiser"/><br /><sub><b>Sarah Kaiser</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
62
|
-
<td align="center" valign="top" width="14.28%"><a href="http://econpoint.com"><img src="https://avatars.githubusercontent.com/u/20208402?v=4?s=100" width="100px;" alt="Sultan Orazbayev"/><br /><sub><b>Sultan Orazbayev</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
63
|
-
<td align="center" valign="top" width="14.28%"><a href="http://ml-gis-service.com"><img src="https://avatars.githubusercontent.com/u/31246246?v=4?s=100" width="100px;" alt="Simon"/><br /><sub><b>Simon</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
64
|
-
<td align="center" valign="top" width="14.28%"><a href="https://hachyderm.io/web/@willingc"><img src="https://avatars.githubusercontent.com/u/2680980?v=4?s=100" width="100px;" alt="Carol Willing"/><br /><sub><b>Carol Willing</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
65
|
-
<td align="center" valign="top" width="14.28%"><a href="https://ofek.dev"><img src="https://avatars.githubusercontent.com/u/9677399?v=4?s=100" width="100px;" alt="Ofek Lev"/><br /><sub><b>Ofek Lev</b></sub></a><br /><a href="https://github.com/pyOpenSci/
|
|
60
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/juanis2112"><img src="https://avatars.githubusercontent.com/u/18587879?v=4?s=100" width="100px;" alt="Juanita Gomez"/><br /><sub><b>Juanita Gomez</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=juanis2112" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Ajuanis2112" title="Reviewed Pull Requests">👀</a></td>
|
|
61
|
+
<td align="center" valign="top" width="14.28%"><a href="https://www.sckaiser.com"><img src="https://avatars.githubusercontent.com/u/6486256?v=4?s=100" width="100px;" alt="Sarah Kaiser"/><br /><sub><b>Sarah Kaiser</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=crazy4pi314" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Acrazy4pi314" title="Reviewed Pull Requests">👀</a></td>
|
|
62
|
+
<td align="center" valign="top" width="14.28%"><a href="http://econpoint.com"><img src="https://avatars.githubusercontent.com/u/20208402?v=4?s=100" width="100px;" alt="Sultan Orazbayev"/><br /><sub><b>Sultan Orazbayev</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=SultanOrazbayev" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3ASultanOrazbayev" title="Reviewed Pull Requests">👀</a></td>
|
|
63
|
+
<td align="center" valign="top" width="14.28%"><a href="http://ml-gis-service.com"><img src="https://avatars.githubusercontent.com/u/31246246?v=4?s=100" width="100px;" alt="Simon"/><br /><sub><b>Simon</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=SimonMolinsky" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3ASimonMolinsky" title="Reviewed Pull Requests">👀</a></td>
|
|
64
|
+
<td align="center" valign="top" width="14.28%"><a href="https://hachyderm.io/web/@willingc"><img src="https://avatars.githubusercontent.com/u/2680980?v=4?s=100" width="100px;" alt="Carol Willing"/><br /><sub><b>Carol Willing</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=willingc" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Awillingc" title="Reviewed Pull Requests">👀</a></td>
|
|
65
|
+
<td align="center" valign="top" width="14.28%"><a href="https://ofek.dev"><img src="https://avatars.githubusercontent.com/u/9677399?v=4?s=100" width="100px;" alt="Ofek Lev"/><br /><sub><b>Ofek Lev</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=ofek" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Aofek" title="Reviewed Pull Requests">👀</a></td>
|
|
66
|
+
<td align="center" valign="top" width="14.28%"><a href="https://webknjaz.me"><img src="https://avatars.githubusercontent.com/u/578543?v=4?s=100" width="100px;" alt="Sviatoslav Sydorenko (Святослав Сидоренко)"/><br /><sub><b>Sviatoslav Sydorenko (Святослав Сидоренко)</b></sub></a><br /><a href="https://github.com/pyOpenSci/pyosMeta/commits?author=webknjaz" title="Code">💻</a> <a href="https://github.com/pyOpenSci/pyosMeta/pulls?q=is%3Apr+reviewed-by%3Awebknjaz" title="Reviewed Pull Requests">👀</a></td>
|
|
66
67
|
</tr>
|
|
67
68
|
</tbody>
|
|
68
69
|
</table>
|
|
@@ -36,8 +36,8 @@ script options that you can chose to run.
|
|
|
36
36
|
|
|
37
37
|
`hatch run test:run-coverage`
|
|
38
38
|
|
|
39
|
-
2. To run tests without code coverage report outs use
|
|
40
|
-
`hatch run test:run-
|
|
39
|
+
2. To run tests without code coverage report outs use:
|
|
40
|
+
`hatch run test:run-no-cov`
|
|
41
41
|
|
|
42
42
|
3. To run tests with an xml report generated use:
|
|
43
43
|
`hatch run test:run-report`
|
|
@@ -69,7 +69,7 @@ version.source = "vcs"
|
|
|
69
69
|
build.hooks.vcs.version-file = "src/pyosmeta/_version.py"
|
|
70
70
|
|
|
71
71
|
[tool.hatch.envs.test]
|
|
72
|
-
dependencies = ["pytest", "pytest-cov", "coverage[toml]"]
|
|
72
|
+
dependencies = ["pytest", "pytest-cov", "coverage[toml]", "pytest-mock"]
|
|
73
73
|
|
|
74
74
|
[tool.hatch.envs.test.scripts]
|
|
75
75
|
run-coverage = "pytest --cov-config=pyproject.toml --cov=pyosmeta --cov=tests/*"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
from .contributors import
|
|
2
|
-
from .
|
|
1
|
+
from .contributors import ProcessContributors
|
|
2
|
+
from .models import PersonModel, ReviewModel
|
|
3
|
+
from .parse_issues import ProcessIssues
|
|
3
4
|
|
|
4
5
|
# Trick suggested by flake8 maintainer to ensure the imports above don't
|
|
5
6
|
# get flagged as being "unused"
|
|
@@ -21,19 +21,23 @@ import pickle
|
|
|
21
21
|
from pydantic import ValidationError
|
|
22
22
|
|
|
23
23
|
from pyosmeta import ProcessIssues, ReviewModel
|
|
24
|
+
from pyosmeta.github_api import GitHubAPI
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
def main():
|
|
27
|
-
|
|
28
|
+
|
|
29
|
+
github_api = GitHubAPI(
|
|
28
30
|
org="pyopensci",
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
repo="software-submission",
|
|
32
|
+
labels=["6/pyOS-approved 🚀🚀🚀"],
|
|
31
33
|
)
|
|
32
34
|
|
|
35
|
+
process_review = ProcessIssues(github_api)
|
|
36
|
+
|
|
33
37
|
# Get all issues for approved packages - load as dict
|
|
38
|
+
# TODO: this doesn't have to be in process issues at all. it could fully
|
|
39
|
+
# Call the github module
|
|
34
40
|
issues = process_review.return_response()
|
|
35
|
-
# TODO: this method parse_issue_header is working but the parsing code is
|
|
36
|
-
# hard to follow
|
|
37
41
|
accepted_reviews = process_review.parse_issue_header(issues, 45)
|
|
38
42
|
|
|
39
43
|
# Update gh metrics via api for all packages
|
|
@@ -48,6 +52,7 @@ def main():
|
|
|
48
52
|
# First add gh meta to each dict
|
|
49
53
|
print("Parsing & validating", key)
|
|
50
54
|
try:
|
|
55
|
+
|
|
51
56
|
final_reviews[key] = ReviewModel(**review)
|
|
52
57
|
except ValidationError as ve:
|
|
53
58
|
print(key, ":", ve)
|
|
@@ -4,8 +4,10 @@ from datetime import datetime
|
|
|
4
4
|
|
|
5
5
|
from pydantic import ValidationError
|
|
6
6
|
|
|
7
|
-
from pyosmeta.contributors import
|
|
7
|
+
from pyosmeta.contributors import ProcessContributors
|
|
8
8
|
from pyosmeta.file_io import create_paths, load_pickle, open_yml_file
|
|
9
|
+
from pyosmeta.github_api import GitHubAPI
|
|
10
|
+
from pyosmeta.models import PersonModel
|
|
9
11
|
|
|
10
12
|
# TODO - https://stackoverflow.com
|
|
11
13
|
# /questions/55762673/how-to-parse-list-of-models-with-pydantic
|
|
@@ -34,7 +36,7 @@ def main():
|
|
|
34
36
|
"software-peer-review",
|
|
35
37
|
"pyopensci.github.io",
|
|
36
38
|
"software-review",
|
|
37
|
-
"
|
|
39
|
+
"pyosmeta",
|
|
38
40
|
]
|
|
39
41
|
json_files = create_paths(repos)
|
|
40
42
|
|
|
@@ -61,7 +63,8 @@ def main():
|
|
|
61
63
|
print("Done processing all-contribs")
|
|
62
64
|
|
|
63
65
|
# Create a list of all contributors across repositories
|
|
64
|
-
|
|
66
|
+
github_api = GitHubAPI()
|
|
67
|
+
process_contribs = ProcessContributors(github_api, json_files)
|
|
65
68
|
bot_all_contribs = process_contribs.combine_json_data()
|
|
66
69
|
|
|
67
70
|
print("Updating contrib types and searching for new users now")
|
|
@@ -70,7 +73,7 @@ def main():
|
|
|
70
73
|
# Find and populate data for any new contributors
|
|
71
74
|
if gh_user not in all_contribs.keys():
|
|
72
75
|
print("Missing", gh_user, "Adding them now")
|
|
73
|
-
new_contrib = process_contribs.
|
|
76
|
+
new_contrib = process_contribs.return_user_info(gh_user)
|
|
74
77
|
new_contrib["date_added"] = datetime.now().strftime("%Y-%m-%d")
|
|
75
78
|
all_contribs[gh_user] = PersonModel(**new_contrib)
|
|
76
79
|
|
|
@@ -80,7 +83,7 @@ def main():
|
|
|
80
83
|
if update_all:
|
|
81
84
|
for user in all_contribs.keys():
|
|
82
85
|
print("Updating all user info from github", user)
|
|
83
|
-
new_gh_data = process_contribs.
|
|
86
|
+
new_gh_data = process_contribs.return_user_info(user)
|
|
84
87
|
|
|
85
88
|
# TODO: turn this into a small update method
|
|
86
89
|
existing = all_contribs[user].model_dump()
|
|
@@ -26,8 +26,10 @@ from datetime import datetime
|
|
|
26
26
|
|
|
27
27
|
from pydantic import ValidationError
|
|
28
28
|
|
|
29
|
-
from pyosmeta.contributors import
|
|
29
|
+
from pyosmeta.contributors import ProcessContributors
|
|
30
30
|
from pyosmeta.file_io import clean_export_yml, load_pickle
|
|
31
|
+
from pyosmeta.github_api import GitHubAPI
|
|
32
|
+
from pyosmeta.models import PersonModel
|
|
31
33
|
|
|
32
34
|
|
|
33
35
|
def get_clean_user(username: str) -> str:
|
|
@@ -37,7 +39,8 @@ def get_clean_user(username: str) -> str:
|
|
|
37
39
|
|
|
38
40
|
|
|
39
41
|
def main():
|
|
40
|
-
|
|
42
|
+
github_api = GitHubAPI()
|
|
43
|
+
process_contribs = ProcessContributors(github_api, [])
|
|
41
44
|
|
|
42
45
|
# Two pickle files are outputs of the two other scripts
|
|
43
46
|
# use that data to limit web calls
|
|
@@ -57,7 +60,7 @@ def main():
|
|
|
57
60
|
gh_user = get_clean_user(a_maintainer["github_username"])
|
|
58
61
|
|
|
59
62
|
if gh_user not in contribs.keys():
|
|
60
|
-
print("Found a new
|
|
63
|
+
print("Found a new contributor!", gh_user)
|
|
61
64
|
new_contrib = process_contribs.get_user_info(gh_user)
|
|
62
65
|
new_contrib["date_added"] = datetime.now().strftime(
|
|
63
66
|
"%Y-%m-%d"
|
|
@@ -94,8 +97,8 @@ def main():
|
|
|
94
97
|
|
|
95
98
|
if gh_user not in contribs.keys():
|
|
96
99
|
# If they aren't already in contribs, add them
|
|
97
|
-
print("Found a new
|
|
98
|
-
new_contrib = process_contribs.
|
|
100
|
+
print("Found a new contributor!", gh_user)
|
|
101
|
+
new_contrib = process_contribs.return_user_info(gh_user)
|
|
99
102
|
new_contrib["date_added"] = datetime.now().strftime(
|
|
100
103
|
"%Y-%m-%d"
|
|
101
104
|
)
|