darpa-sail-on / sail-on-client

Client and Protcols for DARPA Sail On.
https://darpa-sail-on.github.io/sail-on-client/index.html
Other
2 stars 0 forks source link

Sail-On Client and Protocols

License CI Workflow codecov Code style: black PRs Welcome

Client and Protocols for DARPA sail-on

Protocols present in the repository

  1. OND
  2. CONDDA

Requirements

  1. Python 3.8
  2. Poetry >= 1.1.0

Installation

  1. Install Poetry following the instructions available in the installation page

  2. Clone the repositories associated with different components in a working directory

      git clone https://github.com/darpa-sail-on/sail-on-client.git

    This would create sail-on-client directories in your working directory

  3. Install the different components in a virtual environment

     cd sail-on-client
     poetry install
     poetry shell

Running Client and Server with Different Algorithms

Note: If you are using the server setup by PAR, update the url to http://3.32.8.161:5000 in sail_on_client/protocol/configuration.json and skip step 1 of running the server.

  1. Instructions for running M6 Algorithms
  2. Instructions for running M12 Algorithms
  3. Instructions for running M18 Algorithms

Publishing on PYPI

sail-on-client uses github actions to publish packages on pypi. The action is triggered when a semver tag is pushed to the repository.

We support the following version format .. and ..-alpha. for tags. To publish a package on pypi, the tag must match with the version maintained in pyproject.toml. This is implemented as a mandatory check in the workflow. Poetry provides support for both querying and bumping version via cli. Please refer to version for more details.

Thus to publish sail-on-client on pypi use the following commands

  1. Bump the version in pyproject.toml using poetry version <version_rule>.
  2. Use poetry version --short to determine the version that would be used in the tag.
  3. Generate and push the tag using
     git tag <package-version>
     git push origin --tags

Acknowledgement of Support and Disclaimer

This material is based upon work supported by the Defense Advanced Research Projects Agency (DARPA) under Contract No. HR001120C0055. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the DARPA.