robinzhon


Namerobinzhon JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/rohaquinlop/robinzhon
SummaryA high-performance Python library for fast, concurrent S3 object downloads
upload_time2025-07-27 14:37:58
maintainerNone
docs_urlNone
authorRobin Quintero <rohaquinlop301@gmail.com>
requires_python>=3.8
licenseMIT
keywords s3 aws download performance concurrent async rust fast boto3 cloud storage
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # robinzhon

A high-performance Python library for fast, concurrent S3 object downloads.

## Features

- **Fast downloads**: Concurrent downloads using async I/O
- **Resilient**: Continues downloading even if some files fail
- **Simple API**: Easy-to-use methods for single and batch downloads
- **Detailed results**: Get success/failure information for batch operations

## Requirements

- Python >= 3.8

## Installation

```bash
pip install robinzhon   # if you uses pip
uv add robinzhon        # if you uses uv
```

## Example

```python
from robinzhon import S3Downloader

# Initialize downloader
client = S3Downloader("us-east-1")

# Download a single file
download_path = client.download_file(
    "test-bucket", "test-object-key", "./test-object-key"
)
# download_path will be the file path where the object was downloaded

# Download multiple files to the same directory
files_to_download = [
    "data/file1.csv",
    "data/file2.json",
    "logs/app.log"
]
result = client.download_multiple_files(
    "test-bucket", files_to_download, "./downloads"
)

# Check results
print(f"Downloaded {len(result.successful)} files successfully")
print(f"Downloaded files: {result.successful}")
if result.has_failures():
    print(f"Failed to download: {result.failed}")

# Download files with custom paths
downloads = [
    ("data/input.csv", "./processed/input_data.csv"),
    ("config/settings.json", "./config/app_settings.json"),
]
result = client.download_multiple_files_with_paths("test-bucket", downloads)

print(f"Success rate: {result.success_rate():.1%}")
```

## Configuration

You can configure the maximum number of concurrent downloads:

```python
# Allow up to 10 concurrent downloads (default is 5)
client = S3Downloader("us-east-1", max_concurrent_downloads=10)
```

## Performance Test Results

