IoT Samba Client Library for Python
Project description
iot-samba-client
This package is a wrapper around the smbprotocol SDK for use in an IoT Platform.
Table of Contents
Getting Started
This section provides basic examples with the iot-samba-client
.
Prerequisites
-
Python 3.7 or later is required to use this package.
-
You must have a Samba Windows File Share server to use this package.
Basic Examples
-
Install via pip:
pip install iot-samba-client
-
Import and say hello:
from iot.samba.client import __version__ print(f"hello world from iot-samba-client version: {__version__}")
-
Basic usage:
import tempfile from iot.samba.client import IoTSambaClient # instantiate client samba_client = IoTSambaClient( smb_server="windows-samba-s", smb_host="1.2.3.456", smb_port=445, smb_user="mySambaUserName", smb_pass="mySambaPass***" ) # print info w/ repr print(f"{samba_client.__repr__()}") # download blob to tempfile temp_file = tempfile.NamedTemporaryFile() download_result = samba_client.download_file( share="MY_SAMBA_SHARE", path="path\\to\\blob\\parent\\dir", file="blob.txt", dest=temp_file.name, ) if not download_result: print("unable to download file") temp_file.close() samba_client.disconnect() raise # upload tempfile to blob upload_result = samba_client.upload_file( share="MY_SAMBA_SHARE", path="path\\to\\new\\parent\\dir", file="newBlob.txt", source=temp_file.name, ) if not upload_result: print("unable to upload file") temp_file.close() samba_client.disconnect() raise # clean-up local memory and disconnect from smb session temp_file.close() samba_client.disconnect()
API Documentation
IoTSambaClient Class
A wrapper client to interact with the smbprotocol at the share level.
This client provides operations to list, download, create and delete blobs within the share.
IoTSambaClient(smb_server, smb_host, smb_port, smb_user, smb_pass)
Parameters
-
smb_server
strThe name of the Samba Windows File Share server.
-
smb_host
strThe hostname or IP address of the Samba Windows File Share server.
-
smb_port
intThe port of the Samba Windows File Share server.
-
smb_user
strThe username to connect to the Samba Windows File Share server.
-
smb_pass
Optional[str]The password to connect to the Samba Windows File Share server.
Contributing
Contributions and suggestions are welcomed. However, there is a level of responsibility placed on the contributor to follow best-practices, provide thorough testing, follow the branching strategy, use the pull request template, and maintain a positive and coachable attitude when receiving feedback or questions on your code.
Versioning
This repository adheres to Semantic Versioning. It will be maintained through the CHANGELOG.md
- as is standard with PyPI packages It's important to note that you must maintain the version with your releases in iot/samba/client/_version.py
, otherwise a new package version will fail to get published.
Deployment Process
-
Linting, testing and building occurs when a pull request is made from a
features/*
branch to themaster
branch. -
Deployments to PyPI occur when an approved user triggers the GitHub Action. If the version has not been updated, this deployment will fail.
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
Built Distribution
Hashes for iot_samba_client-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d1200e13657fd026eb4d14c5b58afb6f9432125ad941c6ee1aa9b7cbf25f183 |
|
MD5 | d8511a7e9334323943a515b3fa48249d |
|
BLAKE2b-256 | 6497d434ad96e619639399376ba0775a542603a4767148af53c12362cea907c6 |