theelous3 / Asks
Licence: mit
Async requests-like httplib for python.
Stars: ✭ 429
Programming Languages
Projects that are alternatives of or similar to Asks
Swoole Src
🚀 Coroutine-based concurrency library for PHP
Stars: ✭ 17,175 (+3903.5%)
Mutual labels: async, concurrency, network
Lightio
LightIO is a userland implemented green thread library for ruby
Stars: ✭ 165 (-61.54%)
Mutual labels: async, concurrency, io
python3-concurrency
Python3爬虫系列的理论验证,首先研究I/O模型,分别用Python实现了blocking I/O、nonblocking I/O、I/O multiplexing各模型下的TCP服务端和客户端。然后,研究同步I/O操作(依序下载、多进程并发、多线程并发)和异步I/O(asyncio)之间的效率差别
Stars: ✭ 49 (-88.58%)
Mutual labels: concurrency, requests
hunt
A refined core library for D programming language. The module has concurrency / collections / event / io / logging / text / serialization and more.
Stars: ✭ 86 (-79.95%)
Mutual labels: concurrency, io
Python3 Concurrency Pics 02
爬取 www.mzitu.com 全站图片,截至目前共5162个图集,16.5万多张美女图片,使用 asyncio 和 aiohttp 实现的异步版本只需要不到2小时就能爬取完成。按日期创建图集目录,保存更合理。控制台只显示下载的进度条,详细信息保存在日志文件中。支持异常处理,不会终止爬虫程序。失败的请求,下次再执行爬虫程序时会自动下载
Stars: ✭ 275 (-35.9%)
Mutual labels: concurrency, requests
Pyee
A port of Node.js's EventEmitter to python
Stars: ✭ 236 (-44.99%)
Mutual labels: async, concurrency
Drone Core
The core crate for Drone, an Embedded Operating System.
Stars: ✭ 263 (-38.69%)
Mutual labels: async, concurrency
Netdev
Asynchronous multi-vendor library for interacting with network devices
Stars: ✭ 172 (-59.91%)
Mutual labels: async, network
Promise Fun
Promise packages, patterns, chat, and tutorials
Stars: ✭ 3,779 (+780.89%)
Mutual labels: async, concurrency
Requests Threads
🎭 Twisted Deferred Thread backend for Requests.
Stars: ✭ 366 (-14.69%)
Mutual labels: async, requests
Codejam
Set of handy reusable .NET components that can simplify your daily work and save your time when you copy and paste your favorite helper methods and classes from one project to another
Stars: ✭ 217 (-49.42%)
Mutual labels: async, io
Byte Stream
A non-blocking stream abstraction for PHP based on Amp.
Stars: ✭ 208 (-51.52%)
Mutual labels: async, io
Curequests
Curio + Requests: Async HTTP for Humans
Stars: ✭ 243 (-43.36%)
Mutual labels: async, requests
Smol
A small and fast async runtime for Rust
Stars: ✭ 2,206 (+414.22%)
Mutual labels: async, concurrency
Promise Pool
Map-like, concurrent promise processing
Stars: ✭ 258 (-39.86%)
Mutual labels: async, concurrency
Redux Arc
A declarative way to make request with redux actions
Stars: ✭ 162 (-62.24%)
Mutual labels: async, requests
Many requests
Dead easy interface for executing many HTTP requests asynchronously. Also provides helper functions for executing embarrassingly parallel async coroutines.
Stars: ✭ 384 (-10.49%)
Mutual labels: async, requests
Ava
Node.js test runner that lets you develop with confidence 🚀
Stars: ✭ 19,458 (+4435.66%)
Mutual labels: async, concurrency
asks
asks
is an async requests
-like HTTP lib, for use in conjunction with the wonderful curio and trio async libs.
asks
aims to have a mostly familiar API, using simple functions/methods like get()
for getting and post()
for posting.
At the heart of asks
is a session class which makes interacting with the web in a sustained and fluid way fast, efficient, and simple. Check out the examples!
Check the docs!
Above you'll find detailed docs with a large number of simple examples to help you get off the ground in no time.
Installation
Requires: Python 3.6.2 or newer.
pip install asks
Examples
# one request
# A little silly to async one request, but not without its use!
import asks
import anyio
async def example():
r = await asks.get('https://example.org')
print(r.content)
curio.run(example())
# many requests
# make 1k api calls and store their response objects
# in a list.
import asks
import trio
path_list = ['http://fakeurl.org/get','http://example123.org']
results = []
async def grabber(s, path):
r = await s.get(path)
results.append(r)
async def main(path_list):
from asks.sessions import Session
s = Session('https://example.org', connections=2)
async with trio.open_nursery() as n:
for path in path_list:
n.start_soon(grabber, s, path)
trio.run(main, path_list)
Changelog
2.0.0 - Setting stream=True
means that the response returned will be a StreamResponse
object rather than the default Response
object.
Shoutout to ##lp, and the fine peeps of 8banana
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].