```text
============================================================
Performance Test: 1000 files
============================================================

Testing Python S3Transfer implementation...
Completed in 40.05s

Testing robinzhon implementation...
Completed in 9.68s

Performance Results (1000 files)
────────────────────────────────────────────────────────────
Metric                    robinzhon       Python          Winner
────────────────────────────────────────────────────────────
Duration (seconds)        9.68            40.05           robinzhon (4.1x)
Throughput (files/sec)    103.3           25.0            robinzhon
Success Rate (%)          100.0           100.0           robinzhon
Strict Success Rate (%)   100.0           100.0           robinzhon
Files Downloaded          1000            1000
Actual Files on Disk      1000            1000
────────────────────────────────────────────────────────────
robinzhon is 75.8% faster than Python implementation
```


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/rohaquinlop/robinzhon",
    "name": "robinzhon",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "s3, aws, download, performance, concurrent, async, rust, fast, boto3, cloud, storage",
    "author": "Robin Quintero <rohaquinlop301@gmail.com>",
    "author_email": "Robin Quintero <rohaquinlop301@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/8c/a4/9343f405502866b8d547b398ee32faaa4df2c2f404e503c986e906eface5/robinzhon-0.1.0.tar.gz",
    "platform": null,
    "description": "# robinzhon\n\nA high-performance Python library for fast, concurrent S3 object downloads.\n\n## Features\n\n- **Fast downloads**: Concurrent downloads using async I/O\n- **Resilient**: Continues downloading even if some files fail\n- **Simple API**: Easy-to-use methods for single and batch downloads\n- **Detailed results**: Get success/failure information for batch operations\n\n## Requirements\n\n- Python >= 3.8\n\n## Installation\n\n```bash\npip install robinzhon   # if you uses pip\nuv add robinzhon        # if you uses uv\n```\n\n## Example\n\n```python\nfrom robinzhon import S3Downloader\n\n# Initialize downloader\nclient = S3Downloader(\"us-east-1\")\n\n# Download a single file\ndownload_path = client.download_file(\n    \"test-bucket\", \"test-object-key\", \"./test-object-key\"\n)\n# download_path will be the file path where the object was downloaded\n\n# Download multiple files to the same directory\nfiles_to_download = [\n    \"data/file1.csv\",\n    \"data/file2.json\",\n    \"logs/app.log\"\n]\nresult = client.download_multiple_files(\n    \"test-bucket\", files_to_download, \"./downloads\"\n)\n\n# Check results\nprint(f\"Downloaded {len(result.successful)} files successfully\")\nprint(f\"Downloaded files: {result.successful}\")\nif result.has_failures():\n    print(f\"Failed to download: {result.failed}\")\n\n# Download files with custom paths\ndownloads = [\n    (\"data/input.csv\", \"./processed/input_data.csv\"),\n    (\"config/settings.json\", \"./config/app_settings.json\"),\n]\nresult = client.download_multiple_files_with_paths(\"test-bucket\", downloads)\n\nprint(f\"Success rate: {result.success_rate():.1%}\")\n```\n\n## Configuration\n\nYou can configure the maximum number of concurrent downloads:\n\n```python\n# Allow up to 10 concurrent downloads (default is 5)\nclient = S3Downloader(\"us-east-1\", max_concurrent_downloads=10)\n```\n\n## Performance Test Results\n\n```text\n============================================================\nPerformance Test: 1000 files\n============================================================\n\nTesting Python S3Transfer implementation...\nCompleted in 40.05s\n\nTesting robinzhon implementation...\nCompleted in 9.68s\n\nPerformance Results (1000 files)\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nMetric                    robinzhon       Python          Winner\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nDuration (seconds)        9.68            40.05           robinzhon (4.1x)\nThroughput (files/sec)    103.3           25.0            robinzhon\nSuccess Rate (%)          100.0           100.0           robinzhon\nStrict Success Rate (%)   100.0           100.0           robinzhon\nFiles Downloaded          1000            1000\nActual Files on Disk      1000            1000\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nrobinzhon is 75.8% faster than Python implementation\n```\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A high-performance Python library for fast, concurrent S3 object downloads",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/rohaquinlop/robinzhon",
        "Source Code": "https://github.com/rohaquinlop/robinzhon"
    },
    "split_keywords": [
        "s3",
        " aws",
        " download",
        " performance",
        " concurrent",
        " async",
        " rust",
        " fast",
        " boto3",
        " cloud",
        " storage"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "db6621481ba6385b7326d70fe2e55d1550f49ca2fa218b2ff0260e8464f79f29",
                "md5": "1421efbede58e69620bdb5f67748bf6b",
                "sha256": "722a355243dbe3d0495c4f73546a695e08fd732c54ad0601f0f2e8bf356d9efc"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1421efbede58e69620bdb5f67748bf6b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 6469939,
            "upload_time": "2025-07-27T14:37:12",
            "upload_time_iso_8601": "2025-07-27T14:37:12.243871Z",
            "url": "https://files.pythonhosted.org/packages/db/66/21481ba6385b7326d70fe2e55d1550f49ca2fa218b2ff0260e8464f79f29/robinzhon-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d886ac1a1536f17a9f7470c6daf09bd1d78e50a8cd421bad4e50f6df869ac355",
                "md5": "a330447b0b79e714a8122ed3a43d9c63",
                "sha256": "58053ffa6da3a79b3be42024b443554b5a4e8b3faf0fb7406052de196230b0b2"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "a330447b0b79e714a8122ed3a43d9c63",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 6263910,
            "upload_time": "2025-07-27T14:37:14",
            "upload_time_iso_8601": "2025-07-27T14:37:14.183050Z",
            "url": "https://files.pythonhosted.org/packages/d8/86/ac1a1536f17a9f7470c6daf09bd1d78e50a8cd421bad4e50f6df869ac355/robinzhon-0.1.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4f2831ad6e73e07948958141833b8d04ccc378f41df24230aad0baf6516688d5",
                "md5": "d57a20f961acfe03e6476797f9702c8d",
                "sha256": "5a35545cd2a0cb834a8e8f12a488cc9f1e3f53a7a996bd716da0bdac17d8dd3c"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d57a20f961acfe03e6476797f9702c8d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 6989745,
            "upload_time": "2025-07-27T14:37:16",
            "upload_time_iso_8601": "2025-07-27T14:37:16.387857Z",
            "url": "https://files.pythonhosted.org/packages/4f/28/31ad6e73e07948958141833b8d04ccc378f41df24230aad0baf6516688d5/robinzhon-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a6247384650052485a5b68503b2845bc9e9cb22df86bcd91793d4ee5acf3f3da",
                "md5": "6899cc299cf19fae55ce11334653a452",
                "sha256": "0d3fc19f52264f2af7668386a8e0e7d59692517d84ff4244675bf1a6ecac3cf3"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6899cc299cf19fae55ce11334653a452",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 5230855,
            "upload_time": "2025-07-27T14:37:18",
            "upload_time_iso_8601": "2025-07-27T14:37:18.539683Z",
            "url": "https://files.pythonhosted.org/packages/a6/24/7384650052485a5b68503b2845bc9e9cb22df86bcd91793d4ee5acf3f3da/robinzhon-0.1.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7943c246fe75c4ae1b06f43252b18e3f00da86a0598e250c001cafd301c82de1",
                "md5": "df8f6b50c96b2d3c238d6cd9cf1efff9",
                "sha256": "9222506c25984550b764d3312fe17d10bc4fe54dbbd5811a690ace8d75482fb8"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "df8f6b50c96b2d3c238d6cd9cf1efff9",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 6470068,
            "upload_time": "2025-07-27T14:37:20",
            "upload_time_iso_8601": "2025-07-27T14:37:20.700745Z",
            "url": "https://files.pythonhosted.org/packages/79/43/c246fe75c4ae1b06f43252b18e3f00da86a0598e250c001cafd301c82de1/robinzhon-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9ef570187062cd5dc7167ac4c90f7b32d76b43f6b5d0efd399385160ab79162a",
                "md5": "836b2e8f07201128e844b052fc6fa52e",
                "sha256": "969b083f6d904bdee7595347078d1cebbb13e113098fb6add937eda59eab99ba"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "836b2e8f07201128e844b052fc6fa52e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 6249898,
            "upload_time": "2025-07-27T14:37:22",
            "upload_time_iso_8601": "2025-07-27T14:37:22.867849Z",
            "url": "https://files.pythonhosted.org/packages/9e/f5/70187062cd5dc7167ac4c90f7b32d76b43f6b5d0efd399385160ab79162a/robinzhon-0.1.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3fea038b28aeaa21e94f069812b689397904f263075e15a73aed6c3852060b6b",
                "md5": "84a81a4f78a1ef6ff142126c2a7d06fd",
                "sha256": "050f8b94bd05590f045b7c63bf414b9d1662c6f8897f20dcd738599c5288772d"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "84a81a4f78a1ef6ff142126c2a7d06fd",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 6988370,
            "upload_time": "2025-07-27T14:37:24",
            "upload_time_iso_8601": "2025-07-27T14:37:24.868623Z",
            "url": "https://files.pythonhosted.org/packages/3f/ea/038b28aeaa21e94f069812b689397904f263075e15a73aed6c3852060b6b/robinzhon-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8390a3df7f8cc881dfda7374894e5b74bb6764a4e734d59495658eff3cdc235a",
                "md5": "35ddf18c0dd98977da4f6ac2c9dcbe82",
                "sha256": "a95a2e5bddd909148b8cc32773e9270da2f1c1fe2676922f59c50086f4fa4204"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "35ddf18c0dd98977da4f6ac2c9dcbe82",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 5230622,
            "upload_time": "2025-07-27T14:37:27",
            "upload_time_iso_8601": "2025-07-27T14:37:27.085729Z",
            "url": "https://files.pythonhosted.org/packages/83/90/a3df7f8cc881dfda7374894e5b74bb6764a4e734d59495658eff3cdc235a/robinzhon-0.1.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "342da5504b0b2b3a62308cd274743a8df9e7e24d01debc6ee5e930b061dcc4e7",
                "md5": "492c7e0d7070498a0cd5a17ab7718581",
                "sha256": "a07a5d7e5508b370630be8cb4bbb73b891cfdc6af2309b46606fe328f12e4e32"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "492c7e0d7070498a0cd5a17ab7718581",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 6469440,
            "upload_time": "2025-07-27T14:37:28",
            "upload_time_iso_8601": "2025-07-27T14:37:28.901856Z",
            "url": "https://files.pythonhosted.org/packages/34/2d/a5504b0b2b3a62308cd274743a8df9e7e24d01debc6ee5e930b061dcc4e7/robinzhon-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5225f3d9ad4914b9c02f539377f7871605e563eb397d56e0d47bd7d41c6f76dc",
                "md5": "260c9d9da70f41979548921149043445",
                "sha256": "354038d59e03852617cad7d4883fd0c4e8821d1ce0e85892d522b1a686cff7b3"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "260c9d9da70f41979548921149043445",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 6257318,
            "upload_time": "2025-07-27T14:37:31",
            "upload_time_iso_8601": "2025-07-27T14:37:31.510309Z",
            "url": "https://files.pythonhosted.org/packages/52/25/f3d9ad4914b9c02f539377f7871605e563eb397d56e0d47bd7d41c6f76dc/robinzhon-0.1.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d0c198c315534e49bd94a05b42fd0467fff71e7f41575de27b64d19479f40cbf",
                "md5": "28ff992472dc734422cd8151e8a7631a",
                "sha256": "8c1e76bca5321a532f0f9ab7ea5b58c12ac1cad9c741f0c91d3132014ca58fe1"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "28ff992472dc734422cd8151e8a7631a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 6987446,
            "upload_time": "2025-07-27T14:37:33",
            "upload_time_iso_8601": "2025-07-27T14:37:33.624230Z",
            "url": "https://files.pythonhosted.org/packages/d0/c1/98c315534e49bd94a05b42fd0467fff71e7f41575de27b64d19479f40cbf/robinzhon-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "27ea087f4a8ff18b5d4134f6b6fad3e0b45dbe5e1be28a436499602d4faacb67",
                "md5": "36469eadf553a9e0aec0640a2b70b12e",
                "sha256": "a38f0949ce78d141fa94eb3126f256439031e5d4028bf679119ce070227044dc"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "36469eadf553a9e0aec0640a2b70b12e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 5229400,
            "upload_time": "2025-07-27T14:37:36",
            "upload_time_iso_8601": "2025-07-27T14:37:36.974444Z",
            "url": "https://files.pythonhosted.org/packages/27/ea/087f4a8ff18b5d4134f6b6fad3e0b45dbe5e1be28a436499602d4faacb67/robinzhon-0.1.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "064a22e9d9ba8d399b38ec25fe7f6ef119f6b87c5e16d6ce60e47074c372c866",
                "md5": "b3c955a42c6b348af9fbd8548c218ee1",
                "sha256": "ac8505463d8a6c04ace4d414c28378daa9281922d55ab1fd186f8a76025256cf"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b3c955a42c6b348af9fbd8548c218ee1",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 6468985,
            "upload_time": "2025-07-27T14:37:39",
            "upload_time_iso_8601": "2025-07-27T14:37:39.510816Z",
            "url": "https://files.pythonhosted.org/packages/06/4a/22e9d9ba8d399b38ec25fe7f6ef119f6b87c5e16d6ce60e47074c372c866/robinzhon-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0b8984c719344374bf80e89c23ecedf515331a952b0ec3c5effdce8f3abb7661",
                "md5": "59e3e7f22ad4d914b74e2073019bc176",
                "sha256": "00c9ef19f00f4a76adca81c53a0b920bbc68366609f4776d7e0d349654773a38"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "59e3e7f22ad4d914b74e2073019bc176",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 6256628,
            "upload_time": "2025-07-27T14:37:41",
            "upload_time_iso_8601": "2025-07-27T14:37:41.357431Z",
            "url": "https://files.pythonhosted.org/packages/0b/89/84c719344374bf80e89c23ecedf515331a952b0ec3c5effdce8f3abb7661/robinzhon-0.1.0-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d3b9ca43c73ac9121ac9f269deb99b66f8750bb4706a50622131fab7083bc2fe",
                "md5": "e82f752343d31db09cfdc62a4aeca432",
                "sha256": "78e783f5da60097256db91e9e0827fd63dcd034964a2ab4828c86c3ba20f1cc9"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e82f752343d31db09cfdc62a4aeca432",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 6987112,
            "upload_time": "2025-07-27T14:37:43",
            "upload_time_iso_8601": "2025-07-27T14:37:43.187507Z",
            "url": "https://files.pythonhosted.org/packages/d3/b9/ca43c73ac9121ac9f269deb99b66f8750bb4706a50622131fab7083bc2fe/robinzhon-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c0389af4805cf1c2cea099cf7a9b496ba5b75cef394f2d440fcec19dc4361e00",
                "md5": "2f88e44b31a432dd5c00fe70b478bd45",
                "sha256": "7ccbf789adc4840e0ef628e97df76e9700179a0c711e640c04eddd175468f8f4"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2f88e44b31a432dd5c00fe70b478bd45",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 5229383,
            "upload_time": "2025-07-27T14:37:45",
            "upload_time_iso_8601": "2025-07-27T14:37:45.333530Z",
            "url": "https://files.pythonhosted.org/packages/c0/38/9af4805cf1c2cea099cf7a9b496ba5b75cef394f2d440fcec19dc4361e00/robinzhon-0.1.0-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cc4c5f9eb6e9d29a9d2e26ecf73c597e443a293af2892896dab174127d85e11f",
                "md5": "00497d3550ac73f7fcdadc70e0551cb3",
                "sha256": "7729722cd64ecf404c6f0958341d5a1e0f7b9fc45af56621bf940752ba425bce"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "00497d3550ac73f7fcdadc70e0551cb3",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.8",
            "size": 6987041,
            "upload_time": "2025-07-27T14:37:47",
            "upload_time_iso_8601": "2025-07-27T14:37:47.595116Z",
            "url": "https://files.pythonhosted.org/packages/cc/4c/5f9eb6e9d29a9d2e26ecf73c597e443a293af2892896dab174127d85e11f/robinzhon-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "510d6e67ffc75b561bac55293813114491eb2dab54f126d1b16c72e7ddb1312b",
                "md5": "3b112541d32cbbd7d1ba9f85b19b7e24",
                "sha256": "85ef6355e2f101b19094976338729b31948c8982c065915fcc851c862f34482e"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3b112541d32cbbd7d1ba9f85b19b7e24",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 6989914,
            "upload_time": "2025-07-27T14:37:49",
            "upload_time_iso_8601": "2025-07-27T14:37:49.440542Z",
            "url": "https://files.pythonhosted.org/packages/51/0d/6e67ffc75b561bac55293813114491eb2dab54f126d1b16c72e7ddb1312b/robinzhon-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "795dba719fc7d28d962fd66d947c0a2ab8cccc12afea7b878591c1e25f5fafe6",
                "md5": "98e4e8d4931418551c585890e016b6b5",
                "sha256": "4d30202291f94ca642303dd7c62aeb99bac1e614453b314f13bbcc9d1285c71a"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "98e4e8d4931418551c585890e016b6b5",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 6990032,
            "upload_time": "2025-07-27T14:37:51",
            "upload_time_iso_8601": "2025-07-27T14:37:51.353880Z",
            "url": "https://files.pythonhosted.org/packages/79/5d/ba719fc7d28d962fd66d947c0a2ab8cccc12afea7b878591c1e25f5fafe6/robinzhon-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "42d663591c1f96557debc9fba2d9484c415f9cbfaef2b7c83b1e515b856b89b3",
                "md5": "88edd1d3d5da9d14079f0bb9d2e37362",
                "sha256": "b502a7fd4a0cf29883ac65a183d20b18aea9d3ee838dde5592f0a4f7a429f115"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "88edd1d3d5da9d14079f0bb9d2e37362",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 5230641,
            "upload_time": "2025-07-27T14:37:53",
            "upload_time_iso_8601": "2025-07-27T14:37:53.365409Z",
            "url": "https://files.pythonhosted.org/packages/42/d6/63591c1f96557debc9fba2d9484c415f9cbfaef2b7c83b1e515b856b89b3/robinzhon-0.1.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5d5f1f7bbc9ce47f8639d4f8b19ad30d60637d4a7517056db49818587dad2e48",
                "md5": "ec20a044b9d89940ae1091c509da43c5",
                "sha256": "595f915ccb158a92bf2e471e20c0b238800e412f99f716ff49b3c2fd5da5b83c"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ec20a044b9d89940ae1091c509da43c5",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 6988593,
            "upload_time": "2025-07-27T14:37:55",
            "upload_time_iso_8601": "2025-07-27T14:37:55.093690Z",
            "url": "https://files.pythonhosted.org/packages/5d/5f/1f7bbc9ce47f8639d4f8b19ad30d60637d4a7517056db49818587dad2e48/robinzhon-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "60a2af0a9b62dc7373536e9627f3985ade1702cf5649bc1318a3b3a352aefc63",
                "md5": "3a7d817dc1d18d1377279256d41c0323",
                "sha256": "588296641da1a9c1fa62e9439cde1f2b266b2605712ff1d79dab5c8ce805f855"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3a7d817dc1d18d1377279256d41c0323",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.8",
            "size": 6988214,
            "upload_time": "2025-07-27T14:37:56",
            "upload_time_iso_8601": "2025-07-27T14:37:56.999606Z",
            "url": "https://files.pythonhosted.org/packages/60/a2/af0a9b62dc7373536e9627f3985ade1702cf5649bc1318a3b3a352aefc63/robinzhon-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8ca49343f405502866b8d547b398ee32faaa4df2c2f404e503c986e906eface5",
                "md5": "a961d16b5e44685a9a273cc3a30ec3da",
                "sha256": "3396d6db78c5b748d510a6fbdb0e92baefb530c2aef7665bd1508187d30de99e"
            },
            "downloads": -1,
            "filename": "robinzhon-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a961d16b5e44685a9a273cc3a30ec3da",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 38403,
            "upload_time": "2025-07-27T14:37:58",
            "upload_time_iso_8601": "2025-07-27T14:37:58.705977Z",
            "url": "https://files.pythonhosted.org/packages/8c/a4/9343f405502866b8d547b398ee32faaa4df2c2f404e503c986e906eface5/robinzhon-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-27 14:37:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "rohaquinlop",
    "github_project": "robinzhon",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "robinzhon"
}
        
Elapsed time: 0.54971s