winipedia-utils 0.3.43__py3-none-any.whl → 0.4.12__py3-none-any.whl

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.

Potentially problematic release.


This version of winipedia-utils might be problematic. Click here for more details.

Files changed (33) hide show
  1. winipedia_utils/git/github/repo/__init__.py +1 -0
  2. winipedia_utils/git/github/repo/protect.py +104 -0
  3. winipedia_utils/git/github/repo/repo.py +205 -0
  4. winipedia_utils/git/github/workflows/base/__init__.py +1 -0
  5. winipedia_utils/git/{workflows → github/workflows}/base/base.py +95 -51
  6. winipedia_utils/git/github/workflows/health_check.py +55 -0
  7. winipedia_utils/git/{workflows → github/workflows}/publish.py +11 -8
  8. winipedia_utils/git/github/workflows/release.py +45 -0
  9. winipedia_utils/git/gitignore/config.py +49 -29
  10. winipedia_utils/git/gitignore/gitignore.py +1 -1
  11. winipedia_utils/git/pre_commit/config.py +18 -13
  12. winipedia_utils/git/pre_commit/hooks.py +22 -4
  13. winipedia_utils/git/pre_commit/run_hooks.py +2 -1
  14. winipedia_utils/iterating/iterate.py +3 -4
  15. winipedia_utils/modules/module.py +2 -0
  16. winipedia_utils/modules/package.py +2 -1
  17. winipedia_utils/projects/poetry/config.py +74 -36
  18. winipedia_utils/projects/project.py +2 -2
  19. winipedia_utils/setup.py +2 -0
  20. winipedia_utils/testing/config.py +83 -29
  21. winipedia_utils/testing/tests/base/fixtures/fixture.py +36 -0
  22. winipedia_utils/testing/tests/base/fixtures/scopes/module.py +6 -5
  23. winipedia_utils/testing/tests/base/fixtures/scopes/session.py +7 -8
  24. winipedia_utils/testing/tests/base/utils/utils.py +43 -2
  25. winipedia_utils/text/config.py +84 -37
  26. {winipedia_utils-0.3.43.dist-info → winipedia_utils-0.4.12.dist-info}/METADATA +23 -8
  27. {winipedia_utils-0.3.43.dist-info → winipedia_utils-0.4.12.dist-info}/RECORD +31 -27
  28. winipedia_utils/git/workflows/health_check.py +0 -51
  29. winipedia_utils/git/workflows/release.py +0 -33
  30. /winipedia_utils/git/{workflows/base → github}/__init__.py +0 -0
  31. /winipedia_utils/git/{workflows → github/workflows}/__init__.py +0 -0
  32. {winipedia_utils-0.3.43.dist-info → winipedia_utils-0.4.12.dist-info}/WHEEL +0 -0
  33. {winipedia_utils-0.3.43.dist-info → winipedia_utils-0.4.12.dist-info}/licenses/LICENSE +0 -0
@@ -9,21 +9,25 @@ winipedia_utils/data/dataframe/cleaning.py,sha256=iZC6AI2Di6nLwb_A698JCoeT4221Rd
9
9
  winipedia_utils/data/structures/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
10
10
  winipedia_utils/data/structures/dicts.py,sha256=jsFzQ96cvyHsvPSnsEUhksuWvLSGq6-Rryfw6gEXq-c,274
11
11
  winipedia_utils/git/__init__.py,sha256=IRmEVz0sUEw47Eli--57YaypWitxlcYThT_ulwkhNTE,47
12
+ winipedia_utils/git/github/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
13
+ winipedia_utils/git/github/repo/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
14
+ winipedia_utils/git/github/repo/protect.py,sha256=WW8nkIp8DND_b3UJ9xUzucHmQOH0KZT06k6ri7k3gL0,3238
15
+ winipedia_utils/git/github/repo/repo.py,sha256=OqoOfqDhe_Iik71dNqi4h3fGrMno33hSjk0bpNg3eZk,7865
16
+ winipedia_utils/git/github/workflows/__init__.py,sha256=BPdntTwFEyBMJ6MyT7gddPHswvRdH9tsRtfK72VSV7Y,57
17
+ winipedia_utils/git/github/workflows/base/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
18
+ winipedia_utils/git/github/workflows/base/base.py,sha256=5ro19RTzOlp2XlmhnrOKPkPHPlzcaxoz-WbFjJtnldI,8881
19
+ winipedia_utils/git/github/workflows/health_check.py,sha256=LktxE23DpPKspnO4Z-iy9B1JwQMTqPmzlX00KeQ-aq4,1484
20
+ winipedia_utils/git/github/workflows/publish.py,sha256=TPbSp5QH2vVl55UdqE_kjf1HIkdubcgqWlkLjWFX5EA,1378
21
+ winipedia_utils/git/github/workflows/release.py,sha256=bsv0dXEHIc_xYoORM9KM35HgGZ4HvpgGUhKhgh13AIQ,1244
12
22
  winipedia_utils/git/gitignore/__init__.py,sha256=k-2E26JaZPkF69UUOJkpQl8T_PudrC7EYCIOxwgIQVU,57
