Commit Graph
100 Commits
Author SHA1 Message Date
Karim shoair f0b01fc253 refactor(browser fetchers): Make all the type hints dynamic + Faster validation
Made the code shorter by an additional ~200 lines and easier to maintain in return for making the arguments autocompletion bad for shells that don't check for dynamic type hints like IPython.
2025-11-25 20:18:36 +02:00
Karim shoair 9e85311ff6 fix(validators): Fix overriding session values with request ones 2025-11-25 19:48:09 +02:00
Karim shoair 74f24d60f6 fix(fetcher): Replace vars logic with one that doesn't require dict attribute 2025-11-24 13:04:12 +02:00
Karim shoair abc9aaebfe build: Pump deps up
msgspec now supports py14
2025-11-24 13:03:18 +02:00
Karim shoair 088d1912d6 ops: fix tests workflow caching 2025-11-24 12:52:28 +02:00
Karim shoair abaf877eff ops: fix tests workflow caching 2025-11-24 03:55:13 +02:00
Karim shoair b5cb235c53 ops: fix tests workflow caching 2025-11-24 03:30:14 +02:00
Karim shoair c487faf4fd pref(requests): Optimizing memory by specifiying slots 2025-11-23 21:50:54 +02:00
Karim shoair 357b170e1c refactor(requests): Make all the type hints dynamic
Made the code shorter by about ~500 lines and easier to maintain in return for making the arguments autocompletion bad for shells that don't check for dynamic type hints like IPython.
2025-11-23 20:48:51 +02:00
Karim shoair 2bae3261a0 build: Pumping version and deps up
This also updates the Maxmind database for camoufox
2025-11-22 21:41:47 +02:00
Karim shoair 170205599d fix(parser): Better approach for web pages where the encoding is not always correctly declared
Fixes #110 and avoids defaulting to a specific encoding like #111
2025-11-22 20:24:55 +02:00
Karim shoair 48313307d0 docs: update ads order 2025-11-21 17:50:18 +02:00
Karim shoair 2a9aef8d48 docs: Make Serpapi as Gold-tier sponsor 2025-11-21 17:30:55 +02:00
Karim shoair 2506f21cf6 docs: fix releases link 2025-11-19 16:23:39 +02:00
Karim shoair e6e65ba360 v0.3.9 2025-11-17 03:38:46 +02:00
Karim shoair 9602ad6986 docs: Add the remove_entities argument 2025-11-17 03:20:49 +02:00
Karim shoair da5c180329 test: improve tox config 2025-11-17 02:50:16 +02:00
Karim shoair 5685e4930c test: fix for previous commit 2025-11-17 02:22:16 +02:00
Karim shoair d47f77d4d1 test: fixes for Github CI issues 2025-11-17 02:12:03 +02:00
Karim shoair fb80beba04 feat(TextHandler): Add argument to clean method to remove html entities 2025-11-17 01:36:06 +02:00
Karim shoair f8a6ec2c69 chore: automatic update of pre-commit hooks 2025-11-17 01:01:33 +02:00
Karim shoair 763363457f docs: Updating the contribution guide 2025-11-17 01:00:10 +02:00
Karim shoair 64aa29cd40 ops: add a workflow to enforce code quality 2025-11-17 00:59:49 +02:00
Karim shoair 2751653190 test: add tests for the new impersonate logic 2025-11-16 16:34:24 +02:00
Karim shoair 3565f9d500 feat(fetcher): Make impersonate able to randomize fingerprint 2025-11-16 16:33:58 +02:00
Karim shoair aa245159d0 Merge branch 'main' into dev 2025-11-15 14:39:22 +02:00
Karim shoair 573ec04b9b docs: removing a sponsor 2025-11-15 14:39:11 +02:00
Karim shoair fc2c4c1ab7 docs: removing a sponsor 2025-11-15 14:37:57 +02:00
Karim shoair ceda6eb0c1 docs: Add AI translations to other languages 2025-11-14 02:56:00 +02:00
Karim shoair c8b9a04e87 docs: making some adjustments 2025-11-14 02:22:59 +02:00
Karim shoair d018d6e438 fix: fixing the response logic 2025-11-10 03:03:05 +02:00
Karim shoair 026161c8f8 docs: update docs to add file downloading examples 2025-11-10 03:02:41 +02:00
Karim shoair ff19dd5bf5 feat: replace raw_response property with smart content detection 2025-11-10 02:39:45 +02:00
Karim shoair 372fc1e051 docs: Style updates and a lot of clarifications 2025-11-09 02:15:43 +02:00
Karim shoair 3b5f0470d2 docs: Update docs accordingly and some adjustments 2025-11-08 20:18:58 +02:00
Karim shoair df073c4680 fix: added raw_response to separate collected response from rendered response 2025-11-08 20:09:40 +02:00
Karim shoair e20882af5d style: removing dead code from the parser 2025-11-08 20:08:23 +02:00
Karim shoair 42a8b43207 build: Pump version up 2025-11-08 20:07:26 +02:00
Karim shoair bad574e0e8 Merge branch 'main' into dev 2025-10-29 14:44:29 +03:00
Karim shoair d02da49865 docs: fix downloads badge 2025-10-29 14:43:43 +03:00
Karim shoair baa5a97a1f docs: fix downloads badge 2025-10-29 14:43:13 +03:00
Karim shoair 6cc48161cd docs: Update docker instructions 2025-10-28 17:20:27 +03:00
Karim shoair 58784b7c90 v0.3.8 2025-10-27 18:08:18 +03:00
Karim shoair 1e4d1e73a0 ops: Make container image pushed to Github registry too 2025-10-27 17:36:44 +03:00
Karim shoair 3c8d5c68e8 docs: updating external links 2025-10-27 16:42:03 +03:00
Karim shoair 33ed7fcf7d Merge branch 'main' into dev 2025-10-27 16:38:48 +03:00
Karim shoair ba7015bc57 docs: Add new sponsor 2025-10-27 16:38:13 +03:00
Karim shoair 37cb5097c0 docs: update external browser tutorial 2025-10-27 06:33:45 +03:00
Karim shoair 339ec43341 docs: adding separate doc for external browser 2025-10-27 06:32:31 +03:00
Karim shoair fc4a809985 fix(cloudflare): Limit the waiting period for websites that captcha doesn't disappear after solving
Also solves #100
2025-10-27 05:13:12 +03:00
Karim shoair d4a2507666 refactor(validation): All browser based fetchers are ~8-15% faster now in most cases 2025-10-27 04:48:45 +03:00
Karim shoair 13b9a4668c feat(DynamicSession): New option to add extra browser flags 2025-10-26 16:53:27 +03:00
Karim shoair f9a514cc64 build: Pump up deps 2025-10-26 05:04:53 +03:00
Karim shoair 59ec6be201 refactor(fetchers): Less duplicated code and better handling for unstable websites
- Websites that never finish loading their requests won't crash the code now if you used `network_idle` with them
- Fixed a typo in `load_dom` in DynamicSession's async_fetch
- Removed dead code
2025-10-26 05:04:19 +03:00
Karim shoair 74fa45daea fix: Addressing the issue of collecting response after page_action in #100 2025-10-26 00:41:45 +03:00
Karim shoair 43db79d1df docs: adding cloud browser segment 2025-10-25 22:29:07 +03:00
Karim shoair cabf5f963d Merge branch 'main' into dev 2025-10-22 15:39:07 +03:00
Karim shoair c796787863 docs: Update sponsor banner 2025-10-22 15:23:39 +03:00
Karim shoair a54ceb3335 build: Pumping up the deps and the version 2025-10-19 15:38:46 +03:00
Karim shoair e1bbeffd9f docs: update sponsor tiers perks 2025-10-18 18:02:40 +03:00
Karim shoair 5c0a509b0f docs: Remove a sponsor 2025-10-18 17:59:08 +03:00
Karim shoair 778d0d13a7 docs: Adding a new sponsor 2025-10-15 15:15:48 +03:00
Karim shoair 5bd5dc5f51 v0.3.7 (#99) 2025-10-12 07:35:48 +03:00
Karim shoair f9eff25e24 docs: update website accordingly 2025-10-12 06:59:20 +03:00
Karim shoair 9c7114219b fix(solver): Improve the logic a bit 2025-10-12 06:41:04 +03:00
Karim shoair a38b92cc87 feat(Dynamic fetcher): Add additional_args option to customize browser as in StealthyFetcher 2025-10-12 05:07:22 +03:00
Karim shoair 4fea8c2e59 docs: Update docs accordingly 2025-10-12 04:51:11 +03:00
Karim shoair c34e10faed feat(fetchers): Add argument to control the user data directory 2025-10-12 04:48:59 +03:00
Karim shoair 8c995c936d fix(CF solver): further improve the detection 2025-10-12 04:15:16 +03:00
Karim shoair 073c4910d4 fix(fetchers): More accurate collection of the final response
This will make the `response.body` return the raw response for text/json responses as well
2025-10-12 04:12:18 +03:00
Karim shoair 6bfa266c90 fix(camoufox): Fix a typo in the async solver 2025-10-12 03:07:18 +03:00
Karim shoair 1ff09e5b47 Merge branch 'main' into dev 2025-10-06 17:19:14 +03:00
Karim shoair 458ad5b36a docs: remove a sponsor 2025-10-06 17:18:49 +03:00
Karim shoair 0dffa3bbba docs: removing unnecessary docstrings
They are internal functions, not user-facing ones
2025-10-06 14:24:16 +03:00
Karim shoair f9303ab275 test: update session tests 2025-10-06 06:53:24 +03:00
Karim shoair 9cae97b177 fix(requests): Fix multiple configuration issues 2025-10-06 06:53:09 +03:00
Karim shoair 390916ba45 tests: change test accordingly 2025-10-06 05:00:58 +03:00
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 cc45ded0cf ops: update pre-commit hooks 2025-10-05 04:12:18 +03:00
Karim shoair c01fefadea ops: change docker workflow trigger 2025-10-05 04:11:14 +03:00
Karim shoair f4ce433ff3 build: pump up the version and deps 2025-10-05 04:08:19 +03:00
Karim shoair b80f866434 docs: update an outdated part 2025-10-05 04:04:09 +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 db1179790e docs: correcting docker installation instruction 2025-10-01 07:30:49 +03:00
Karim shoair 653fbb0594 ops: fix docker image name 2025-10-01 07:19:48 +03:00
Karim shoair e8b0e72512 v0.3.6 (#95) 2025-10-01 06:40:04 +03:00
Karim shoair a7e29a1662 docs: Update introduction 2025-10-01 06:26:19 +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 7aa083053b test: change tests accordingly 2025-10-01 03:50:57 +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 4135dd86b8 refactor: Restructure the fetchers code to not use more memory than needed
Also fixes: #92
2025-10-01 03:48:43 +03:00
Karim shoair ec3809ce40 docs: fix installation section on the website 2025-09-29 17:50:45 +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 0cf3bcf3aa ops: improve the layering of the docker image 2025-09-29 02:53:06 +03:00
Karim shoair 840aef6884 build: Pump up version and deps 2025-09-28 22:04:09 +03:00
Karim shoair 2bad72b77a fix: correct http option type in the mcp server 2025-09-28 21:19:51 +03:00
Karim shoair 6f0ce428aa tests: update tests for mcp 2025-09-28 20:14:17 +03:00