# Parallel Requests
Parallel Requests is a Python project that allows you to execute HTTP requests in parallel using the asyncio and aiohttp libraries. This tool is designed to improve efficiency and reduce waiting time when making multiple HTTP requests. With Parallel Requests, you can send GET, POST, PUT, and DELETE requests simultaneously, collecting responses asynchronously and easily managing the results.
**Features**:
- Parallel execution of HTTP requests: Send multiple requests simultaneously to reduce waiting times.
- Support for common HTTP methods: Perform GET, POST, PUT, and DELETE requests.
- Asynchronous management: Utilizes asyncio and aiohttp for efficient request handling.
- Execution time calculation: Measures the time taken to execute each request.
- Ease of use: Simple interface for adding and managing requests.
# GitHub Source
You can find source files in:
[https://github.com/danelsan/parallel-requests](https://github.com/danelsan/parallel-requests)
# Installation
For installation by gih write
```bash
make install
```
Puoi installare Parallel Requests usando il file setup.py. Nella directory principale del progetto, esegui il seguente comando:
```python
pip install parallel_reqs
```
## Example
```python
from parallel_reqs import RequestExecutor
from parallel_reqs import Request
# Lista di URL di esempio
urls = [
"https://www.google.com",
"https://www.bing.com",
"https://www.yahoo.com",
"https://www.wikipedia.org",
"https://www.imdb.com",
"https://www.amazon.com",
"https://www.ebay.com",
"https://www.facebook.com",
"https://www.twitter.com",
"https://www.instagram.com",
"https://www.corriere.it",
"https://www.repubblica.it",
"https://www.ansa.it",
"https://www.rainews.it",
"https://www.sky.it",
"https://www.msn.com",
"https://www.aol.com",
"https://www.cnn.com",
"https://www.foxnews.com",
"https://www.bbc.com",
"https://www.aljazeera.com",
"https://www.nbcnews.com",
"https://www.cbsnews.com",
"https://www.abcnews.go.com",
"https://www.npr.org",
"https://www.pbs.org",
"https://www.huffpost.com",
"https://www.buzzfeed.com",
"https://www.vox.com",
"https://www.slate.com",
"https://www.theverge.com",
"https://www.wired.com",
"https://www.arstechnica.com",
"https://www.engadget.com",
"https://www.cnet.com",
"https://www.zdnet.com",
"https://www.techcrunch.com",
"https://www.theatlantic.com",
"https://www.newyorker.com",
"https://www.harpersbazaar.com",
"https://www.vanityfair.com",
"https://www.gq.com",
"https://www.esquire.com",
"https://www.menshealth.com",
"https://www.womenshealthmag.com",
"https://www.shape.com",
"https://www.self.com",
"https://www.cosmopolitan.com",
"https://www.glamour.com",
"https://www.allure.com",
"https://www.vogue.com",
"https://www.elle.com",
"https://www.harpersbazaar.com",
"https://www.marieclaire.com"
]
def main():
print("Urls: ", len(urls))
executor = RequestExecutor()
try:
for u in urls:
executor.add_request(Request.create(url=u, method="GET"))
except Exception as e:
print(e)
responses = executor.run()
print("Responses: ", len(responses))
for response in responses:
print(f"Status Code: {response.status_code}, Execution Time: {response.execution_time} sec")
print( "Total: exec" , executor.execution_time)
main()
```
Raw data
{
"_id": null,
"home_page": "https://github.com/danelsan/parallel-requests",
"name": "parallel-reqs",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "Daniele Frulla",
"author_email": "daniele.frulla@newstechnology.eu",
"download_url": "https://files.pythonhosted.org/packages/7c/5b/ceea2da81e962b2566423476966d5fd450e3ecf43a54bf6ae5c43a162fc7/parallel_reqs-0.0.5.tar.gz",
"platform": null,
"description": "# Parallel Requests\n\nParallel Requests is a Python project that allows you to execute HTTP requests in parallel using the asyncio and aiohttp libraries. This tool is designed to improve efficiency and reduce waiting time when making multiple HTTP requests. With Parallel Requests, you can send GET, POST, PUT, and DELETE requests simultaneously, collecting responses asynchronously and easily managing the results.\n\n **Features**:\n\n - Parallel execution of HTTP requests: Send multiple requests simultaneously to reduce waiting times.\n\n - Support for common HTTP methods: Perform GET, POST, PUT, and DELETE requests.\n\n - Asynchronous management: Utilizes asyncio and aiohttp for efficient request handling.\n\n - Execution time calculation: Measures the time taken to execute each request.\n\n - Ease of use: Simple interface for adding and managing requests.\n\n\n# GitHub Source\n\nYou can find source files in:\n\n[https://github.com/danelsan/parallel-requests](https://github.com/danelsan/parallel-requests)\n\n# Installation\n\nFor installation by gih write\n\n```bash\nmake install\n```\n\nPuoi installare Parallel Requests usando il file setup.py. Nella directory principale del progetto, esegui il seguente comando:\n\n```python\npip install parallel_reqs\n```\n\n## Example\n\n```python\nfrom parallel_reqs import RequestExecutor \nfrom parallel_reqs import Request\n\n# Lista di URL di esempio\nurls = [\n \"https://www.google.com\",\n \"https://www.bing.com\",\n \"https://www.yahoo.com\",\n \"https://www.wikipedia.org\",\n \"https://www.imdb.com\",\n \"https://www.amazon.com\",\n \"https://www.ebay.com\",\n \"https://www.facebook.com\",\n \"https://www.twitter.com\",\n \"https://www.instagram.com\",\n \"https://www.corriere.it\",\n \"https://www.repubblica.it\",\n \"https://www.ansa.it\",\n \"https://www.rainews.it\",\n \"https://www.sky.it\",\n \"https://www.msn.com\",\n \"https://www.aol.com\",\n \"https://www.cnn.com\",\n \"https://www.foxnews.com\",\n \"https://www.bbc.com\",\n \"https://www.aljazeera.com\",\n \"https://www.nbcnews.com\",\n \"https://www.cbsnews.com\",\n \"https://www.abcnews.go.com\",\n \"https://www.npr.org\",\n \"https://www.pbs.org\",\n \"https://www.huffpost.com\",\n \"https://www.buzzfeed.com\",\n \"https://www.vox.com\",\n \"https://www.slate.com\",\n \"https://www.theverge.com\",\n \"https://www.wired.com\",\n \"https://www.arstechnica.com\",\n \"https://www.engadget.com\",\n \"https://www.cnet.com\",\n \"https://www.zdnet.com\",\n \"https://www.techcrunch.com\",\n \"https://www.theatlantic.com\",\n \"https://www.newyorker.com\",\n \"https://www.harpersbazaar.com\",\n \"https://www.vanityfair.com\",\n \"https://www.gq.com\",\n \"https://www.esquire.com\",\n \"https://www.menshealth.com\",\n \"https://www.womenshealthmag.com\",\n \"https://www.shape.com\",\n \"https://www.self.com\",\n \"https://www.cosmopolitan.com\",\n \"https://www.glamour.com\",\n \"https://www.allure.com\",\n \"https://www.vogue.com\",\n \"https://www.elle.com\",\n \"https://www.harpersbazaar.com\",\n \"https://www.marieclaire.com\"\n]\n\n \ndef main():\n print(\"Urls: \", len(urls))\n executor = RequestExecutor() \n try:\n for u in urls:\n executor.add_request(Request.create(url=u, method=\"GET\"))\n except Exception as e: \n print(e)\n\n responses = executor.run()\n print(\"Responses: \", len(responses))\n for response in responses: \n print(f\"Status Code: {response.status_code}, Execution Time: {response.execution_time} sec\") \n\n print( \"Total: exec\" , executor.execution_time)\n\n\nmain()\n```\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Calling parallel request Pyhton",
"version": "0.0.5",
"project_urls": {
"Homepage": "https://github.com/danelsan/parallel-requests"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0e6aad367441afe0571d3d7278c00a044ac2538f42c880bb22463dc0ca2f6dc0",
"md5": "d6973c7d31e159323ba181903f593e7b",
"sha256": "07b29e83bb2c82338b62cfb1e7c105343e899f6ff430b2107141d4700a9bbb98"
},
"downloads": -1,
"filename": "parallel_reqs-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d6973c7d31e159323ba181903f593e7b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 7550,
"upload_time": "2025-01-18T18:08:13",
"upload_time_iso_8601": "2025-01-18T18:08:13.363197Z",
"url": "https://files.pythonhosted.org/packages/0e/6a/ad367441afe0571d3d7278c00a044ac2538f42c880bb22463dc0ca2f6dc0/parallel_reqs-0.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7c5bceea2da81e962b2566423476966d5fd450e3ecf43a54bf6ae5c43a162fc7",
"md5": "62d7106742d77ef5f2d3328f1bbdb1bc",
"sha256": "765946da07d6329915c92c3040a1b88ebf4638b527723a416bff3b8c7001848f"
},
"downloads": -1,
"filename": "parallel_reqs-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "62d7106742d77ef5f2d3328f1bbdb1bc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 5801,
"upload_time": "2025-01-18T18:08:16",
"upload_time_iso_8601": "2025-01-18T18:08:16.639586Z",
"url": "https://files.pythonhosted.org/packages/7c/5b/ceea2da81e962b2566423476966d5fd450e3ecf43a54bf6ae5c43a162fc7/parallel_reqs-0.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-18 18:08:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "danelsan",
"github_project": "parallel-requests",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "parallel-reqs"
}