This project re-implements the central server and astronaut flight software for Dr. Magwood's 'Orbit' suite of software written for OCESS.
For a guide on if and how you should contribute, read CONTRIBUTING.md
For a guide on how to set up your text editor to edit code, read DEVELOPING.md
For a guide on how the actual OrbitX codebase is structured, read ARCHITECTURE.md
This project is maintained by
- Patrick
- Stefan De Young
Furthermore, OCESS and UWaterloo CS494 members have contribued:
- Ye Qin
- Sean
- Stefano DeYoung
- Cesare Corazza
- Jamie Tait
- Jonah Hamer-Wilson
- Calum Wheaton
If you're a first-time contributor to OrbitX, take a look at CONTRIBUTING.md
,
especially if you don't recognize the git clone
command in the Project Setup
section. The CONTRIBUTING.md
has helpful tips for first-time contributors.
If you run into any issues during setup, feel free to email me,
patrick.melanstone on gmail. For step-by-step explanations of these
instructions, read CONTRIBUTING.md
.
It's recommended you develop and run in a virtualenv. Setup is as follows:
First, fork your own copy of orbitx
on GitHub (you'll need a GitHub account
for this). See below for windows-specific changes. Then,
git clone https://github.com/your-github-username/orbitx
cd orbitx
python3 -m venv venv # or however you can create a python3 virtualenv
source venv/bin/activate
pip install --upgrade pip # not required, but a good idea
cd orbitx
make install # installs packages in requirements.txt, make sure you've activated your venv!
If you're on windows, replace source venv/bin/activate
with
Scripts\Activate.bat
on cmd
, or Scripts\Activate.ps1
if you know you're
running powershell. Also you'll have to just run the make commands manually, by running cat Makefile
and copying the command you want.
If you get an error referencing "Microsoft Visual C++ Build Tools", especially when
installing yappi
, install the build tools
(choose Windows 10 SDK and C++ x64/x86 build tools in the installer).
And when you want to restart development, just do:
cd orbitx
source venv/bin/activate
This project is mostly python, which does not require you to build a new binary
after making changes to .py
files. However, making changes to the
orbitx.proto
file requires building your changes. The file orbitx/Makefile
will
let you do the following commands in orbitx/
:
make build # run this when you make a change to orbitx.proto
make install # run this once, to set up this project
make format # run this to automatically format code
orbitx.py
Is an executable python script. Run python orbitx.py --help
for
the CLI args, or just run python orbitx.py
for a graphical launcher.
If you get errors, make sure you have the pip packages in requirements.txt
installed. If the setup instructions completed without errors, this is as easy
as running source bin/activate
.
Read ARCHITECTURE.md
for a description of OrbitX's architecture.