reposnap 0.6.4__tar.gz → 0.6.5__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 (43) hide show
  1. reposnap-0.6.5/.github/workflows/release.yml +48 -0
  2. {reposnap-0.6.4 → reposnap-0.6.5}/PKG-INFO +1 -1
  3. {reposnap-0.6.4 → reposnap-0.6.5}/pyproject.toml +2 -1
  4. reposnap-0.6.5/requirements-dev.lock +115 -0
  5. {reposnap-0.6.4 → reposnap-0.6.5}/requirements.lock +8 -0
  6. reposnap-0.6.4/.github/workflows/release.yml +0 -52
  7. reposnap-0.6.4/requirements-dev.lock +0 -35
  8. {reposnap-0.6.4 → reposnap-0.6.5}/.coverage +0 -0
  9. {reposnap-0.6.4 → reposnap-0.6.5}/.github/workflows/python-package.yml +0 -0
  10. {reposnap-0.6.4 → reposnap-0.6.5}/.gitignore +0 -0
  11. {reposnap-0.6.4 → reposnap-0.6.5}/.pre-commit-config.yaml +0 -0
  12. {reposnap-0.6.4 → reposnap-0.6.5}/.python-version +0 -0
  13. {reposnap-0.6.4 → reposnap-0.6.5}/.vscode/launch.json +0 -0
  14. {reposnap-0.6.4 → reposnap-0.6.5}/CONTRIBUTING.md +0 -0
  15. {reposnap-0.6.4 → reposnap-0.6.5}/LICENSE +0 -0
  16. {reposnap-0.6.4 → reposnap-0.6.5}/README.md +0 -0
  17. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/__init__.py +0 -0
  18. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/controllers/__init__.py +0 -0
  19. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/controllers/project_controller.py +0 -0
  20. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/core/__init__.py +0 -0
  21. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/core/file_system.py +0 -0
  22. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/core/git_repo.py +0 -0
  23. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/core/markdown_generator.py +0 -0
  24. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/interfaces/__init__.py +0 -0
  25. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/interfaces/cli.py +0 -0
  26. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/interfaces/gui.py +0 -0
  27. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/models/__init__.py +0 -0
  28. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/models/file_tree.py +0 -0
  29. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/utils/__init__.py +0 -0
  30. {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/utils/path_utils.py +0 -0
  31. {reposnap-0.6.4 → reposnap-0.6.5}/tests/__init__.py +0 -0
  32. {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/__init__.py +0 -0
  33. {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_cli.py +0 -0
  34. {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_collected_tree.py +0 -0
  35. {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_file_system.py +0 -0
  36. {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_file_tree.py +0 -0
  37. {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_git_repo.py +0 -0
  38. {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_gui.py +0 -0
  39. {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_markdown_generator.py +0 -0
  40. {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_path_utils.py +0 -0
  41. {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_project_controller.py +0 -0
  42. {reposnap-0.6.4 → reposnap-0.6.5}/tests/resources/another_existing_file.py +0 -0
  43. {reposnap-0.6.4 → reposnap-0.6.5}/tests/resources/existing_file.py +0 -0
@@ -0,0 +1,48 @@
1
+ # .github/workflows/release.yml
2
+ name: Release to PyPI
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v[0-9]+.[0-9]+.[0-9]+*'
7
+
8
+ jobs:
9
+ ci: # <-- root job (no needs)
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ - uses: eifinger/setup-rye@v4
14
+ with: { enable-cache: true }
15
+ - run: rye sync
16
+ - run: rye lint
17
+ - run: rye test
18
+
19
+ publish:
20
+ needs: ci
21
+ runs-on: ubuntu-latest
22
+
23
+ # 1️⃣ Run in the same named environment you entered on PyPI
24
+ environment:
25
+ name: pypi # must match the “Environment name” field on PyPI
26
+
27
+ # 2️⃣ Give this job the right to request an OIDC token
28
+ permissions:
29
+ contents: read # keep least-privilege defaults
30
+ id-token: write # ★ mandatory for trusted publishing
31
+
32
+ steps:
33
+ - uses: actions/checkout@v4
34
+ - uses: eifinger/setup-rye@v4
35
+ with: { enable-cache: true }
36
+
37
+ # build + Twine check
38
+ - run: |
39
+ rye sync
40
+ rye build --clean
41
+ rye run twine check dist/* # Twine comes from Rye venv
42
+
43
+ # 3️⃣ Call the publish action **without** password/username
44
+ - name: Publish to PyPI/TestPyPI
45
+ uses: pypa/gh-action-pypi-publish@release/v1
46
+ with:
47
+ repository-url: ${{ steps.repo.outputs.index_url }} # keep if you need Test-PyPI for -rc tags
48
+ skip-existing: true
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reposnap
3
- Version: 0.6.4
3
+ Version: 0.6.5
4
4
  Summary: Generate a Markdown file with all contents of your project
5
5
  Author: agoloborodko
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "reposnap"
3
- version = "0.6.4"
3
+ version = "0.6.5"
4
4
  description = "Generate a Markdown file with all contents of your project"
5
5
  authors = [
6
6
  { name = "agoloborodko" }
@@ -24,6 +24,7 @@ dev-dependencies = [
24
24
  "pytest>=8.3.2",
25
25
  "pre-commit>=4.2.0",
26
26
  "pytest-cov>=6.2.1",
27
+ "twine>=6.1.0",
27
28
  ]
28
29
 
29
30
  [tool.hatch.metadata]
@@ -0,0 +1,115 @@
1
+ # generated by rye
2
+ # use `rye lock` or `rye sync` to update this lockfile
3
+ #
4
+ # last locked with the following flags:
5
+ # pre: false
6
+ # features: []
7
+ # all-features: false
8
+ # with-sources: false
9
+ # generate-hashes: false
10
+ # universal: false
11
+
12
+ -e file:.
13
+ certifi==2025.6.15
14
+ # via requests
15
+ cffi==1.17.1
16
+ # via cryptography
17
+ cfgv==3.4.0
18
+ # via pre-commit
19
+ charset-normalizer==3.4.2
20
+ # via requests
21
+ coverage==7.9.1
22
+ # via pytest-cov
23
+ cryptography==45.0.4
24
+ # via secretstorage
25
+ distlib==0.3.9
26
+ # via virtualenv
27
+ docutils==0.21.2
28
+ # via readme-renderer
29
+ filelock==3.18.0
30
+ # via virtualenv
31
+ gitdb==4.0.11
32
+ # via gitpython
33
+ gitpython==3.1.43
34
+ # via reposnap
35
+ id==1.5.0
36
+ # via twine
37
+ identify==2.6.12
38
+ # via pre-commit
39
+ idna==3.10
40
+ # via requests
41
+ iniconfig==2.0.0
42
+ # via pytest
43
+ jaraco-classes==3.4.0
44
+ # via keyring
45
+ jaraco-context==6.0.1
46
+ # via keyring
47
+ jaraco-functools==4.2.1
48
+ # via keyring
49
+ jeepney==0.9.0
50
+ # via keyring
51
+ # via secretstorage
52
+ keyring==25.6.0
53
+ # via twine
54
+ markdown-it-py==3.0.0
55
+ # via rich
56
+ mdurl==0.1.2
57
+ # via markdown-it-py
58
+ more-itertools==10.7.0
59
+ # via jaraco-classes
60
+ # via jaraco-functools
61
+ nh3==0.2.21
62
+ # via readme-renderer
63
+ nodeenv==1.9.1
64
+ # via pre-commit
65
+ packaging==25.0
66
+ # via pytest
67
+ # via twine
68
+ pathlib==1.0.1
69
+ # via reposnap
70
+ pathspec==0.12.1
71
+ # via reposnap
72
+ platformdirs==4.3.8
73
+ # via virtualenv
74
+ pluggy==1.5.0
75
+ # via pytest
76
+ # via pytest-cov
77
+ pre-commit==4.2.0
78
+ pycparser==2.22
79
+ # via cffi
80
+ pygments==2.19.2
81
+ # via readme-renderer
82
+ # via rich
83
+ pytest==8.3.2
84
+ # via pytest-cov
85
+ pytest-cov==6.2.1
86
+ pyyaml==6.0.2
87
+ # via pre-commit
88
+ readme-renderer==44.0
89
+ # via twine
90
+ requests==2.32.4
91
+ # via id
92
+ # via requests-toolbelt
93
+ # via twine
94
+ requests-toolbelt==1.0.0
95
+ # via twine
96
+ rfc3986==2.0.0
97
+ # via twine
98
+ rich==14.0.0
99
+ # via twine
100
+ secretstorage==3.3.3
101
+ # via keyring
102
+ smmap==5.0.1
103
+ # via gitdb
104
+ twine==6.1.0
105
+ typing-extensions==4.12.2
106
+ # via urwid
107
+ urllib3==2.5.0
108
+ # via requests
109
+ # via twine
110
+ urwid==2.6.15
111
+ # via reposnap
112
+ virtualenv==20.31.2
113
+ # via pre-commit
114
+ wcwidth==0.2.13
115
+ # via urwid
@@ -11,10 +11,18 @@
11
11
 
12
12
  -e file:.
13
13
  gitdb==4.0.11
14
+ # via gitpython
14
15
  gitpython==3.1.43
16
+ # via reposnap
15
17
  pathlib==1.0.1
18
+ # via reposnap
16
19
  pathspec==0.12.1
20
+ # via reposnap
17
21
  smmap==5.0.1
22
+ # via gitdb
18
23
  typing-extensions==4.12.2
24
+ # via urwid
19
25
  urwid==2.6.15
26
+ # via reposnap
20
27
  wcwidth==0.2.13
28
+ # via urwid
@@ -1,52 +0,0 @@
1
- name: Release to PyPI
2
-
3
- on:
4
- push:
5
- tags:
6
- - 'v[0-9]+.[0-9]+.[0-9]+*' # any SemVer tag, eg v1.2.3 or v1.2.3-rc.1
7
-
8
- jobs:
9
- build-and-publish:
10
- runs-on: ubuntu-latest
11
-
12
- # Block publication unless the normal CI passed on this commit
13
- needs: build # <— refers to the existing job id in python-package.yml
14
-
15
- permissions:
16
- contents: read # principle of least privilege
17
- id-token: write # enable OIDC if you switch to trusted publishing later :contentReference[oaicite:1]{index=1}
18
-
19
- steps:
20
- - name: Checkout
21
- uses: actions/checkout@v4
22
-
23
- - name: Install Rye
24
- uses: eifinger/setup-rye@v4
25
- with:
26
- enable-cache: true
27
-
28
- - name: Build wheel & sdist
29
- run: |
30
- rye sync
31
- rye build --clean # Hatchling is the backend; Rye shells out to it :contentReference[oaicite:2]{index=2}
32
-
33
- - name: Verify metadata (optional)
34
- run: |
35
- rye run -e 'twine>=5' twine check dist/* :contentReference[oaicite:3]{index=3}
36
-
37
- # Select real PyPI vs TestPyPI
38
- - name: Set target repository
39
- id: repository
40
- run: |
41
- if [[ "${GITHUB_REF_NAME}" == *"-"* ]]; then
42
- echo "index_url=https://test.pypi.org/legacy/" >> "$GITHUB_OUTPUT"
43
- else
44
- echo "index_url=https://upload.pypi.org/legacy/" >> "$GITHUB_OUTPUT"
45
- fi
46
-
47
- - name: Publish
48
- uses: pypa/gh-action-pypi-publish@release/v1
49
- with:
50
- password: ${{ secrets.PYPI_API_TOKEN }}
51
- repository-url: ${{ steps.repository.outputs.index_url }}
52
- skip-existing: true # idempotent re-runs :contentReference[oaicite:4]{index=4}
@@ -1,35 +0,0 @@
1
- # generated by rye
2
- # use `rye lock` or `rye sync` to update this lockfile
3
- #
4
- # last locked with the following flags:
5
- # pre: false
6
- # features: []
7
- # all-features: false
8
- # with-sources: false
9
- # generate-hashes: false
10
- # universal: false
11
-
12
- -e file:.
13
- cfgv==3.4.0
14
- coverage==7.9.1
15
- distlib==0.3.9
16
- filelock==3.18.0
17
- gitdb==4.0.11
18
- gitpython==3.1.43
19
- identify==2.6.12
20
- iniconfig==2.0.0
21
- nodeenv==1.9.1
22
- packaging==25.0
23
- pathlib==1.0.1
24
- pathspec==0.12.1
25
- platformdirs==4.3.8
26
- pluggy==1.5.0
27
- pre-commit==4.2.0
28
- pytest==8.3.2
29
- pytest-cov==6.2.1
30
- pyyaml==6.0.2
31
- smmap==5.0.1
32
- typing-extensions==4.12.2
33
- urwid==2.6.15
34
- virtualenv==20.31.2
35
- wcwidth==0.2.13
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes