Metadata-Version: 2.1
Name: moln
Version: 0.0.1a1
Summary: Stupid, simple Azure client library built for the rest of us
Home-page: https://github.com/johanste/moln
Author: Johan Stenberg
Author-email: johan.stenberg@microsoft.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: azure-storage-blob (<13.0.0,>=12.0.0)
Requires-Dist: azure-identity (<2.0.0,>=1.0.0)

# moln {/mo:ln/}
Stupid simple access to [Microsoft Azure](https://azure.microsoft.com) services using Python. Built for the rest of us.

This is very much a work in progress. Feedback is welcome.

To install:
```bash
pip install moln
```

```python
import pathlib

import moln.storage

# Authentication is done using the azure-identity package.
# By default, it will use the azure.identity.DefaultAzureCredential
account = moln.storage.attach(account_url='https://molntest.blob.core.windows.net')

# Creating containers - just like you create directories!
container = account / 'jabbadabbadoo'
container.mkdir(exists_ok=True)

local_file = pathlib.Path('./stuff.json')
remote_file = container / 'stuff.json'

# Upload blobs like you would upload files - with the option to
# specify metadata like Content-Type headers for the uploaded blob.
if not remote_file.exists():
    with local_file.open(mode='rb') as lf:
        with remote_file.open(mode='wb', content_settings=azure.storage.blob.ContentSettings(content_type='application/json')) as rb:
            rb.write(lf.read())

# Work with the blob as if you opened a local file
with remote_file.open(mode='r') as rb:
    import json
    data = json.load(rb)
    print(data)
```

