Karim shoair
e53ce3f749
refactor: Making the requests logic better and cleaner
...
Also, solve some bugs along the way and a cleaner fix for #97
2025-10-06 05:00:41 +03:00
Karim shoair
debe03256b
refactor: Making all the codebase acceptable by PyRight
...
Also fixes #97
2025-10-05 04:03:39 +03:00
Karim shoair
e149c715dd
feat(CF solver): better implementation to help with all custom implementations of turnstile
2025-10-02 20:05:39 +03:00
Karim shoair
5127d386c9
style(Fetcher): correcting type hints and annotation
2025-10-01 06:18:23 +03:00
Karim shoair
849913ad77
style: Correcting return type annotation for Fetcher/AsyncFetcher ( #93 )
2025-10-01 04:17:59 +03:00
Karim shoair
eedfa855ab
fix: Fixes for the type checking in the main init file
...
and a bit of cleaning
2025-10-01 03:50:39 +03:00
Karim shoair
f6c122b87f
style: Removing dead code/docstrings
2025-09-29 05:09:23 +03:00
Karim shoair
8ad7cd6343
docs: Update all pages/docstrings to reflect recent changes
2025-09-29 03:57:40 +03:00
Karim shoair
716a5c3572
feat(cf solver): Make solver able to handle Turnstile and interstitial
2025-09-28 02:53:51 +03:00
Karim shoair
82b09620b2
perf: Improving all browser-based fetches by ~15%
2025-09-20 06:20:23 +03:00
Karim shoair
970ad40404
perf: Speed up sync fetches by ignoring number of pages checking
2025-09-20 04:31:57 +03:00
Karim shoair
67db865aee
feat(DynamicFetcher): Replace rebrowser with patchright
2025-09-20 00:23:29 +03:00
Karim shoair
a9d05cc0ef
style: Removing dead code/docstrings and correcting type hints
2025-09-19 04:49:30 +03:00
Abdullah
7ba333c3c9
perf(session): improve page management and speed up execution
...
Close pages immediately after tasks finish to reduce resource usage and
improve overall performance. Update corresponding test files to reflect
the new page lifecycle management.
2025-09-17 18:49:45 +03:00
Karim shoair
5683965367
fix(sessions): Fixing a bug with max pages counter
2025-09-16 01:47:31 +03:00
Karim shoair
5bcd4c2927
fix: A workaround for Playwright issue with page content retrieving on windows
2025-09-15 21:34:20 +03:00
Karim shoair
7a7097b775
fix: Stop removing browser default page
...
Looks like it's problematic with some systems so it doesn't worth the trouble
2025-09-15 13:43:47 +03:00
Karim shoair
f848e6b7f2
fix: Fixes to handle the new extra deps group
2025-09-15 00:19:19 +03:00
Karim shoair
67ca139ff9
fix: Fixes for multiple encoding issues ( #80 & #81 )
2025-09-14 20:20:29 +03:00
Karim shoair
13d7e70cb7
refactor: Make all fetchers as an optional dependency group
...
+ Removing some dead code
2025-09-13 16:07:48 +03:00
Karim shoair
8c4d6158d6
feat(browser fetchers): A new option to control page JS
2025-09-13 03:59:12 +03:00
Karim shoair
330d03559c
style: applying the new ruff rules to all files
2025-09-13 03:22:53 +03:00
Karim shoair
60be9dc816
feat: Validate all fetch-level parameters
...
So it's validated like the session-level ones. Needs improvement, but that's for later
2025-09-13 03:22:08 +03:00
Karim shoair
0c7db3c9d9
fix: validation keywords
2025-09-13 02:07:04 +03:00
Karim shoair
adb82008e5
style: Using keywords for validation
...
Less lines of code and more stylish
2025-09-12 04:33:00 +03:00
Karim shoair
05a714980d
docs: Update all docstring according to the new changes
2025-09-11 04:13:36 +03:00
Karim shoair
9838d741d0
refactor/feat(browser fetchers): make it possible to have a configuration per page in sessions
...
- Also, no need for the `page_action` argument function to return the page again
2025-09-11 03:48:55 +03:00
Karim shoair
ecaec65049
refactor/fix(browser fetchers): Solving a logic bug in page rotation
...
- Pages that get reused in rotation are possibly contaminated from previous settings used on them, and some are stubborn to remove, so the new approach replaces finished pages with new ones.
- Removed the `max_pages` from sync `StealthySession` to match `DynamicSession` (Doesn't mean anything in sync code)
2025-09-08 16:08:57 +03:00
Karim shoair
f298b76b8e
perf(StealthySession): Close persistent context default page
2025-09-07 18:48:51 +03:00
Karim shoair
710f994339
perf(DynamicSession): Close persistent context default page
2025-09-07 18:48:40 +03:00
Karim shoair
4341477a66
perf(StealthyFetcher): Slight optimization
2025-09-07 04:58:55 +03:00
Karim shoair
72e26c23e8
fix(DynamicFetcher): Improve stealth mode
2025-09-07 03:13:51 +03:00
Karim shoair
6ad1bab2e4
feat(DynamicFetcher): add the ability to add init_script to context ( #56 )
2025-09-02 16:25:13 +03:00
Karim shoair
9543f171aa
feat(StealthyFetcher): add the ability to add init_script to context
2025-09-02 16:19:22 +03:00
Karim shoair
967c0956a1
feat(DynamicSession): Improve stealth mode
2025-08-31 02:57:12 +03:00
Karim shoair
6eb580a6d0
feat(DynamicSession): Improve normal fetches speed
2025-08-31 02:56:34 +03:00
Karim shoair
b5be2547d7
fix(dynamicSession): issue with headless
2025-08-31 01:29:47 +03:00
Karim shoair
2f402f4835
style: add flags for tests coverage
...
- Some are already tested but the coverage report can't see it.
- Some are not necessary to test or too hard to test on GitHub's CI
2025-08-17 01:02:14 +03:00
Karim shoair
009bbb20c0
refactor(dynamic Fetcher): small optimization
2025-08-16 23:20:54 +03:00
Karim shoair
6c9a960a44
fix(dynamicFetcher): Fix a bug with real_chrome argument
2025-08-16 16:01:32 +03:00
Karim shoair
825896c6a8
fix: improve checking for valid proxy and valid CDP URL
2025-08-03 16:31:16 +03:00
Karim shoair
5bb1266fa5
style: using isinstance function as the main way for type checking
2025-07-30 03:14:23 +03:00
Karim shoair
ae9ccaec79
style: A lot of type hints correction
...
Since we are using Py3.10 as minimum version now, we remove Union when possible
2025-07-30 02:46:57 +03:00
Karim shoair
e7cdd39695
style: replacing os with Pathlib and small optimizations
2025-07-30 01:15:28 +03:00
Karim shoair
8ca940d768
style: removing dead code
2025-07-29 23:43:31 +03:00
Karim shoair
9bcb9e9d93
style: General type hints fixes and imports optimizing
2025-07-29 23:43:06 +03:00
Karim shoair
b9c7a5af2e
refactor: replace's Selector inpt (text/body) with 1 argument called content
2025-07-29 06:08:15 +03:00
Karim shoair
264ae02aa7
refactor: huge change, many features/class got a better naming
...
- `Adaptor` became `Selector`
- `Adaptors` became `Selectors`
- `auto_match` argument/feature became `adaptive`
- `adaptor_arguments` argument became `selector_config`
- `automatch_domain` argument became `adaptive_domain`
- `additional_arguments` argument became `additional_args`
- `storage_adaptors` file became just `storage`
2025-07-29 04:20:23 +03:00
Karim shoair
d1aa0be6e4
refactor(StealthyFetcher): Remove virtual mode and use persistent context
...
Solves #64 completely too
2025-07-27 03:41:28 +03:00
Karim shoair
ecef751468
fix: small fix for fetcher
2025-07-14 02:14:54 +03:00