Skip to main content

HMS Import

Import utility for encrypted video and metadata files.

Installation

From Wheel

This assumes you have Python 3.8+ installed and pip3 is on your path:

~$ pip3 install hms-import
...
~$ hms-import -h
usage: hms-import [-h] [--quiet] [--verbose] {b3-upload,o2-upload,log-upload} ...

Script for importing video and metadata in O2 and B3 formats.

options:
  -h, --help            show this help message and exit
  --quiet               Changes the console log level from INFO to WARNING; defers to --verbose
  --verbose             Changes the console log level from INFO to DEBUG; takes precedence over --quiet

Commands:
  {b3-upload,o2-upload,log-upload}
    b3-upload           Imports video and GPS files from unlocked LUKS-encrypted device
    o2-upload           Script for uploading raw, encrypted video files
    log-upload          Uploads a log file Tator

From Source

This assumes you have git, Python 3.8+, and poetry installed already.

~$ git clone git@github.com:cvisionai/hms.git
...
~$ cd hms/scripts/hms-import
hms-import$ poetry install
...
hms-import$ poetry run hms-import -h

Usage

This script contains three sub-commands: o2-upload, b3-upload, and log-upload; their usage is described below. Additional documentation is available by providing the -h flag, e.g. hms-import o2-upload -h.

o2-upload

The first step is to set up your config.ini file. Start by copying the contents of sample_hms-config.ini included below for reference, and replace the default values:

[Local]
# The directory containing the video files for import
Directory=dir1

[Tator]
# The url to the tator deployment
Host=https://hms.tator.io
# The API token for tator
Token=6485c83cf040deadbeef07b7aea13706
# The integer id of the project to upload the videos to
ProjectId=-1
# The integer id of the media type to create, required if the project has more than one video media type
MediaType=-1
# The integer id of the file type to create for the uploaded encrypted sensor data file
FileType=-1
# The integer id of the image type to create for the trip summary image
SummaryType=-1
# The name of the algorithm to launch upon upload of each trip
AlgorithmName=Decrypt Trip
# If true, will skip uploading files and only create media objects; used for legacy O2 importing
SkipDecrypt=False

[Trip]
# The serial number of the hard drive, uncomment and set
# HddSerialNumber=123ABC

Once configured, you can run the import utility:

$ hms-import o2-upload config.ini

Troubleshooting

If an import fails, the logs have more detail than the console, they can be found in the same folder the command was run from, with the filename hms_import.log. These are rotating logs that cycle daily (if the log file is not current, it will have an .MM-DD-YY extension appended to the filename) and are kept for up to 7 days, so as to not consume disk space without limit.

b3-upload

The B3 import sub-command, hms-import b3-upload, requires the following arguments:

  • --host the tator hostname (string)
  • --token the tator API token (string)
  • --media-type-id the media type id (integer)
  • --file-type-id the file type id (integer)
  • --multi-type-id the multiview type id (integer)
  • --state-type-id the state type id (integer)
  • --image-type-id the image type id (integer)
  • --hdd-sn the serial number of the hard drive
  • --directory the location of the files to upload

Once you have those values, use them to call the script:

$ hms-import b3-upload \
    --host <TATOR_HOST> \
    --token <TATOR_TOKEN> \
    --media-type-id <id> \
    --file-type-id <id> \
    --multi-type-id <id> \
    --state-type-id <id> \
    --image-type-id <id> \
    --hdd-sn <sn> \
    --directory <path/to/files>

log-upload

There is a third command option, log-upload, which is used to upload the log file generated after running hms-import, which can be called like so:

$ hms-import log-upload \
    --host <TATOR_HOST> \
    --token <TATOR_TOKEN> \
    --log-file-type-id <id>

The flag --log-filename is optional and defaults to the default location of the log file, only override it if you know what you're doing.

Metadata

Release files for hms-import 0.10.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 hms-import 0.10.8
File Size Uploaded Provenance
hms_import-0.10.8.tar.gz 58.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for hms-import 0.10.8
File Interpreter ABI Platform
hms_import-0.10.8-py3-none-any.whl Python 3 none any Details

Total release size: 119.6 kB

Release files / hms_import-0.10.8.tar.gz

Download URL hms_import-0.10.8.tar.gz
Size 58.4 kB
Tags Source
SHA-256 checksum
How to use checksums
20de49b99f8fddeb6a3dc70f1ed2b2863c102a4f67c667e6a73878cce9506098
BLAKE2b-256 checksum
How to use checksums
a6e843e7869d915ce92e93a93abbbd1e2b18bb2b05c076540947cde693debbd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.1 CPython/3.10.6 Linux/5.15.90.1-microsoft-standard-WSL2

Release files / hms_import-0.10.8-py3-none-any.whl

Download URL hms_import-0.10.8-py3-none-any.whl
Size 61.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3af99b0bb72352481500602d01b8c2ca4eb2e411924270abbc10b1d1c8d2a1df
BLAKE2b-256 checksum
How to use checksums
1ba6f15ff0b046ae46336ceb0e3d47fce11c61c0af3164a3b8d306e92fa276bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.1 CPython/3.10.6 Linux/5.15.90.1-microsoft-standard-WSL2

Security for hms-import 0.10.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.10.8 This release

2 release files No provenance

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