Skip to content

deepmarket/PLUTO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Overview

PLUTO is a cross platform desktop application that can be used to connect to the deepmarket network.

This project is in active development and is being maintained by the team members listed below. If you would like to submit changes, please open a pull request. Please read the getting set up to develop locally guide.

Prerequisites

Python

This project requires Python 3.6. Make sure python3.6 is installed before attempting any of this!

Installer

To check version:

$ python --version

Docker

Docker is required for this project if you want to add resources to the Deepmarket Network. To install docker, please follow the docker-mentation located here.
To verify that your installation of docker is running correctly, please confirm that the docker daemon is running. Basically, if running docker run hello-world from the command line does not throw an error, you should be ready.

Installing, Testing, Running:

Installation

First you'll need to install the required dependencies. We use the pipenv package management tool to make managing dependencies easier. For more info on the tool, see here. To install:

$ python -m pip install pipenv

Then to install dependencies:

$ pipenv install

If you receive an error related to the python binary, try:

$ pipenv install --python=$(which python3)

We use fbs as the application runtime. It is recommended to run PLUTO by interacting with it's command line interface:

# Run the application
$ fbs run

You should now be running a development version of PLUTO!

Developing

Runtime Environment

Use pipenv to activate a virtual environment necessary for running this project.

$ pipenv shell

It is recommended that you read the getting set up to develop locally guide.

Testing

Testing is done using two libraries: Python's builtin Unittest for unit testing and behave for functional BDD tests.

They can be ran independently. Make sure that the virtual environment has been activated before running these.

$ python -m unittest discover ./src/unittest/python
$ python -m behave ./src/integrationtest/python

Alternately, these can be run without running pipenv shell first:

$ pipenv run python -m unittest discover ./src/unittest/python
$ pipenv run python -m behave ./src/integrationtest/python

pipenv run {cmd} will run the subsequent command within the virtual environment defined in the Pipfile.

Running the Application:

Note that you must be in the project root directory to run the project. We use the fman build tool for packaging, so from the root directory, simply:

$ pienv shell
$ fbs run

Will spin up a local instance of the project!

TODOs

  • Add mocks for integration tests