Skip to main content

Improvement for the `urllib.request.urlopen` function.

Project description

urlopen2

Description

Improvement for the urllib.request.urlopen function.

Install

pip install urlopen2

Using

Synchronous

from urlopen2 import URLFile

url = "https://example.com/file.bin"

with URLFile.open(url) as urlfile:
    urlfile.read(128)
    # In this case, 128 bytes of the file will be loaded.
    urlfile.seek(0)
    # Move the caret to the beginning of the file
    data = urlfile.read(128)
    # Since we are taking the same 128 bytes that have already been loaded, they will be received from the buffer.

print(data)

Asynchronous

import asyncio
import aiofiles
from urlopen2 import AsyncURLFile

url = "https://example.com/file.bin"

async def main():
    async with aiofiles.open(*AsyncURLFile.gbuf()) as abuffer:
        async with AsyncURLFile.open(url, abuffer) as aurlfile:
            await aurlfile.read(128)
            # In this case, 128 bytes of the file will be loaded.
            await aurlfile.seek(0)
            # Move the caret to the beginning of the file
            data = await aurlfile.read(128)
            # Since we are taking the same 128 bytes that have already been loaded, they will be received from the buffer.
    
    print(data)

if __name__ == "__main__":
    asyncio.run(main())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

urlopen2-1.4.0.tar.gz (3.9 kB view hashes)

Uploaded Source

Built Distribution

urlopen2-1.4.0-py3-none-any.whl (6.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page