Skip to main content

A library that routes all communication to the N9 and UR3 robots via a secure middlebox.

Project description

# Niraapad Prototype for the CPS security project

## Dependencies

  • Python 3.7.3

  • Python package grpcio 1.32.0

  • Python package grpcio-tools 1.32.0

  • Python package protobuf 3.15.6

  • Python package tensorflow 2.4.1

The package may work with earlier versions of these depenencies, but this has not been tested.

## Styleguide

## Build Steps

  • Generate the gRPC stubs using one of the following methods:
    • Run scripts/compile_proto_files.sh script in bash

    • Run task build defined in .vscode/tasks.json in Visual Studio Code

## Testing Steps

  • Test on a single machine using one of the following methods:
    • Run .niraapadtesttest_middlebox.py

    • Run task test defined in .vscode/tasks.json in Visual Studio Code

  • Test on two machines as follows:
    • On the server machine, run .niraapadmiddleboxstart_server.py -P 1337 -K .niraapadkeysispy_cs_ubc_ca-S

    • On the client machine, run .niraapadtesttest_niraapad.py -D -H ispy.cs.ubc.ca -P 1337 -K .niraapadkeysispy_cs_ubc_ca-S

    • (Use .niraapadmiddleboxstart_server.py –help or .niraapadtesttest_niraapad.py –help for details)

#### Running UR simulator

  • Details on setting up UR simulator and connecting it with python script: https://github.com/ubc-systopia/cps-security-docs/blob/master/URsim_Setup.pdf

  • Test on a single machine as follows:
    • Turn on the VMware Player and run the UR simulator virtual machine

    • Run the UR3 robot simulator and turn on the robot from the button on the bottom left

    • Run the test_init_vm test using niraapad/test/test_middlebox.py

  • Test on two machines as follows:
    • TODO

## Distribution

  • To distribute the niraapad package on Python Package Index:
    • Clean all old files related to distribution using rm -rf build/ dist/ *egg*

    • Update the version info in file __version__.py

    • Generate the distribution package using python3 setup.py sdist bdist_wheel

    • Run twine check dist/* to check for errors and warnings

    • If you want to test the final package, upload it first to TestPyPI server using twine upload –repository testpypi dist/*

    • The package can be installed from TestPyPI server using pip install -i https://test.pypi.org/simple/ niraapad==1.1.0

    • After the package is tested, upload it to the PyPI server using twine upload dist/*

  • Currently, Arpan Gujarati is the sole owner and maintainer of the niraapad package on Python Package Index

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

niraapad-1.1.12.tar.gz (37.3 kB view details)

Uploaded Source

Built Distribution

niraapad-1.1.12-py3-none-any.whl (38.0 kB view details)

Uploaded Python 3

File details

Details for the file niraapad-1.1.12.tar.gz.

File metadata

  • Download URL: niraapad-1.1.12.tar.gz
  • Upload date:
  • Size: 37.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.2

File hashes

Hashes for niraapad-1.1.12.tar.gz
Algorithm Hash digest
SHA256 9e53024ebfb5443f77595d6883f7b9dd4310caddfd3cab0d5597ad6a83e40d39
MD5 04bebfd5b7db17ea9a4a0412874a91a1
BLAKE2b-256 ee6e7176ccb0e1cf8b970154775fbcc01f253b423c7e8933ef33cbe89fd72f54

See more details on using hashes here.

Provenance

File details

Details for the file niraapad-1.1.12-py3-none-any.whl.

File metadata

  • Download URL: niraapad-1.1.12-py3-none-any.whl
  • Upload date:
  • Size: 38.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.2

File hashes

Hashes for niraapad-1.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 55bb0571189c3dce0a16155c4196379ce935b698b19a4481bd82c439d7ee9ef4
MD5 3f22f35fbf67c4451669c5ac9fe2a010
BLAKE2b-256 b66497afa5e912ec0962710fe605084266fbb06ee2fd6dc5312febc73f0ac701

See more details on using hashes here.

Provenance

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