13
- winipedia_utils/git/gitignore/config.py,sha256=HSGdFGxML7k6Lq_mK1x1JBSP9eVzAer871KdLF1WN_I,1611
14
- winipedia_utils/git/gitignore/gitignore.py,sha256=ai8EEPvO9TchZv6odHzN1w7xwqzG5MwLOiXXuouwq0I,2458
23
+ winipedia_utils/git/gitignore/config.py,sha256=afLJI77SWLuwGOzsQGYV-94NsR6HJQFgYpvumzvpCX8,2529
24
+ winipedia_utils/git/gitignore/gitignore.py,sha256=uE2MdynWgQuTG-y2YLR0FU5_giSE7s_TqSVQ6vnNOf8,2419
15
25
  winipedia_utils/git/pre_commit/__init__.py,sha256=gFLVGQRmS6abgy5MfPQy_GZiF1_hGxuXtcOHX95WL-A,58
16
- winipedia_utils/git/pre_commit/config.py,sha256=7u40nggqvzuKfN1G9kjWzIWm91sapewcqHj806hY0Jo,1725
17
- winipedia_utils/git/pre_commit/hooks.py,sha256=KHP-CEo-zv1BJNKfKr2ymUNf69bCX42w2r3xQf2Vocs,3600
18
- winipedia_utils/git/pre_commit/run_hooks.py,sha256=PVwEDXymeg0OebAx9Vd53vD4UkzVSlCUesKdvfCA6V8,1468
19
- winipedia_utils/git/workflows/__init__.py,sha256=BPdntTwFEyBMJ6MyT7gddPHswvRdH9tsRtfK72VSV7Y,57
20
- winipedia_utils/git/workflows/base/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
21
- winipedia_utils/git/workflows/base/base.py,sha256=kQe4EHr9hcK8z1nMrARGK0Lo6qzE13jnIoHo89bWU2g,7514
22
- winipedia_utils/git/workflows/health_check.py,sha256=-D2v_tlYyKFzpLMUpjoKFYFnHv1zzZAc3udnIPGjVZo,1349
23
- winipedia_utils/git/workflows/publish.py,sha256=VSDj2ZQ1BswUxW_AazsVUMlg-xCnbr7iVPY0I79fwik,1319
24
- winipedia_utils/git/workflows/release.py,sha256=4CKLMQrE3aTpX4IfVUH8mO8vj5a-SDkC28adDUKUMnQ,973
26
+ winipedia_utils/git/pre_commit/config.py,sha256=UagrtEp_TSb0THjmXZpvtl7agekEVOWnMmRPdWJ4kf4,1830
27
+ winipedia_utils/git/pre_commit/hooks.py,sha256=jMGSRtesVBB6pCQNSQ-FubCoUql7gXn0xZeKn7x6Wbs,4241
28
+ winipedia_utils/git/pre_commit/run_hooks.py,sha256=UIz1k3Hx5sB6LcdIJaPNWL-YDZzbkWd7NHCsC41nczQ,1495
25
29
  winipedia_utils/iterating/__init__.py,sha256=rlF9hzxbowq5yOfcXvOKOQdB-EQmfrislQpf659Zeu4,53
26
- winipedia_utils/iterating/iterate.py,sha256=inipzHP1vgmziObqA-iHU7wi11JseZkeMQ9I6_JJ1xM,3364
30
+ winipedia_utils/iterating/iterate.py,sha256=zl1Df3PF9cn5zUGHzDm63-12hu81_mvIJW0Cmfl_ldE,3312
27
31
  winipedia_utils/logging/__init__.py,sha256=AMt1LwA_E7hexYjMpGzUempoyDdAF-dowWvq59wC5aM,51
28
32
  winipedia_utils/logging/ansi.py,sha256=7Z-FITaUn5B1ZE0OUVARjNzuMui1V36iu4YTjlD6QfI,101
29
33
  winipedia_utils/logging/config.py,sha256=sdC3GHMkJqlY-WwIsOMeTcy1bihthWV2LbvxLt9dhc4,2895
