Skip to main content

DataTrails Examples

Project description

datatrails-samples

Sample python code that uses the datatrails python SDK to manage particular types of assets such as 'doors', 'cards', 'containers' etc.

Installing the samples code

Python 3.8 and later versions are supported.

Use the standard python pip utility:

python3 -m pip install --user datatrails-samples

and this will create 7 entry points:

  - archivist_samples_document
  - archivist_samples_door_entry
  - archivist_samples_estate_info
  - archivist_samples_signed_records
  - archivist_samples_synsation
  - archivist_samples_software_bill_of_materials
  - archivist_samples_wipp

Pre-requisites

Add a token to the file credentials/.auth_token and set some environment vars to specify the archivist endpoint:

export TEST_ARCHIVIST="https://app.datatrails.ai"
export TEST_AUTHTOKEN_FILENAME=credentials/.auth_token
export TEST_NAMESPACE="unique label"
export TEST_PARTNER_ID="acmecorp"
export TEST_VERBOSE=-v

If TEST_VERBOSE is "-v" debugging output will appear when running the examples. Otherwise leave blank or undefined.

Windows using Powershell - at the command prompt set values for environment variables:

$Env:TEST_ARCHIVIST="https://app.datatrails.ai"
$Env:TEST_AUTHTOKEN_FILENAME = '<path of token location>'
$Env:TEST_NAMESPACE = Get-Date -UFormat %s
$Env:TEST_PARTNER_ID = 'acmecorp'
$Env:TEST_VERBOSE = '-v'

TEST_NAMESPACE is set to the date and time value in Unix format, thus providing a unique id upon execution.

TEST_NAMESPACE

If TEST_NAMESPACE is blank or unspecified, any assets events, locations will be visible to other users running the same examples on the same URL.

Each example creates assets,events,locations that are not visible to other examples. For example the door_entry assets,events etc are not visible to the synsation example.

Note: Assets and locations are only created if they do not already exist according to namespace. If one wants to execute a sample multiple times, feel free to set TEST_NAMESPACE to a different unique id.

Due to restrictions attachments are always uploaded during every example execution.

Events are created every execution of an example - currently no check is done if the event already exists.

EXAMPLES

All examples use a common set of arguments:

export AUTH="-u $TEST_ARCHIVIST -t $TEST_AUTHTOKEN_FILENAME $TEST_VERBOSE"
export ARGS="$AUTH --namespace $TEST_NAMESPACE --partner_id=$TEST_PARTNER_ID"

Door Entry Control

Some commands to simply create and manage doors and cards:

archivist_samples_door_entry $ARGS --create
archivist_samples_door_entry $ARGS --list all
archivist_samples_door_entry $ARGS --list doors
archivist_samples_door_entry $ARGS --list cards
archivist_samples_door_entry $ARGS --list 'Courts of Justice front door'
archivist_samples_door_entry $ARGS --list 'access_card_1'

Execute opening doors with a card:

archivist_samples_door_entry $ARGS --open "Courts of Justice front door,access_card_1"
archivist_samples_door_entry $ARGS --open "Courts of Justice front door,access_card_3"
archivist_samples_door_entry $ARGS --open "Courts of Justice front door,access_card_4"
archivist_samples_door_entry $ARGS --open "Courts of Justice front door,access_card_0"
archivist_samples_door_entry $ARGS --open "Courts of Justice front door,access_card_2"
archivist_samples_door_entry $ARGS --open "Bastille front door,access_card_2"
archivist_samples_door_entry $ARGS --open "City Hall front door,access_card_2"
archivist_samples_door_entry $ARGS --open "Gare du Nord apartments side door,access_card_2"

Manage assets and events and check for any inconsistencies

NB no namespace required ...

archivist_samples_estate_info $AUTH --quick-count
archivist_samples_estate_info $AUTH --double-check

Signed Records

archivist_samples_signed_records $ARGS --create 'samples'
archivist_samples_signed_records $ARGS --sign-message 'signature' 'samples'
archivist_samples_signed_records $ARGS --bad-sign-message 'signature' 'samples'
archivist_samples_signed_records $ARGS --check 'samples'

Synsation

archivist_samples_synsation initialise  $ARGS --num-assets 100 --wait 1 --await-confirmation
archivist_samples_synsation charger     $ARGS --start-date 20190909 --stop-date 20191009 --fast-forward 9876
archivist_samples_synsation simulator   $ARGS --asset-name tcl.ccj.001 --wait 1.0
archivist_samples_synsation wanderer    $ARGS
archivist_samples_synsation analyze     $ARGS 

Software Bill of Materials

archivist_samples_software_bill_of_materials $ARGS

WIPP

archivist_samples_wipp $ARGS

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

datatrails_samples-0.18.0.tar.gz (19.1 MB view details)

Uploaded Source

Built Distribution

datatrails_samples-0.18.0-py2.py3-none-any.whl (19.1 MB view details)

Uploaded Python 2 Python 3

File details

Details for the file datatrails_samples-0.18.0.tar.gz.

File metadata

  • Download URL: datatrails_samples-0.18.0.tar.gz
  • Upload date:
  • Size: 19.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for datatrails_samples-0.18.0.tar.gz
Algorithm Hash digest
SHA256 f6ef96095cf3a9362889a56c23aba05a22019c883d0d8f665442f74492c01aba
MD5 cd075211d6d6db6ab9a15feca8139e95
BLAKE2b-256 7b1c57c20bc37719f05c0624cc272a175b8e9b8d735fa3ca658421896a7af8f8

See more details on using hashes here.

File details

Details for the file datatrails_samples-0.18.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for datatrails_samples-0.18.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ffcd134d3dfdaddd88f51d867cee93ebe9ba95ba139624b673f357b20389fa81
MD5 235f2089d1dd5ad89dba1391d6f8428f
BLAKE2b-256 cbb78bf30c6867cc2ad61c3dbd854d7890cba3e6391bd533bf55ac572424bcdb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page