Skip to main content
Barracks SDK for Python #
The Python SDK to interact with the [Barracks](https://barracks.io/) API

## Set up ##

* Summary of set up
* Configuration
* Dependencies
* Deployment instructions

## Usage ##

### BarracksHelper ###
First you need to init a BarracksHelper with you API key
```
#!python

barracksHelper = BarracksHelper.BarracksHelper("YOUR_API_KEY")

```

### Check for Updates ###
Check for new available updates with the UpdateCheckerHelper
```
#!python

# Perform a simple check
request = UpdateDetailRequest.UpdateDetailRequest("v1", "MyDevice", "{\"AnyCustomData\":\"any_value\"}")
checkHelper = barracksHelper.updateCheckerHelper
checkHelper.check_update(request, check_update_callback)

```

### Download Update ###
Download the package linked to an UpdateDetail with the PackageDownloadHelper
```
#!python
packageDownloadHelper = PackageDownloadHelper.PackageDownloadHelper(bh.apiKey)
packageDownloadHelper.download_package("./myUpdate", updateDetail, download_package_callback)

```

### Full example using Callbacks ###
Check & download update using callbacks
```
#!python

def download_package_callback(*args):
"""
Callback to handle the downloaded file from PackageDownloadHelper.download_package
"""
if args:

# We've got an ApiError"
if isinstance(args[0], ApiError.ApiError):
print "Message : " + args[0].get_message()

# We've got the downloaded file path
else:
file_path = args[0].__str__()
if os.path.isfile(file_path):
print "File downloaded at " + file_path.__str__()
else:
print "File Error"

def check_update_callback(*args):
"""
My callback to handle new update from UpdateCheckerHelper.check_update
"""
if args: # If args is not empty.

# We've got an UpdateDetail
if isinstance(args[0], UpdateDetail.UpdateDetail):

# Download the file linked to this UpdateDetail
ph = PackageDownloadHelper.PackageDownloadHelper(bh.apiKey)
ph.download_package("./myUpdate", args[0], download_package_callback)

# We've got an ApiError
elif isinstance(args[0], ApiError.ApiError):
print "Error message : " + args[0].get_message()

else:
print args[0].__str__()


# Call Helpers to check & download for new update
barracksHelper = BarracksHelper.BarracksHelper("YOUR_API_KEY")
request = UpdateDetailRequest.UpdateDetailRequest("v1", "MyDevice", "{\"AnyCustomData\":\"any_value\"}")
checkHelper = barracksHelper.updateCheckerHelper
checkHelper.check_update(request, check_update_callback)

```

Release files for barracks_sdk 0.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for barracks_sdk 0.0.8
File Size Uploaded
barracks_sdk-0.0.8.tar.gz 4.3 kB Details

Release files / barracks_sdk-0.0.8.tar.gz

Download URL barracks_sdk-0.0.8.tar.gz
Size 4.3 kB
Tags Source
SHA-256 checksum
How to use checksums
56113daada46197dacaebb376ac53c4e7cfb7426bfc6e6bfa4f3de294318b8f7
BLAKE2b-256 checksum
How to use checksums
b3789a5615ae53a6076c4ef75a2ad6b0848ede8e8de02ca1f45bc162989f6538
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.8 This release

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page