@@ -31,8 +35,8 @@ winipedia_utils/logging/logger.py,sha256=NluvfRpY4SfJi6URjfV52l3cxeUYFMeCAJULK_P
31
35
  winipedia_utils/modules/__init__.py,sha256=e3CFaC3FhK4ibknFOv1bqOZxA7XeVwmLqWX7oajUm78,51
32
36
  winipedia_utils/modules/class_.py,sha256=908MgZZzcJBPmlVmMPZCFssHnRzbQYOQlrF3GQhpWm4,5411
33
37
  winipedia_utils/modules/function.py,sha256=cjD6dXkZzhtCClUs4uiOLaDOURVASp64iwTwXmI3ICo,3217
34
- winipedia_utils/modules/module.py,sha256=B2BLh-GVapSCBWc8Hx1U8jEN-yWVuGJls8LThVp8BTs,13041
35
- winipedia_utils/modules/package.py,sha256=z5L01rAbS5Ep5legR1bwe7b8EqX4o_TVGpn9Zw0Pjjs,14397
38
+ winipedia_utils/modules/module.py,sha256=K4t3AHBySAsHt9CCYlO7NlKtJq8rD5dikNN0mTPa8IQ,13093
39
+ winipedia_utils/modules/package.py,sha256=wytjRvzGj81FvHDK0qKJdIfmf90ivF0MX2nF8xI8eyU,14440
36
40
  winipedia_utils/oop/__init__.py,sha256=wGjsVwLbTVEQWOfDJvN9nlvC-3NmAi8Doc2xIrm6e78,47
37
41
  winipedia_utils/oop/mixins/__init__.py,sha256=PDK-cJcdRUfDUCz36qQ5pmMW07G133WtN49OpmILGNI,54
38
42
  winipedia_utils/oop/mixins/meta.py,sha256=0G4CzzzCoeP1Eas3vWe-uxvB5n5ncyw7Wc-sI9zmEBc,11150
@@ -41,9 +45,9 @@ winipedia_utils/os/__init__.py,sha256=cBRq8hWhaWvYeC3cSBYL6Y70kM9COQWHj8vVxxSadI
41
45
  winipedia_utils/os/os.py,sha256=K_5FD1sC1h5aSdtqXAG0uq90sSweLYLkgkRPQS0Jfxg,1768
42
46
  winipedia_utils/projects/__init__.py,sha256=_iYHzUcTPmutpsExPDcMF9OQDgnz-kTSuWens9iP9bI,52
43
47
  winipedia_utils/projects/poetry/__init__.py,sha256=tbvV3wYd3H39hjjlKbF84Irj4hYgv1A7KWyXdCQzFro,59
44
- winipedia_utils/projects/poetry/config.py,sha256=a47-_v__I4nvjVMeYFBk3g8w02itslgCZebIVY3Xelo,4448
48
+ winipedia_utils/projects/poetry/config.py,sha256=dei-jinjcwme6oAMO1Wxk7_O7Ac6s0g6PXBglfsTvcw,5296
45
49
  winipedia_utils/projects/poetry/poetry.py,sha256=JC-N7NjYCHxUSCGbdpvQltJDabfvTIKLgd62d9XhACo,1174
46
- winipedia_utils/projects/project.py,sha256=x_8VTqYN23CXVHx5m8JQ4bUBAAK-gxmZGG3iq4CWnus,523
50
+ winipedia_utils/projects/project.py,sha256=rirg4xCIOTI6w7cLWufAVHAix7FGicvaCd9OnZQP8dA,521
47
51
  winipedia_utils/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
48
52
  winipedia_utils/resources/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
49
53
  winipedia_utils/resources/svgs/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
@@ -59,10 +63,10 @@ winipedia_utils/resources/svgs/svg.py,sha256=uzlp4Rhnenvkq_YI409ZvR7JMTZmB5JpKsD
59
63
  winipedia_utils/security/__init__.py,sha256=HmGXOCROqIGHlBs2bEWRMkEX3rlXNsnA9Tef58AlCo4,52
60
64
  winipedia_utils/security/cryptography.py,sha256=5LMat3-9nDW2cQBr_dU7MFRdgbiK53zQqHyacs-Jq-s,793
61
65
  winipedia_utils/security/keyring.py,sha256=6kKgSTz1G80F6XeZ3Lskxdl2N6JgUH8gJdFYcGJuysU,2273
62
- winipedia_utils/setup.py,sha256=_3oZY9VvWyYOa6umIevi2Kd9bbS4HJIBXF44MQF0JLI,1050
66
+ winipedia_utils/setup.py,sha256=J80JAi2rYhf0N24DTO61AfUC6i9wPgYFakBFcTcaqdQ,1161
63
67
  winipedia_utils/testing/__init__.py,sha256=kXhB5xw02ec5xpcW_KV--9CBKdyCjnuR-NZzAJ5tq0g,51
