gemini-webapi 1.14.1__tar.gz → 1.14.2__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 (38) hide show
  1. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/PKG-INFO +1 -1
  2. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/client.py +1 -0
  3. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/types/image.py +6 -1
  4. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi.egg-info/PKG-INFO +1 -1
  5. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/tests/test_save_image.py +2 -2
  6. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/.github/dependabot.yml +0 -0
  7. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/.github/workflows/github-release.yml +0 -0
  8. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/.github/workflows/pypi-publish.yml +0 -0
  9. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/.gitignore +0 -0
  10. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/.vscode/launch.json +0 -0
  11. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/.vscode/settings.json +0 -0
  12. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/LICENSE +0 -0
  13. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/README.md +0 -0
  14. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/assets/banner.png +0 -0
  15. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/assets/favicon.png +0 -0
  16. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/assets/logo.svg +0 -0
  17. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/assets/sample.pdf +0 -0
  18. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/pyproject.toml +0 -0
  19. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/setup.cfg +0 -0
  20. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/__init__.py +0 -0
  21. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/constants.py +0 -0
  22. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/exceptions.py +0 -0
  23. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/types/__init__.py +0 -0
  24. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/types/candidate.py +0 -0
  25. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/types/gem.py +0 -0
  26. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/types/modeloutput.py +0 -0
  27. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/utils/__init__.py +0 -0
  28. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/utils/get_access_token.py +0 -0
  29. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/utils/load_browser_cookies.py +0 -0
  30. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/utils/logger.py +0 -0
  31. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/utils/rotate_1psidts.py +0 -0
  32. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi/utils/upload_file.py +0 -0
  33. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi.egg-info/SOURCES.txt +0 -0
  34. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi.egg-info/dependency_links.txt +0 -0
  35. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi.egg-info/requires.txt +0 -0
  36. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/src/gemini_webapi.egg-info/top_level.txt +0 -0
  37. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/tests/test_client_features.py +0 -0
  38. {gemini_webapi-1.14.1 → gemini_webapi-1.14.2}/tests/test_rotate_cookies.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gemini-webapi
3
- Version: 1.14.1
3
+ Version: 1.14.2
4
4
  Summary: ✨ An elegant async Python wrapper for Google Gemini web app
5
5
  Author: UZQueen
6
6
  License: GNU AFFERO GENERAL PUBLIC LICENSE
@@ -357,6 +357,7 @@ class GeminiClient:
357
357
  if not predefined_gems and not custom_gems:
358
358
  raise Exception
359
359
  except Exception:
360
+ await self.close()
360
361
  logger.debug(f"Invalid response: {response.text}")
361
362
  raise APIError(
362
363
  "Failed to fetch gems. Invalid response data received. Client will try to re-initialize on next request."
@@ -137,7 +137,7 @@ class GeneratedImage(Image):
137
137
  return v
138
138
 
139
139
  # @override
140
- async def save(self, **kwargs) -> str | None:
140
+ async def save(self, full_size=True, **kwargs) -> str | None:
141
141
  """
142
142
  Save the image to disk.
143
143
 
@@ -146,6 +146,8 @@ class GeneratedImage(Image):
146
146
  filename: `str`, optional
147
147
  Filename to save the image, generated images are always in .png format, but file extension will not be included in the URL.
148
148
  And since the URL ends with a long hash, by default will use timestamp + end of the hash as the filename.
149
+ full_size: `bool`, optional
150
+ If True, will modify the default preview (512*512) URL to get the full size image.
149
151
  kwargs: `dict`, optional
150
152
  Other arguments to pass to `Image.save`.
151
153
 
@@ -155,6 +157,9 @@ class GeneratedImage(Image):
155
157
  Absolute path of the saved image if successfully saved.
156
158
  """
157
159
 
160
+ if full_size:
161
+ self.url += "=s2048"
162
+
158
163
  return await super().save(
159
164
  filename=kwargs.pop("filename", None)
160
165
  or f"{datetime.now().strftime('%Y%m%d%H%M%S')}_{self.url[-10:]}.png",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gemini-webapi
3
- Version: 1.14.1
3
+ Version: 1.14.2
4
4
  Summary: ✨ An elegant async Python wrapper for Google Gemini web app
5
5
  Author: UZQueen
6
6
  License: GNU AFFERO GENERAL PUBLIC LICENSE
@@ -35,12 +35,12 @@ class TestGeminiClient(unittest.IsolatedAsyncioTestCase):
35
35
 
36
36
  async def test_save_generated_image(self):
37
37
  response = await self.geminiclient.generate_content(
38
- "Generate some pictures of random subjects"
38
+ "Generate a picture of random subjects"
39
39
  )
40
40
  self.assertTrue(response.images)
41
41
  for i, image in enumerate(response.images):
42
42
  self.assertTrue(image.url)
43
- await image.save(verbose=True)
43
+ await image.save(verbose=True, full_size=True)
44
44
 
45
45
 
46
46
  if __name__ == "__main__":
File without changes
File without changes
File without changes