grasp-sdk 0.1.1__tar.gz → 0.1.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.

Potentially problematic release.


This version of grasp-sdk might be problematic. Click here for more details.

Files changed (30) hide show
  1. {grasp_sdk-0.1.1/grasp_sdk.egg-info → grasp_sdk-0.1.2}/PKG-INFO +1 -1
  2. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk/__init__.py +8 -2
  3. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk/sandbox/chrome-stable.mjs +4 -0
  4. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk/sandbox/chromium.mjs +4 -0
  5. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk/services/browser.py +8 -17
  6. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk/services/sandbox.py +3 -4
  7. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2/grasp_sdk.egg-info}/PKG-INFO +1 -1
  8. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/pyproject.toml +1 -1
  9. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/MANIFEST.in +0 -0
  10. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/README.md +0 -0
  11. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/build_and_publish.py +0 -0
  12. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/example_usage.py +0 -0
  13. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk/models/__init__.py +0 -0
  14. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk/sandbox/jsconfig.json +0 -0
  15. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk/services/__init__.py +0 -0
  16. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk/utils/__init__.py +0 -0
  17. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk/utils/auth.py +0 -0
  18. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk/utils/config.py +0 -0
  19. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk/utils/logger.py +0 -0
  20. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk.egg-info/SOURCES.txt +0 -0
  21. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk.egg-info/dependency_links.txt +0 -0
  22. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk.egg-info/entry_points.txt +0 -0
  23. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk.egg-info/not-zip-safe +0 -0
  24. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk.egg-info/requires.txt +0 -0
  25. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/grasp_sdk.egg-info/top_level.txt +0 -0
  26. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/py.typed +0 -0
  27. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/requirements.txt +0 -0
  28. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/setup.cfg +0 -0
  29. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/setup.py +0 -0
  30. {grasp_sdk-0.1.1 → grasp_sdk-0.1.2}/test_install.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: grasp_sdk
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: Python SDK for Grasp E2B - Browser automation and sandbox management
5
5
  Home-page: https://github.com/grasp-team/grasp-e2b
6
6
  Author: Grasp Team
@@ -72,8 +72,8 @@ class GraspServer:
72
72
  connection = await self.create_browser_task()
73
73
 
74
74
  # Register server
75
- if connection['id']:
76
- _servers[connection['id']] = self
75
+ # if connection['id']:
76
+ # _servers[connection['id']] = self
77
77
 
78
78
  return connection
79
79
 
@@ -162,6 +162,12 @@ class GraspServer:
162
162
  browser_config
163
163
  )
164
164
  await self.browser_service.initialize()
165
+
166
+ # Register server
167
+ _servers[str(self.browser_service.id)] = self
168
+ self.logger.info("🚀 Browser service initialized", {
169
+ 'id': self.browser_service.id,
170
+ })
165
171
 
166
172
  self.logger.info('🌐 Launching Chromium browser with CDP...')
167
173
  cdp_connection = await self.browser_service.launch_browser(browser_type)
@@ -232,6 +232,10 @@ try {
232
232
  });
233
233
 
234
234
  const server = http.createServer(async (req, res) => {
235
+ if (req.url === '/health') {
236
+ res.end('ok');
237
+ return;
238
+ }
235
239
  if (req.url === '/json/version' || req.url === '/json/version/') {
236
240
  try {
237
241
  // 向本地 CDP 发请求,获取原始 JSON
@@ -229,6 +229,10 @@ try {
229
229
  });
230
230
 
231
231
  const server = http.createServer(async (req, res) => {
232
+ if (req.url === '/health') {
233
+ res.end('ok');
234
+ return;
235
+ }
232
236
  if (req.url === '/json/version' || req.url === '/json/version/') {
233
237
  try {
234
238
  // 向本地 CDP 发请求,获取原始 JSON
@@ -80,27 +80,18 @@ class BrowserService:
80
80
  self._health_check_task: Optional[asyncio.Task] = None
81
81
 
82
82
  def _get_default_logger(self):
83
- """Get default logger instance.
84
-
85
- Returns:
86
- Logger instance
87
- """
83
+ """Gets or creates a default logger instance."""
88
84
  try:
89
- from utils.logger import Logger
90
85
  return get_logger().child('BrowserService')
91
86
  except Exception:
92
87
  # If logger is not initialized, create a default one
93
- logger = logging.getLogger('BrowserService')
94
- if not logger.handlers:
95
- handler = logging.StreamHandler()
96
- formatter = logging.Formatter(
97
- '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
98
- )
99
- handler.setFormatter(formatter)
100
- logger.addHandler(handler)
101
- logger.setLevel(logging.INFO)
102
- return logger
103
-
88
+ from ..utils.logger import Logger
89
+ default_logger = Logger({
90
+ 'level': 'debug' if self.config.get('debug', False) else 'info',
91
+ 'console': True,
92
+ })
93
+ return default_logger.child('BrowserService')
94
+
104
95
  async def initialize(self) -> None:
105
96
  """Initialize the Grasp sandbox.
106
97
 
@@ -133,9 +133,6 @@ class SandboxService:
133
133
 
134
134
  try:
135
135
  self.status = SandboxStatus.CREATING
136
- self.logger.info('Creating Grasp sandbox', {
137
- 'templateId': self.config['templateId'],
138
- })
139
136
 
140
137
  # Verify authentication
141
138
  res = await verify(self.config)
@@ -145,7 +142,9 @@ class SandboxService:
145
142
  api_key = res['data']['token']
146
143
 
147
144
  # Create sandbox
148
-
145
+ self.logger.info('Creating Grasp sandbox', {
146
+ 'templateId': self.config['templateId'],
147
+ })
149
148
  # Use Sandbox constructor directly (e2b SDK 1.5.3+)
150
149
  self.sandbox = await AsyncSandbox.create(
151
150
  template=self.config['templateId'],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: grasp_sdk
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: Python SDK for Grasp E2B - Browser automation and sandbox management
5
5
  Home-page: https://github.com/grasp-team/grasp-e2b
6
6
  Author: Grasp Team
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "grasp_sdk"
7
- version = "0.1.1"
7
+ version = "0.1.2"
8
8
  authors = [
9
9
  {name = "Grasp Team", email = "team@grasp.com"},
10
10
  ]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes