cloudspeak


Namecloudspeak JSON
Version 0.1.2 PyPI version JSON
download
home_pagehttps://github.com/mlhost/cloudspeak
SummarySet of python tools that eases integration of cloud services in Python projects
upload_time2023-10-08 16:59:22
maintainer
docs_urlNone
author
requires_python
license
keywords python cloud remote dict abstraction azure storage blob
VCS
bugtrack_url
requirements tqdm joblib azure-storage-blob azure-storage-queue pandas
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <img style="display: block; margin: auto; width:400px; height:250px;" src="https://raw.githubusercontent.com/mlhost/cloudspeak/v0.0.4/docs/images/logo.png">

[![PyPI version](https://badge.fury.io/py/cloudspeak.svg)](https://badge.fury.io/py/cloudspeak)
[![Documentation Status](https://readthedocs.org/projects/cloudspeak/badge/?version=latest)](https://cloudspeak.readthedocs.io/en/latest/?badge=latest)


# CloudSpeak - Azure Backend Abstractions for Python

CloudSpeak is a Python package that simplifies and abstracts the usage of Azure as a backend for specific Python data structures. It provides easy-to-use classes and methods for working with Azure Blob Storage and Azure Queue Storage, allowing you to seamlessly integrate Azure services into your Python applications.

## Features

CloudSpeak offers the following key features:

- **Azure Blob Storage Interaction:** Easily iterate through containers, create and delete them, and access individual blob files.
  
- **File Upload and Download:** Seamlessly upload and download files to and from Azure Blob Storage with built-in tracking of upload and download progress.
  
- **Azure Blob Storage Lock Management:** Efficiently manage locks offered by Azure Blob Storage to synchronize multiple processes.

- **Remote Dictionaries:** Create and manage dictionaries hosted entirely in Azure Blob Storage. You can choose between indexed dictionaries (with a maintained index for key retrieval) and non-indexed dictionaries for faster access to dictionary keys.

- **Remote Queues:** Create, send, and receive messages using a user-friendly interface, with Azure Storage as the backend.

## Getting Started

To get started with CloudSpeak, follow these simple steps:

1. Install CloudSpeak using pip:

   ```bash
   pip install cloudspeak
   ```

2. Import the necessary modules and set up Azure credentials:

   ```python
   from cloudspeak.azure import AzureCredentials
   from cloudspeak.azure import AzureFactory

   credentials = AzureCredentials()
   credentials.connection_string_storage = "YOUR_CONNECTION_STRING"

   factory = AzureFactory(credentials=credentials)
   ```

3. Use CloudSpeak to interact with Azure services. For example, to access blob storage:

   ```python
   service = factory.service_storage
   container = service.containers["example"]

   # Uploading content to a blob file named "file"
   file = container["file"]
   file.data = b"test"
   progress = file.upload()
   progress.join()

   # Downloading content from a blob file named "file"
   file = container["file"]
   progress = file.download()
   progress.join()
   downloaded_data = file.data
   ```

4. Create and use remote queues:

   ```python
   queue = factory.queue("example", create=True)
   queue.push("hello")

   message = queue.pop(wait_time=-1)

   # Automatically release the message from the queue when exiting the 'with' block.
   with message:
       print(message.content)
   ```

5. Access remote dictionaries:

   ```python
   factory = AzureFactory(credentials=credentials)

   # Create a non-indexed remote dictionary
   ad = factory.dictionary('container', 'example', create_container=False, indexed=False)

   ad["key"] = "value"
   print(ad["key"])
   ```

* Transferring with progress:
<img style="display: block; margin: auto;" src="https://raw.githubusercontent.com/mlhost/cloudspeak/v0.0.4/docs/images/jupyter_download.gif">

## Abstractions Overview

CloudSpeak provides two main abstractions:

| Abstraction           | Description                                                |
|-----------------------|------------------------------------------------------------|
| Remote Dictionaries   | Dictionaries hosted entirely in Azure Blob Storage. Choose between indexed or non-indexed versions for various use cases. |
| Remote Queues         | User-friendly interface for managing queues with Azure Storage as the backend. |

## Documentation

For detailed documentation and examples, please refer to the [CloudSpeak Documentation](https://cloudspeak.readthedocs.io/).

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/mlhost/cloudspeak",
    "name": "cloudspeak",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "python,cloud,remote,dict,abstraction,azure,storage,blob",
    "author": "",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/02/fe/0b3d3f789e5b335a0a2e809e372c73dd8b7332b771eb3c27efbc88ddaec0/cloudspeak-0.1.2.tar.gz",
    "platform": null,
    "description": "<img style=\"display: block; margin: auto; width:400px; height:250px;\" src=\"https://raw.githubusercontent.com/mlhost/cloudspeak/v0.0.4/docs/images/logo.png\">\n\n[![PyPI version](https://badge.fury.io/py/cloudspeak.svg)](https://badge.fury.io/py/cloudspeak)\n[![Documentation Status](https://readthedocs.org/projects/cloudspeak/badge/?version=latest)](https://cloudspeak.readthedocs.io/en/latest/?badge=latest)\n\n\n# CloudSpeak - Azure Backend Abstractions for Python\n\nCloudSpeak is a Python package that simplifies and abstracts the usage of Azure as a backend for specific Python data structures. It provides easy-to-use classes and methods for working with Azure Blob Storage and Azure Queue Storage, allowing you to seamlessly integrate Azure services into your Python applications.\n\n## Features\n\nCloudSpeak offers the following key features:\n\n- **Azure Blob Storage Interaction:** Easily iterate through containers, create and delete them, and access individual blob files.\n  \n- **File Upload and Download:** Seamlessly upload and download files to and from Azure Blob Storage with built-in tracking of upload and download progress.\n  \n- **Azure Blob Storage Lock Management:** Efficiently manage locks offered by Azure Blob Storage to synchronize multiple processes.\n\n- **Remote Dictionaries:** Create and manage dictionaries hosted entirely in Azure Blob Storage. You can choose between indexed dictionaries (with a maintained index for key retrieval) and non-indexed dictionaries for faster access to dictionary keys.\n\n- **Remote Queues:** Create, send, and receive messages using a user-friendly interface, with Azure Storage as the backend.\n\n## Getting Started\n\nTo get started with CloudSpeak, follow these simple steps:\n\n1. Install CloudSpeak using pip:\n\n   ```bash\n   pip install cloudspeak\n   ```\n\n2. Import the necessary modules and set up Azure credentials:\n\n   ```python\n   from cloudspeak.azure import AzureCredentials\n   from cloudspeak.azure import AzureFactory\n\n   credentials = AzureCredentials()\n   credentials.connection_string_storage = \"YOUR_CONNECTION_STRING\"\n\n   factory = AzureFactory(credentials=credentials)\n   ```\n\n3. Use CloudSpeak to interact with Azure services. For example, to access blob storage:\n\n   ```python\n   service = factory.service_storage\n   container = service.containers[\"example\"]\n\n   # Uploading content to a blob file named \"file\"\n   file = container[\"file\"]\n   file.data = b\"test\"\n   progress = file.upload()\n   progress.join()\n\n   # Downloading content from a blob file named \"file\"\n   file = container[\"file\"]\n   progress = file.download()\n   progress.join()\n   downloaded_data = file.data\n   ```\n\n4. Create and use remote queues:\n\n   ```python\n   queue = factory.queue(\"example\", create=True)\n   queue.push(\"hello\")\n\n   message = queue.pop(wait_time=-1)\n\n   # Automatically release the message from the queue when exiting the 'with' block.\n   with message:\n       print(message.content)\n   ```\n\n5. Access remote dictionaries:\n\n   ```python\n   factory = AzureFactory(credentials=credentials)\n\n   # Create a non-indexed remote dictionary\n   ad = factory.dictionary('container', 'example', create_container=False, indexed=False)\n\n   ad[\"key\"] = \"value\"\n   print(ad[\"key\"])\n   ```\n\n* Transferring with progress:\n<img style=\"display: block; margin: auto;\" src=\"https://raw.githubusercontent.com/mlhost/cloudspeak/v0.0.4/docs/images/jupyter_download.gif\">\n\n## Abstractions Overview\n\nCloudSpeak provides two main abstractions:\n\n| Abstraction           | Description                                                |\n|-----------------------|------------------------------------------------------------|\n| Remote Dictionaries   | Dictionaries hosted entirely in Azure Blob Storage. Choose between indexed or non-indexed versions for various use cases. |\n| Remote Queues         | User-friendly interface for managing queues with Azure Storage as the backend. |\n\n## Documentation\n\nFor detailed documentation and examples, please refer to the [CloudSpeak Documentation](https://cloudspeak.readthedocs.io/).\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Set of python tools that eases integration of cloud services in Python projects",
    "version": "0.1.2",
    "project_urls": {
        "Homepage": "https://github.com/mlhost/cloudspeak"
    },
    "split_keywords": [
        "python",
        "cloud",
        "remote",
        "dict",
        "abstraction",
        "azure",
        "storage",
        "blob"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bde1de554fc984e91c0ca432a21ad2b528b3808068e46c30be95a7c96c9a2540",
                "md5": "7bb324c75b82e6cc14e8508b52aab5fa",
                "sha256": "bd3f2f4bb9234765e4ea9423020924c97c1e81fccdd4ffe01e7bdb46105a6f18"
            },
            "downloads": -1,
            "filename": "cloudspeak-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7bb324c75b82e6cc14e8508b52aab5fa",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 76203,
            "upload_time": "2023-10-08T16:59:20",
            "upload_time_iso_8601": "2023-10-08T16:59:20.760570Z",
            "url": "https://files.pythonhosted.org/packages/bd/e1/de554fc984e91c0ca432a21ad2b528b3808068e46c30be95a7c96c9a2540/cloudspeak-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "02fe0b3d3f789e5b335a0a2e809e372c73dd8b7332b771eb3c27efbc88ddaec0",
                "md5": "a1f6181c06057a0378bab59c806dbff5",
                "sha256": "ffcacbd200c7248de5075cb3b08a7e13caf46c2c81a621ad638faf7c692e3bea"
            },
            "downloads": -1,
            "filename": "cloudspeak-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "a1f6181c06057a0378bab59c806dbff5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 28703,
            "upload_time": "2023-10-08T16:59:22",
            "upload_time_iso_8601": "2023-10-08T16:59:22.707757Z",
            "url": "https://files.pythonhosted.org/packages/02/fe/0b3d3f789e5b335a0a2e809e372c73dd8b7332b771eb3c27efbc88ddaec0/cloudspeak-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-08 16:59:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mlhost",
    "github_project": "cloudspeak",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.64.1"
                ]
            ]
        },
        {
            "name": "joblib",
            "specs": [
                [
                    "==",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "azure-storage-blob",
            "specs": [
                [
                    "==",
                    "12.14.1"
                ]
            ]
        },
        {
            "name": "azure-storage-queue",
            "specs": [
                [
                    "==",
                    "12.3.0"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": []
        }
    ],
    "lcname": "cloudspeak"
}
        
Elapsed time: 0.24545s