sibllib

A library for xy plotting and processing


License
MIT
Install
pip install sibllib==0.0.2

Documentation

Sandia Injury Biomechanics Laboratory (SIBL)

Purpose

The Sandia Injury Biomechanics Laboratory analyzes injury due to blast, ballistics, and blunt trauma to help the nation protect the U.S. warfighter. Our contributions to the science of injury causation and prevention aim to significantly reduce the U.S. warfighter's exposure to serious, severe, and fatal injuries.

For more information, see our website.

Library

python license pypi CI coverage Code style: black

Prerequisites

  • Git
  • Conda

Workflow Choice

There are two workflows: Client and Developer

Client Developer
"I just want to use the library, I don't want to develop the library." "I want to use the library and develop the library."
Follow the Client Workflow Follow the Developer Workflow

Client Workflow

Setup with conda environment

Historical setup, with pip, now deprecated

Install from a terminal:

$ pip install xyfigure

If your computer does not have a network connection, install the WHL file (a Python package saved in Wheel format), which must can be obtained from Chad directly, or from here. Then

$ pip install --user xyfigure-0.0.n-py3-non-any.whl  # where n is the version number
$ pip install --user xyfigure-0.0.5-py3-non-any.whl  # version 5, for example

Verify installation: check that xyfigure is contained in the list generated by

$ pip list

Developer Workflow

For an overview, read the guide from GitHub.

Get a local copy of the repository using git clone with SSH

$ cd ~  # Starting from the home directory is optional, but recommended.
$ git clone git@github.com:sandialabs/sibl.git

Development Cycle

  • pull code
  • implement
  • unit test (active now, both local manual testing and automated testing on push to repository)
  • Black code style
  • coverage (to come)
  • push code
$ (base) [~]$ cd ~/sibl
$ (base) [~/sibl]$ conda activate siblenv
$ (siblenv) [~/sibl]$ # development in python
$ (siblenv) [~/sibl]$ python -m unittest # unit tests must pass prior to push to repository
$ (siblenv) [~/sibl]$ python -m unittest -v # for more verbose unittest output
$ (siblenv) [~/sibl] black some_specific_file.py
$ (siblenv) [~/sibl] black some_folder/
$ (siblenv) [~/sibl]

Push to repository

If you update the codebase, and wish to have the modifications merged into the main repository, you will need to either push to the repository if you are a collaborator (information below), or create a pull request if you have forked the repo (information to come).

In the ~/sibl/.git/config file, add the following:

[user]
    name = James Bond  # your first and last name
    email = jb007@company.com  # your email address

Configure ssh keys between your local and the repo. This assumes to you have an existing public key file in ~/.ssh/id_rsa/id_rsa.pub. See this to create a public key. See this for troubleshooting.

Copy the entire public key to the GitHub site under Settings > SSH and GPG keys.

From within the repo ~/sibl/, set the username and email on a per-repo basis:

$ git config user.name "James Bond"  # your first and last name in quotations
$ git config user.email "jb007@company.com"  # your email address in quotations

Contact

License

Sandia National Laboratories is a multimission laboratory managed and operated by National Technology and Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International, Inc., for the U.S. Department of Energy's National Nuclear Security Administration under contract DE-NA-0003525.

Copyright

Copyright 2020 National Technology and Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.

Notice

For five (5) years from the United States Government is granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable worldwide license in this data to reproduce, prepare derivative works, and perform publicly and display publicly, by or on behalf of the Government. There is provision for the possible extension of the term of this license. Subsequent to that period or any extension granted, the United States Government is granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable worldwide license in this data to reproduce, prepare derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so. The specific term of the license can be identified by inquiry made to National Technology and Engineering Solutions of Sandia, LLC or DOE.

NEITHER THE UNITED STATES GOVERNMENT, NOR THE UNITED STATES DEPARTMENT OF ENERGY, NOR NATIONAL TECHNOLOGY AND ENGINEERING SOLUTIONS OF SANDIA, LLC, NOR ANY OF THEIR EMPLOYEES, MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS.

Any licensee of this software has the obligation and responsibility to abide by the applicable export control laws, regulations, and general prohibitions relating to the export of technical data. Failure to obtain an export control license or other authority from the Government may result in criminal liability under U.S. laws.