ultralytics-actions 0.0.66__tar.gz → 0.0.67__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 (21) hide show
  1. {ultralytics_actions-0.0.66/ultralytics_actions.egg-info → ultralytics_actions-0.0.67}/PKG-INFO +1 -1
  2. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/__init__.py +1 -1
  3. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/utils/common_utils.py +9 -7
  4. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67/ultralytics_actions.egg-info}/PKG-INFO +1 -1
  5. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/LICENSE +0 -0
  6. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/README.md +0 -0
  7. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/first_interaction.py +0 -0
  8. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/summarize_pr.py +0 -0
  9. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/summarize_release.py +0 -0
  10. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/update_markdown_code_blocks.py +0 -0
  11. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/utils/__init__.py +0 -0
  12. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/utils/github_utils.py +0 -0
  13. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/utils/openai_utils.py +0 -0
  14. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/pyproject.toml +0 -0
  15. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/setup.cfg +0 -0
  16. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/tests/test_urls.py +0 -0
  17. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/ultralytics_actions.egg-info/SOURCES.txt +0 -0
  18. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/ultralytics_actions.egg-info/dependency_links.txt +0 -0
  19. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/ultralytics_actions.egg-info/entry_points.txt +0 -0
  20. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/ultralytics_actions.egg-info/requires.txt +0 -0
  21. {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/ultralytics_actions.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics-actions
3
- Version: 0.0.66
3
+ Version: 0.0.67
4
4
  Summary: Ultralytics Actions for GitHub automation and PR management.
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -22,4 +22,4 @@
22
22
  # ├── test_summarize_pr.py
23
23
  # └── ...
24
24
 
25
- __version__ = "0.0.66"
25
+ __version__ = "0.0.67"
@@ -20,15 +20,14 @@ REQUESTS_HEADERS = {
20
20
  "Sec-Fetch-Mode": "navigate",
21
21
  "Sec-Fetch-User": "?1",
22
22
  "Sec-Fetch-Dest": "document",
23
- "Referer": "https://www.google.com/",
24
- "Origin": "https://www.google.com/",
25
23
  }
26
24
  BAD_HTTP_CODES = frozenset(
27
25
  {
28
- # 204, # No content
26
+ 204, # No content
29
27
  # 403, # Forbidden - client lacks permission to access the resource (commented as works in browser typically)
30
28
  404, # Not Found - requested resource doesn't exist
31
29
  405, # Method Not Allowed - HTTP method not supported for this endpoint
30
+ 406, # Not Acceptable - server can't generate response matching client's acceptable headers
32
31
  410, # Gone - resource permanently removed
33
32
  500, # Internal Server Error - server encountered an error
34
33
  502, # Bad Gateway - upstream server sent invalid response
@@ -141,7 +140,7 @@ def brave_search(query, api_key, count=5):
141
140
  return [result.get("url") for result in results if result.get("url")]
142
141
 
143
142
 
144
- def is_url(url, session=None, check=True, max_attempts=3, timeout=2, return_url=False, redirect=False):
143
+ def is_url(url, session=None, check=True, max_attempts=3, timeout=3, return_url=False, redirect=False):
145
144
  """Check if string is URL and optionally verify it exists, with fallback for GitHub repos."""
146
145
  try:
147
146
  # Check allow list
@@ -200,6 +199,7 @@ def check_links_in_string(text, verbose=True, return_bad=False, replace=False):
200
199
 
201
200
  with requests.Session() as session, ThreadPoolExecutor(max_workers=64) as executor:
202
201
  session.headers.update(REQUESTS_HEADERS)
202
+ session.cookies = requests.cookies.RequestsCookieJar()
203
203
  results = list(executor.map(lambda x: is_url(x[1], session, return_url=True, redirect=True), urls))
204
204
  bad_urls = [url for (title, url), (valid, redirect) in zip(urls, results) if not valid]
205
205
 
@@ -212,14 +212,16 @@ def check_links_in_string(text, verbose=True, return_bad=False, replace=False):
212
212
  for (title, url), (valid, redirect) in zip(urls, results):
213
213
  # Handle invalid URLs with Brave search
214
214
  if not valid and brave_api_key:
215
- if search_urls := brave_search(f"{title[:200]} {(redirect or url)[:200]}", brave_api_key, count=3):
215
+ query = f"{(redirect or url)[:200]} {title[:199]}"
216
+ if search_urls := brave_search(query, brave_api_key, count=3):
216
217
  best_url = search_urls[0]
217
218
  for alt_url in search_urls:
218
219
  if is_url(alt_url, session):
219
220
  best_url = alt_url
220
221
  break
221
- replacements[url] = best_url
222
- modified_text = modified_text.replace(url, best_url)
222
+ if url != best_url:
223
+ replacements[url] = best_url
224
+ modified_text = modified_text.replace(url, best_url)
223
225
  # Handle redirects for valid URLs
224
226
  elif valid and redirect and redirect != url:
225
227
  replacements[url] = redirect
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics-actions
3
- Version: 0.0.66
3
+ Version: 0.0.67
4
4
  Summary: Ultralytics Actions for GitHub automation and PR management.
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>