tha-wright-stuff 0.1.4__tar.gz → 0.1.6__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.
- tha_wright_stuff-0.1.6/.github/workflows/bump-dep-floors.yml +111 -0
- tha_wright_stuff-0.1.6/.github/workflows/ci.yml +12 -0
- {tha_wright_stuff-0.1.4 → tha_wright_stuff-0.1.6}/.github/workflows/publish.yml +5 -5
- {tha_wright_stuff-0.1.4 → tha_wright_stuff-0.1.6}/PKG-INFO +9 -10
- {tha_wright_stuff-0.1.4 → tha_wright_stuff-0.1.6}/pyproject.toml +9 -10
- tha_wright_stuff-0.1.4/.github/workflows/ci.yml +0 -36
- {tha_wright_stuff-0.1.4 → tha_wright_stuff-0.1.6}/.github/dependabot.yml +0 -0
- {tha_wright_stuff-0.1.4 → tha_wright_stuff-0.1.6}/.github/workflows/dependabot-auto-merge.yml +0 -0
- {tha_wright_stuff-0.1.4 → tha_wright_stuff-0.1.6}/.gitignore +0 -0
- {tha_wright_stuff-0.1.4 → tha_wright_stuff-0.1.6}/README.md +0 -0
- {tha_wright_stuff-0.1.4 → tha_wright_stuff-0.1.6}/src/tha_wright_stuff/__init__.py +0 -0
- {tha_wright_stuff-0.1.4 → tha_wright_stuff-0.1.6}/src/tha_wright_stuff/py.typed +0 -0
- {tha_wright_stuff-0.1.4 → tha_wright_stuff-0.1.6}/tests/test_imports.py +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
name: Bump Dependency Floors
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: '0 9 * * 5' # Fridays at 9am UTC
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: write
|
|
10
|
+
pull-requests: write
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
bump:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v7
|
|
17
|
+
|
|
18
|
+
- name: Install uv
|
|
19
|
+
uses: astral-sh/setup-uv@v8.2.0
|
|
20
|
+
with:
|
|
21
|
+
version: "latest"
|
|
22
|
+
|
|
23
|
+
- name: Check and update dependency floors
|
|
24
|
+
id: check
|
|
25
|
+
run: |
|
|
26
|
+
python3 - <<'PYEOF'
|
|
27
|
+
import re, json, os, sys
|
|
28
|
+
from urllib.request import urlopen
|
|
29
|
+
|
|
30
|
+
with open("pyproject.toml") as f:
|
|
31
|
+
content = f.read()
|
|
32
|
+
|
|
33
|
+
pattern = r'"(tha-[a-z-]+)>=([\d]+\.[\d]+\.[\d]+)"'
|
|
34
|
+
deps = re.findall(pattern, content)
|
|
35
|
+
|
|
36
|
+
bumps = []
|
|
37
|
+
for pkg, floor in deps:
|
|
38
|
+
try:
|
|
39
|
+
with urlopen(f"https://pypi.org/pypi/{pkg}/json", timeout=10) as r:
|
|
40
|
+
latest = json.load(r)["info"]["version"]
|
|
41
|
+
except Exception:
|
|
42
|
+
print(f" skipping {pkg} (PyPI lookup failed)")
|
|
43
|
+
continue
|
|
44
|
+
|
|
45
|
+
floor_t = tuple(int(x) for x in floor.split("."))
|
|
46
|
+
latest_t = tuple(int(x) for x in latest.split("."))
|
|
47
|
+
|
|
48
|
+
if latest_t > floor_t:
|
|
49
|
+
bumps.append((pkg, floor, latest))
|
|
50
|
+
print(f" {pkg}: >={floor} -> >={latest}")
|
|
51
|
+
else:
|
|
52
|
+
print(f" {pkg}: >={floor} ok (latest={latest})")
|
|
53
|
+
|
|
54
|
+
gho = os.environ["GITHUB_OUTPUT"]
|
|
55
|
+
if not bumps:
|
|
56
|
+
print("All floors current -- no PR needed.")
|
|
57
|
+
with open(gho, "a") as f:
|
|
58
|
+
f.write("changed=false\n")
|
|
59
|
+
sys.exit(0)
|
|
60
|
+
|
|
61
|
+
new_content = content
|
|
62
|
+
for pkg, old, new in bumps:
|
|
63
|
+
new_content = new_content.replace(f'"{pkg}>={old}"', f'"{pkg}>={new}"')
|
|
64
|
+
|
|
65
|
+
ver_m = re.search(r'^version = "(\d+)\.(\d+)\.(\d+)"', new_content, re.MULTILINE)
|
|
66
|
+
major, minor, patch = int(ver_m.group(1)), int(ver_m.group(2)), int(ver_m.group(3))
|
|
67
|
+
old_ver = f"{major}.{minor}.{patch}"
|
|
68
|
+
new_ver = f"{major}.{minor}.{patch + 1}"
|
|
69
|
+
new_content = new_content.replace(f'version = "{old_ver}"', f'version = "{new_ver}"')
|
|
70
|
+
|
|
71
|
+
with open("pyproject.toml", "w") as f:
|
|
72
|
+
f.write(new_content)
|
|
73
|
+
|
|
74
|
+
pr_lines = [f"- `{pkg}`: `>={old}` -> `>={new}`" for pkg, old, new in bumps]
|
|
75
|
+
pr_body = (
|
|
76
|
+
"## Dependency Floor Bumps\n\n"
|
|
77
|
+
+ "\n".join(pr_lines)
|
|
78
|
+
+ f"\n\nPackage version bumped `{old_ver}` -> `{new_ver}`."
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
with open("/tmp/pr_body.txt", "w") as f:
|
|
82
|
+
f.write(pr_body)
|
|
83
|
+
|
|
84
|
+
with open(gho, "a") as f:
|
|
85
|
+
f.write("changed=true\n")
|
|
86
|
+
f.write(f"new_version={new_ver}\n")
|
|
87
|
+
|
|
88
|
+
print(f"pyproject.toml updated -- version {old_ver} -> {new_ver}")
|
|
89
|
+
PYEOF
|
|
90
|
+
|
|
91
|
+
- name: Update lockfile
|
|
92
|
+
if: steps.check.outputs.changed == 'true'
|
|
93
|
+
run: uv lock
|
|
94
|
+
|
|
95
|
+
- name: Commit and open PR
|
|
96
|
+
if: steps.check.outputs.changed == 'true'
|
|
97
|
+
run: |
|
|
98
|
+
git config user.name "github-actions[bot]"
|
|
99
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
100
|
+
BRANCH="chore/bump-dep-floors-$(date +%Y%m%d)"
|
|
101
|
+
git checkout -b "$BRANCH"
|
|
102
|
+
git add pyproject.toml uv.lock
|
|
103
|
+
git commit -m "chore: bump tha-* dependency floors to v${{ steps.check.outputs.new_version }}"
|
|
104
|
+
git push origin "$BRANCH"
|
|
105
|
+
gh pr create \
|
|
106
|
+
--title "chore: bump tha-* dependency floors (${{ steps.check.outputs.new_version }})" \
|
|
107
|
+
--body-file /tmp/pr_body.txt \
|
|
108
|
+
--base main \
|
|
109
|
+
--head "$BRANCH"
|
|
110
|
+
env:
|
|
111
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
name: Publish
|
|
1
|
+
name: Publish
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
@@ -9,10 +9,10 @@ jobs:
|
|
|
9
9
|
build:
|
|
10
10
|
runs-on: ubuntu-latest
|
|
11
11
|
steps:
|
|
12
|
-
- uses: actions/checkout@
|
|
12
|
+
- uses: actions/checkout@v7
|
|
13
13
|
|
|
14
14
|
- name: Install uv
|
|
15
|
-
uses: astral-sh/setup-uv@
|
|
15
|
+
uses: astral-sh/setup-uv@v8.2.0
|
|
16
16
|
|
|
17
17
|
- name: Build
|
|
18
18
|
run: uv build
|
|
@@ -37,7 +37,7 @@ jobs:
|
|
|
37
37
|
path: dist/
|
|
38
38
|
|
|
39
39
|
- name: Install uv
|
|
40
|
-
uses: astral-sh/setup-uv@
|
|
40
|
+
uses: astral-sh/setup-uv@v8.2.0
|
|
41
41
|
|
|
42
42
|
- name: Publish to TestPyPI
|
|
43
43
|
run: uv publish --publish-url https://test.pypi.org/legacy/ --trusted-publishing always
|
|
@@ -56,7 +56,7 @@ jobs:
|
|
|
56
56
|
path: dist/
|
|
57
57
|
|
|
58
58
|
- name: Install uv
|
|
59
|
-
uses: astral-sh/setup-uv@
|
|
59
|
+
uses: astral-sh/setup-uv@v8.2.0
|
|
60
60
|
|
|
61
61
|
- name: Publish to PyPI
|
|
62
62
|
run: uv publish --trusted-publishing always
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tha-wright-stuff
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.6
|
|
4
4
|
Summary: A Tabular Helper meta-package that bundles the full tha-* library family in a single install.
|
|
5
5
|
Project-URL: Homepage, https://github.com/tha-guy-nate/tha-wright-stuff
|
|
6
6
|
Project-URL: Issues, https://github.com/tha-guy-nate/tha-wright-stuff/issues
|
|
@@ -15,18 +15,17 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.14
|
|
19
18
|
Classifier: Topic :: Utilities
|
|
20
19
|
Classifier: Typing :: Typed
|
|
21
20
|
Requires-Python: >=3.10
|
|
22
|
-
Requires-Dist: tha-aws-runner>=0.1.
|
|
23
|
-
Requires-Dist: tha-csv-runner>=0.2.
|
|
24
|
-
Requires-Dist: tha-edfi-runner>=0.1.
|
|
25
|
-
Requires-Dist: tha-google-runner>=0.1.
|
|
26
|
-
Requires-Dist: tha-map-runner>=0.2.
|
|
27
|
-
Requires-Dist: tha-req-runner>=0.2.
|
|
28
|
-
Requires-Dist: tha-snowflake-runner>=0.1.
|
|
29
|
-
Requires-Dist: tha-utils-helper>=0.2.
|
|
21
|
+
Requires-Dist: tha-aws-runner>=0.1.16
|
|
22
|
+
Requires-Dist: tha-csv-runner>=0.2.7
|
|
23
|
+
Requires-Dist: tha-edfi-runner>=0.1.3
|
|
24
|
+
Requires-Dist: tha-google-runner>=0.1.6
|
|
25
|
+
Requires-Dist: tha-map-runner>=0.2.8
|
|
26
|
+
Requires-Dist: tha-req-runner>=0.2.3
|
|
27
|
+
Requires-Dist: tha-snowflake-runner>=0.1.2
|
|
28
|
+
Requires-Dist: tha-utils-helper>=0.2.4
|
|
30
29
|
Provides-Extra: dev
|
|
31
30
|
Requires-Dist: mypy>=2.1.0; extra == 'dev'
|
|
32
31
|
Requires-Dist: pytest>=9.1.0; extra == 'dev'
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tha-wright-stuff"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.6"
|
|
8
8
|
description = "A Tabular Helper meta-package that bundles the full tha-* library family in a single install."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -16,7 +16,6 @@ classifiers = [
|
|
|
16
16
|
"Programming Language :: Python :: 3.11",
|
|
17
17
|
"Programming Language :: Python :: 3.12",
|
|
18
18
|
"Programming Language :: Python :: 3.13",
|
|
19
|
-
"Programming Language :: Python :: 3.14",
|
|
20
19
|
"License :: OSI Approved :: MIT License",
|
|
21
20
|
"Operating System :: OS Independent",
|
|
22
21
|
"Intended Audience :: Developers",
|
|
@@ -25,14 +24,14 @@ classifiers = [
|
|
|
25
24
|
]
|
|
26
25
|
keywords = ["tabular", "helper", "api", "csv", "aws", "edfi", "google", "snowflake", "utilities", "meta"]
|
|
27
26
|
dependencies = [
|
|
28
|
-
"tha-csv-runner>=0.2.
|
|
29
|
-
"tha-map-runner>=0.2.
|
|
30
|
-
"tha-req-runner>=0.2.
|
|
31
|
-
"tha-aws-runner>=0.1.
|
|
32
|
-
"tha-utils-helper>=0.2.
|
|
33
|
-
"tha-edfi-runner>=0.1.
|
|
34
|
-
"tha-google-runner>=0.1.
|
|
35
|
-
"tha-snowflake-runner>=0.1.
|
|
27
|
+
"tha-csv-runner>=0.2.7",
|
|
28
|
+
"tha-map-runner>=0.2.8",
|
|
29
|
+
"tha-req-runner>=0.2.3",
|
|
30
|
+
"tha-aws-runner>=0.1.16",
|
|
31
|
+
"tha-utils-helper>=0.2.4",
|
|
32
|
+
"tha-edfi-runner>=0.1.3",
|
|
33
|
+
"tha-google-runner>=0.1.6",
|
|
34
|
+
"tha-snowflake-runner>=0.1.2",
|
|
36
35
|
]
|
|
37
36
|
|
|
38
37
|
[project.optional-dependencies]
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: ["main"]
|
|
6
|
-
pull_request:
|
|
7
|
-
|
|
8
|
-
jobs:
|
|
9
|
-
test:
|
|
10
|
-
runs-on: ubuntu-latest
|
|
11
|
-
strategy:
|
|
12
|
-
matrix:
|
|
13
|
-
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
|
14
|
-
|
|
15
|
-
steps:
|
|
16
|
-
- uses: actions/checkout@v6
|
|
17
|
-
|
|
18
|
-
- name: Install uv
|
|
19
|
-
uses: astral-sh/setup-uv@v7
|
|
20
|
-
with:
|
|
21
|
-
version: "latest"
|
|
22
|
-
|
|
23
|
-
- name: Set up Python ${{ matrix.python-version }}
|
|
24
|
-
run: uv python install ${{ matrix.python-version }}
|
|
25
|
-
|
|
26
|
-
- name: Install dependencies
|
|
27
|
-
run: uv sync --extra dev --python ${{ matrix.python-version }}
|
|
28
|
-
|
|
29
|
-
- name: Lint
|
|
30
|
-
run: uv run ruff check src/
|
|
31
|
-
|
|
32
|
-
- name: Test
|
|
33
|
-
run: uv run pytest
|
|
34
|
-
|
|
35
|
-
- name: Type check
|
|
36
|
-
run: uv run mypy src/
|
|
File without changes
|
{tha_wright_stuff-0.1.4 → tha_wright_stuff-0.1.6}/.github/workflows/dependabot-auto-merge.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|