KAOS is a scalable satellite mission planning suite for Earth observation satellites.
Not required, but a great idea.
With Python2.7 and pip installed:
pip install virtualenv
virtualenv -p /usr/bin/python2.7 --no-site-packages kenv
source kenv/bin/activate
Note: please do not commit the kenv
folder.
pip install -r requirements.txt
In order for KAOS to run, it needs to be connected to a PSQL database. For convenience, two scripts
have been included in the scripts
directory to automatically set up the PSQL instances,
the databases, and users expected by the default configs for KAOS.
If another PSQL config is required with different users and database names then
kaos/settings_test.cfg
and kaos/settings.cfg
must also be modified to point KAOS to the new DB.
Optionally, if a quick database setup is required for rapid testing a prototyping then the following
command can be used to quickly spin up a docker instance:
docker run --name kaos-test -e POSTGRES_PASSWORD=kaosuserpassword -e POSTGRES_USER=kaosuser -e POSTGRES_DB=kaostestdb -P -p 127.0.0.1:5432:5432 -d postgres
pytest test -s
flake8 kaos
flask run
We (mostly) use the Google Python style guide. The tl;dr of style rules:
- PEP8 compliant
- 100 chars per line max
- prefer
string.format
over C printf formatting - snake case variable names
- readable docstring format:
def get_the_answer(x, y, *args):
"""This function answers ALL THE THINGS.
Args:
x (int): The first thing to answer.
y (str): The second thing to answer.
*args: All the other things to answer.
Returns:
The answer (probably 42).
"""
# do stuff
This project was created for the UBC Electrical and Computer Engineering Capstone project, in partnership with MDA Corporation. Core algorithms of the project are taken from Rapid Satellite-to-Site Visibility Determination Based on Self-Adaptive Interpolation Technique by Han et al.
James Asefa
Ray Li
Rouyeen Rouyani
Lise Savard
Zeyad Tamimi