bricks-py 0.2.0__tar.gz → 0.2.1__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 (100) hide show
  1. {bricks_py-0.2.0 → bricks_py-0.2.1}/PKG-INFO +2 -2
  2. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/core/genesis.py +6 -2
  3. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/common.py +1 -1
  4. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/spider/addon.py +3 -3
  5. {bricks_py-0.2.0 → bricks_py-0.2.1}/pyproject.toml +2 -2
  6. {bricks_py-0.2.0 → bricks_py-0.2.1}/.gitignore +0 -0
  7. {bricks_py-0.2.0 → bricks_py-0.2.1}/LICENSE +0 -0
  8. {bricks_py-0.2.0 → bricks_py-0.2.1}/README.md +0 -0
  9. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/__init__.py +0 -0
  10. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/__main__.py +0 -0
  11. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/client/__init__.py +0 -0
  12. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/client/cli.py +0 -0
  13. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/client/manage.py +0 -0
  14. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/client/runner.py +0 -0
  15. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/client/server/__init__.py +0 -0
  16. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/client/server/sanic_.py +0 -0
  17. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/client/server/starlette_.py +0 -0
  18. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/core/__init__.py +0 -0
  19. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/core/context.py +0 -0
  20. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/core/dispatch.py +0 -0
  21. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/core/events.py +0 -0
  22. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/core/signals.py +0 -0
  23. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/db/__init__.py +0 -0
  24. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/db/mongo.py +0 -0
  25. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/db/redis_.py +0 -0
  26. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/db/rocksdb.py +0 -0
  27. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/db/sqlite.py +0 -0
  28. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/downloader/__init__.py +0 -0
  29. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/downloader/cffi.py +0 -0
  30. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/downloader/curl.py +0 -0
  31. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/downloader/dp.py +0 -0
  32. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/downloader/go_requests.py +0 -0
  33. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/downloader/httpx_.py +0 -0
  34. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/downloader/niquests_.py +0 -0
  35. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/downloader/playwright_.py +0 -0
  36. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/downloader/primp_.py +0 -0
  37. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/downloader/pyhttpx_.py +0 -0
  38. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/downloader/requests_.py +0 -0
  39. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/downloader/tls_client_.py +0 -0
  40. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/__init__.py +0 -0
  41. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/cookies.py +0 -0
  42. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/counter.py +0 -0
  43. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/extractors.py +0 -0
  44. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/headers.py +0 -0
  45. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/items.py +0 -0
  46. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/nodes.py +0 -0
  47. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/proxies.py +0 -0
  48. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/queues/__init__.py +0 -0
  49. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/queues/cache.py +0 -0
  50. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/queues/local.py +0 -0
  51. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/queues/redis_.py +0 -0
  52. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/queues/rocksdb_.py +0 -0
  53. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/queues/smart.py +0 -0
  54. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/queues/sqlite_.py +0 -0
  55. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/request.py +0 -0
  56. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/response.py +0 -0
  57. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/lib/variable.py +0 -0
  58. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/plugins/__init__.py +0 -0
  59. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/plugins/make_seeds.py +0 -0
  60. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/plugins/on_request.py +0 -0
  61. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/plugins/scripts.py +0 -0
  62. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/plugins/storage.py +0 -0
  63. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/__init__.py +0 -0
  64. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/grpc_/__init__.py +0 -0
  65. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/grpc_/generic.proto +0 -0
  66. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/grpc_/generic_pb2.py +0 -0
  67. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/grpc_/generic_pb2.pyi +0 -0
  68. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/grpc_/generic_pb2_grpc.py +0 -0
  69. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/grpc_/service.py +0 -0
  70. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/http_/__init__.py +0 -0
  71. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/http_/service.py +0 -0
  72. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/redis_/__init__.py +0 -0
  73. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/redis_/service.py +0 -0
  74. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/socket_/__init__.py +0 -0
  75. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/socket_/service.py +0 -0
  76. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/websocket_/__init__.py +0 -0
  77. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/rpc/websocket_/service.py +0 -0
  78. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/spider/__init__.py +0 -0
  79. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/spider/air.py +0 -0
  80. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/spider/form.py +0 -0
  81. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/spider/template.py +0 -0
  82. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/state.py +0 -0
  83. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/tpls/__init__.py +0 -0
  84. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/tpls/spider/__init__.py +0 -0
  85. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/tpls/spider/air.tpl +0 -0
  86. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/tpls/spider/form.tpl +0 -0
  87. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/tpls/spider/template.tpl +0 -0
  88. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/utils/__init__.py +0 -0
  89. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/utils/arrow.py +0 -0
  90. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/utils/codes.py +0 -0
  91. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/utils/compress.py +0 -0
  92. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/utils/convert.py +0 -0
  93. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/utils/csv_.py +0 -0
  94. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/utils/fake/__init__.py +0 -0
  95. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/utils/fake/stochastic.py +0 -0
  96. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/utils/fake/tls.py +0 -0
  97. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/utils/fake/user_agent.py +0 -0
  98. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/utils/package.py +0 -0
  99. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/utils/pandora.py +0 -0
  100. {bricks_py-0.2.0 → bricks_py-0.2.1}/bricks/utils/scheduler.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bricks-py
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: quickly build your crawler
5
5
  Project-URL: Homepage, https://github.com/KKKKKKKEM/bricks