64
68
  winipedia_utils/testing/assertions.py,sha256=VoksKQKEXppY9e8Bk8d_WMAjRX5mDE8c5blBwzK6nWo,1494
65
- winipedia_utils/testing/config.py,sha256=YByMgzMra2inHqpuuVSRWmchiSrSyer4uSIrcrryqEs,2531
69
+ winipedia_utils/testing/config.py,sha256=bKDJR2lnlmJ7Z07db2EZ1qcot4nflfTy39EeQevvKQg,4047
66
70
  winipedia_utils/testing/convention.py,sha256=7vurpqS--awhN_FLSOviSKENGuFyY9Ejr1NKRm0MPsg,4833
67
71
  winipedia_utils/testing/create_tests.py,sha256=KJL23BtsnDsujUa9fwBA5AHo85vy61oxgRPSTztJT7k,9347
68
72
  winipedia_utils/testing/fixtures.py,sha256=G8QIrZXndtud0uOk6PY3f8IIDoyX_ronogjeLAYGjrM,1033
@@ -70,20 +74,20 @@ winipedia_utils/testing/skip.py,sha256=5AdF7naPkBi4B1AF6b1plJF3Wmb-BzGBvUORbHZTo
70
74
  winipedia_utils/testing/tests/__init__.py,sha256=kL-1O6lAO5j4JPOqPdi3dHdbOQ_UXcgPFppj82HhrRU,57
71
75
  winipedia_utils/testing/tests/base/__init__.py,sha256=dBH1yfONmqUC49zshS6BJ4ZgEcw7iFGoFCqRmU7Vhrw,62
72
76
  winipedia_utils/testing/tests/base/fixtures/__init__.py,sha256=Bs_HSqx8DcMb8yU1vNbgIEszOMNVnIW02C4tmDdHB8E,71
73
- winipedia_utils/testing/tests/base/fixtures/fixture.py,sha256=KfCYXDXT-wfeuf9uiUugB4ZEWXBPuhQ-bRZ-pb99pCg,181
77
+ winipedia_utils/testing/tests/base/fixtures/fixture.py,sha256=Svu43zXcFOSFyrUA4SKfgr6jM54ww_5_uXVMZ7DPMXI,1208
74
78
  winipedia_utils/testing/tests/base/fixtures/scopes/__init__.py,sha256=-n_BLhTVC1oH7qVL0JYXm82zqFPgobQCojO-PirrKo0,78
75
79
  winipedia_utils/testing/tests/base/fixtures/scopes/class_.py,sha256=LqOp441yP4N4C-TLTP__QR1El5rp3lzgQMJLXF_HKYc,1099
76
80
  winipedia_utils/testing/tests/base/fixtures/scopes/function.py,sha256=l1zCCiTkXUSZp0n9QOyejhfszFJiMH88bhGMwNY5r8A,302
77
- winipedia_utils/testing/tests/base/fixtures/scopes/module.py,sha256=iCMBgHYC33ErMViscyIhns0nVx7LIvA-GZuZ-YF0gNc,1347
81
+ winipedia_utils/testing/tests/base/fixtures/scopes/module.py,sha256=eWxUP9cFJ0kHhdeHi8Z6fKDo_lj1K4buLIG7mR56UiY,1235
78
82
  winipedia_utils/testing/tests/base/fixtures/scopes/package.py,sha256=pR3so6QPymIRM4PJTODrlBKI-yQnZ2P78BsiyTPaF8o,302
79
- winipedia_utils/testing/tests/base/fixtures/scopes/session.py,sha256=328OttLT2uQDNAHRQKClaT8K4q6FCzR2x4gkTqHdl2w,6104
83
+ winipedia_utils/testing/tests/base/fixtures/scopes/session.py,sha256=EcBqu3iwT7397wDxFCY-NkiaH7JPVJDdXVUTGXClWJc,6108
80
84
  winipedia_utils/testing/tests/base/utils/__init__.py,sha256=mC-8dCkp8xarqkQu2QQLrPjHi6Ww9hcixWdHeQHWeRs,68
81
- winipedia_utils/testing/tests/base/utils/utils.py,sha256=xHea06Om2WeozoZ_pAmiJnU4cONyBuFf7pu3DBfjeWw,2173
85
+ winipedia_utils/testing/tests/base/utils/utils.py,sha256=mIWmsny8XgBXkXVA-TquDvtORdX5n6IyDgzjh3X8pp0,3438
82
86
  winipedia_utils/testing/tests/conftest.py,sha256=BLgUJtLecOwuEsIyJ__0buqovd5AhiGvbMNk8CHgSQs,888
83
87
  winipedia_utils/text/__init__.py,sha256=j2bwtK6kyeHI6SnoBjpRju0C1W2n2paXBDlNjNtaUxA,48
84
- winipedia_utils/text/config.py,sha256=e6M0AhfzLjLeVqiNTFw_09pMkfhiwVqI9JMRqLykX-w,4661
88
+ winipedia_utils/text/config.py,sha256=gO-gOTQT2k1KmQ16hYOuBhSX1t8FhMP9CoSc4sFaq5o,6187
85
89
  winipedia_utils/text/string.py,sha256=yXmwOab5hXyVQG1NwlWDpy2prj0U7Vb2F5HKLT2Y77Q,3382
86
- winipedia_utils-0.3.43.dist-info/METADATA,sha256=14KWpD67uDHvYlocbTo1Zqwa-ZLG7HOZ_YKoZQSz1Zo,9884
87
- winipedia_utils-0.3.43.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
88
- winipedia_utils-0.3.43.dist-info/licenses/LICENSE,sha256=o316mE2gGzd__JT69p7S_zlOmKiHh8YjpImCCcWyTvM,1066
89
- winipedia_utils-0.3.43.dist-info/RECORD,,
90
+ winipedia_utils-0.4.12.dist-info/METADATA,sha256=1O05AR1Bx5l7vzlH2pbJSaG61Ig0RxzzhBxO9lPBVIU,10980
91
+ winipedia_utils-0.4.12.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
92
+ winipedia_utils-0.4.12.dist-info/licenses/LICENSE,sha256=o316mE2gGzd__JT69p7S_zlOmKiHh8YjpImCCcWyTvM,1066
93
+ winipedia_utils-0.4.12.dist-info/RECORD,,
@@ -1,51 +0,0 @@
1
- """Contains the pull request workflow.
2
-
3
- This workflow is used to run tests on pull requests.
4
- """
5
-
6
- from typing import Any
7
-
8
- from winipedia_utils.git.workflows.base.base import Workflow
9
-
10
-
11
- class HealthCheckWorkflow(Workflow):
12
- """Pull request workflow.
13
-
14
- This workflow is triggered by a pull request.
15
- It runs tests on the pull request.
16
- """
17
-
18
- def get_workflow_triggers(self) -> dict[str, Any]:
19
- """Get the workflow triggers."""
20
- return {
21
- "pull_request": {
22
- "types": ["opened", "synchronize", "reopened"],
23
- },
24
- # also run once a week on main
25
- "schedule": [
26
- {
27
- # run every Monday at 5 am
28
- "cron": "0 5 * * 1",
29
- },
30
- ],
31
- "workflow_dispatch": {},
32
- }
33
-
34
- def get_permissions(self) -> dict[str, Any]:
35
- """Get the workflow permissions."""
36
- return {
37
- "contents": "read",
38
- }
39
-
40
- def get_jobs(self) -> dict[str, Any]:
41
- """Get the workflow jobs."""
42
- return self.get_standard_job(
43
- steps=[
44
- *(
45
- self.get_poetry_setup_steps(
46
- install_dependencies=True,
47
- )
48
- ),
49
- self.get_pre_commit_step(),
50
- ],
51
- )
@@ -1,33 +0,0 @@
1
- """Contains the release workflow.
2
-
3
- This workflow is used to create a release on GitHub.
4
- """
5
-
6
- from typing import Any
7
-
8
- from winipedia_utils.git.workflows.health_check import HealthCheckWorkflow
9
-
10
-
11
- class ReleaseWorkflow(HealthCheckWorkflow):
12
- """Release workflow.
13
-
14
- This workflow is triggered by a push to the main branch.
15
- It creates a tag for the release and builds a changelog.
16
- With tag and changelog it creates a release on GitHub
17
- """
18
-
19
- def get_workflow_triggers(self) -> dict[str, Any]:
20
- """Get the workflow triggers."""
21
- return {"push": {"branches": ["main"]}}
22
-
23
- def get_permissions(self) -> dict[str, Any]:
24
- """Get the workflow permissions."""
25
- return {
26
- "contents": "write",
27
- }
28
-
29
- def get_jobs(self) -> dict[str, Any]:
30
- """Get the workflow jobs."""
31
- steps = super().get_jobs()
32
- steps[self.get_standard_job_name()]["steps"].extend(self.get_release_steps())
33
- return steps