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.
Files changed (47) hide show
  1. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.all-contributorsrc +11 -1
  2. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.github/workflows/publish-pypi.yml +30 -17
  3. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.github/workflows/run-script.yml +2 -2
  4. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.gitignore +1 -1
  5. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.pre-commit-config.yaml +1 -1
  6. pyosmeta-0.2.4/CHANGELOG.md +76 -0
  7. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/PKG-INFO +16 -15
  8. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/README.md +14 -13
  9. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/development.md +2 -2
  10. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/pyproject.toml +1 -1
  11. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/__init__.py +3 -2
  12. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/_version.py +2 -2
  13. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/cli/process_reviews.py +10 -5
  14. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/cli/update_contributors.py +8 -5
  15. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/cli/update_review_teams.py +8 -5
  16. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/contributors.py +14 -210
  17. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/file_io.py +16 -8
  18. pyosmeta-0.2.4/src/pyosmeta/github_api.py +299 -0
  19. pyosmeta-0.2.4/src/pyosmeta/models.py +377 -0
  20. pyosmeta-0.2.4/src/pyosmeta/parse_issues.py +463 -0
  21. pyosmeta-0.2.4/src/pyosmeta/utils_clean.py +95 -0
  22. pyosmeta-0.2.4/src/pyosmeta/utils_parse.py +47 -0
  23. pyosmeta-0.2.4/tests/conftest.py +129 -0
  24. pyosmeta-0.2.4/tests/integration/test_parse_issues.py +10 -0
  25. pyosmeta-0.2.4/tests/integration/test_review_model.py +36 -0
  26. pyosmeta-0.2.4/tests/unit/__init__.py +0 -0
  27. pyosmeta-0.2.4/tests/unit/test_contributors_module.py +27 -0
  28. pyosmeta-0.2.4/tests/unit/test_get_contrib_data.py +58 -0
  29. pyosmeta-0.2.4/tests/unit/test_github_api.py +81 -0
  30. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/tests/unit/test_parse_categories.py +5 -9
  31. pyosmeta-0.2.4/tests/unit/test_parse_issue_header_methods.py +16 -0
  32. pyosmeta-0.2.4/tests/unit/test_utils_clean.py +86 -0
  33. pyosmeta-0.2.2/tests/unit/test_parse_user_names.py → pyosmeta-0.2.4/tests/unit/test_utils_parse.py +3 -1
  34. pyosmeta-0.2.2/CHANGELOG.md +0 -20
  35. pyosmeta-0.2.2/src/pyosmeta/parse_issues.py +0 -814
  36. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.devcontainer/devcontainer.json +0 -0
  37. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.env-default +0 -0
  38. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.flake8 +0 -0
  39. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.github/workflows/run-tests.yml +0 -0
  40. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/.github/workflows/test-run-script.yml +0 -0
  41. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/CODE_OF_CONDUCT.md +0 -0
  42. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/CONTRIBUTING.md +0 -0
  43. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/LICENSE +0 -0
  44. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/environment.yml +0 -0
  45. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/src/pyosmeta/cli/parse_history.py +0 -0
  46. {pyosmeta-0.2.2 → pyosmeta-0.2.4}/tests/__init__.py +0 -0
  47. {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": "update-web-metadata",
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-publish:
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: release
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@v3
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@v2
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: Publish package on test PyPI on merge in main branch
47
- # Test push to test pypi on merge to main
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
- repository-url: https://test.pypi.org/legacy/
52
- # Allow existing releases on test PyPI without errors.
53
- # NOT TO BE USED in PyPI!
54
- skip-existing: true
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@v4
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@v3
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}}
@@ -155,6 +155,6 @@ cython_debug/
155
155
  # pyosMeta specific
156
156
  src/pyosmeta/_version.py
157
157
  *.pickle
158
-
159
158
  .token
160
159
  token.txt
160
+ _data/*
@@ -45,7 +45,7 @@ repos:
45
45
 
46
46
  # Code formatting hook
47
47
  - repo: https://github.com/psf/black
48
- rev: 24.2.0
48
+ rev: 24.3.0
49
49
  hooks:
50
50
  - id: black
51
51
 
@@ -0,0 +1,76 @@
1
+ # pyosmeta Changelog
2
+
3
+ [![PyPI](https://img.shields.io/pypi/v/pyosmeta.svg)](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
1
+ Metadata-Version: 2.3
2
2
  Name: pyosmeta
3
- Version: 0.2.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/update-web-metadata/commits?author=xmnlab" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=meerkatters" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=tiffanyxiao" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=austinlg96" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/pulls?q=is%3Apr+reviewed-by%3Apaajake" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=luizirber" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=bbulpett" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/pulls?q=is%3Apr+reviewed-by%3Abbulpett" title="Reviewed Pull Requests">👀</a></td>
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/update-web-metadata/commits?author=juanis2112" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=crazy4pi314" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=SultanOrazbayev" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=SimonMolinsky" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=willingc" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=ofek" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/pulls?q=is%3Apr+reviewed-by%3Aofek" title="Reviewed Pull Requests">👀</a></td>
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/update-web-metadata/commits?author=xmnlab" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=meerkatters" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=tiffanyxiao" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=austinlg96" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/pulls?q=is%3Apr+reviewed-by%3Apaajake" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=luizirber" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=bbulpett" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/pulls?q=is%3Apr+reviewed-by%3Abbulpett" title="Reviewed Pull Requests">👀</a></td>
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/update-web-metadata/commits?author=juanis2112" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=crazy4pi314" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=SultanOrazbayev" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=SimonMolinsky" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=willingc" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/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/update-web-metadata/commits?author=ofek" title="Code">💻</a> <a href="https://github.com/pyOpenSci/update-web-metadata/pulls?q=is%3Apr+reviewed-by%3Aofek" title="Reviewed Pull Requests">👀</a></td>
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-coverage`
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 PersonModel, ProcessContributors
2
- from .parse_issues import ProcessIssues, ReviewModel
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"
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.2.2'
16
- __version_tuple__ = version_tuple = (0, 2, 2)
15
+ __version__ = version = '0.2.4'
16
+ __version_tuple__ = version_tuple = (0, 2, 4)
@@ -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
- process_review = ProcessIssues(
28
+
29
+ github_api = GitHubAPI(
28
30
  org="pyopensci",
29
- repo_name="software-submission",
30
- label_name="6/pyOS-approved 🚀🚀🚀",
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 PersonModel, ProcessContributors
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
- "update-web-metadata",
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
- process_contribs = ProcessContributors(json_files)
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.get_user_info(gh_user)
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.get_user_info(user)
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 PersonModel, ProcessContributors
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
- process_contribs = ProcessContributors([])
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 user!", gh_user)
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 user!", gh_user)
98
- new_contrib = process_contribs.get_user_info(gh_user)
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
  )