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.
- reposnap-0.6.5/.github/workflows/release.yml +48 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/PKG-INFO +1 -1
- {reposnap-0.6.4 → reposnap-0.6.5}/pyproject.toml +2 -1
- reposnap-0.6.5/requirements-dev.lock +115 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/requirements.lock +8 -0
- reposnap-0.6.4/.github/workflows/release.yml +0 -52
- reposnap-0.6.4/requirements-dev.lock +0 -35
- {reposnap-0.6.4 → reposnap-0.6.5}/.coverage +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/.github/workflows/python-package.yml +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/.gitignore +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/.pre-commit-config.yaml +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/.python-version +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/.vscode/launch.json +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/CONTRIBUTING.md +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/LICENSE +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/README.md +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/__init__.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/controllers/__init__.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/controllers/project_controller.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/core/__init__.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/core/file_system.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/core/git_repo.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/core/markdown_generator.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/interfaces/__init__.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/interfaces/cli.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/interfaces/gui.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/models/__init__.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/models/file_tree.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/utils/__init__.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/reposnap/utils/path_utils.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/tests/__init__.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/__init__.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_cli.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_collected_tree.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_file_system.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_file_tree.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_git_repo.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_gui.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_markdown_generator.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_path_utils.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/tests/reposnap/test_project_controller.py +0 -0
- {reposnap-0.6.4 → reposnap-0.6.5}/tests/resources/another_existing_file.py +0 -0
- {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
|
[project]
|
2
2
|
name = "reposnap"
|
3
|
-
version = "0.6.
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|