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:
--hostthe tator hostname (string)--tokenthe tator API token (string)--media-type-idthe media type id (integer)--file-type-idthe file type id (integer)--multi-type-idthe multiview type id (integer)--state-type-idthe state type id (integer)--image-type-idthe image type id (integer)--hdd-snthe serial number of the hard drive--directorythe 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| hms_import-0.10.8.tar.gz | 58.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.