6
6
  Project-URL: Repository, https://github.com/KKKKKKKEM/bricks.git
@@ -19,7 +19,7 @@ Classifier: Programming Language :: Python :: 3.11
19
19
  Classifier: Programming Language :: Python :: 3.12
20
20
  Classifier: Topic :: Internet :: WWW/HTTP
21
21
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
- Requires-Python: >=3.10
22
+ Requires-Python: <3.14,>=3.10
23
23
  Requires-Dist: better-exceptions==0.3.3
24
24
  Requires-Dist: curl-cffi==0.15.0
25
25
  Requires-Dist: jmespath-community==1.1.3
@@ -20,6 +20,8 @@ class MetaClass(type):
20
20
  def __call__(cls, *args, **kwargs):
21
21
  instance = type.__call__(cls, *args, **kwargs)
22
22
 
23
+ registed_evets = []
24
+
23
25
  # 加载拦截器
24
26
  for method in dir(instance):
25
27
  # 修改被拦截的方法
@@ -39,12 +41,14 @@ class MetaClass(type):
39
41
  continue
40
42
 
41
43
  if hasattr(func, "__event__"):
42
- instance.use(*func.__event__)
43
-
44
+ registed_evets.append(func.__event__)
44
45
 
45
46
  else:
46
47
  hasattr(instance, "install") and instance.install() # type: ignore
47
48
 
49
+ for event in registed_evets:
50
+ instance.use(*event)
51
+
48
52
  return instance
49
53
 
50
54
 
@@ -3,7 +3,7 @@ import inspect
3
3
  import json
4
4
  import uuid
5
5
  from concurrent import futures
6
- from typing import Any, Dict, Optional, Callable, Literal, Tuple
6
+ from typing import Any, Callable, Dict, Literal, Optional, Tuple
7
7
 
8
8
  from loguru import logger
9
9
 
@@ -3,13 +3,13 @@ import collections
3
3
  import concurrent.futures
4
4
  import math
5
5
  import uuid
6
- from typing import Type, Union, Callable, Optional, List, Any
6
+ from typing import Any, Callable, List, Optional, Type, Union
7
7
 
8
8
  from loguru import logger
9
9
 
10
- from bricks.core import signals, dispatch
10
+ from bricks.core import dispatch, signals
11
11
  from bricks.lib.queues import Item, LocalQueue, TaskQueue
12
- from bricks.rpc.common import start_rpc_server, MODE
12
+ from bricks.rpc.common import MODE, start_rpc_server
13
13
  from bricks.spider.air import Context, Spider
14
14
 
15
15
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "bricks-py"
3
- version = "0.2.0"
3
+ version = "0.2.1"
4
4
  description = "quickly build your crawler"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -19,7 +19,7 @@ classifiers = [
19
19
  "Topic :: Internet :: WWW/HTTP",
20
20
  "Topic :: Software Development :: Libraries :: Python Modules",
21
21
  ]
22
- requires-python = ">=3.10"
22
+ requires-python = ">=3.10,<3.14"
23
23
  dependencies = [
24
24
  "better-exceptions==0.3.3",
25
25
  "curl-cffi==0.15.0",
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