Density is a project to provide easy access to the Wireless Density data from Columbia. For more details on the project, please view the spec.
This is the recommend means of setting up Density for development.
Next, install vagrant.
Once vagrant is installed, you can run
vagrant up, and vagrant will provision the virtual machine for you.
To start, log into vagrant by following the these steps:
vagrant ssh cd /vagrant source config/settings.dev
To run the app after you've logged into vagrant, follow these steps:
cd density python density.py
To access the database after you've logged call:
sudo -u postgres psql density
The data table is under the name
We now use miniconda to handle our Python environment needs. Our
/config/environment.yml file contains a list of basic libraries for data science.
To use Jupyter Notebook within Vagrant type:
jupyter notebook ––ip=0.0.0.0
Importing Dev Data
We use a partial dump of our data for quick-and-easy development. This gets loaded on VM provision by our Vagrant setup scripts. It contains a small subset and is not updated frequently, but is sufficient for most feature development and bug squashing.
Be sure to also insert the Oauth table so that you can make authenticated requests against the API.
The Docker container requires that either the port for the Postgres instance is forward or that the host is set to an exact IP or domain.
# enter the project directory cd density # builds a Docker image # -t dictates that the image is tagged as 'density' docker build -t density . # runs a docker container tagged as 'density' # --net=host forwards all ports from the host to the container # this allows docker to access the Postres port, 5432 # -e allows setting environment variables within the container # -d detaches the process and runs the container like a daemon docker run --net=host -d density # ps shows all docker containers currently running docker ps
Running Density within Docker relies on an instance of Consul being run on
localhost:8500 which is used to configure the settings.
Supported routes currently include:
/ : Density homepage with "fullness" graphic /latest : APi endpoint providing the latest data available /home : future API homepage that allows a user to obtain an API token
Data for density is provided by CUIT in coordination with ESC.
|-- config/ (config settings and install scripts) |-- README.md (This file) |-- density/ \ |-- density.py (the executable for this application) |-- static/ (your static files, such as js, css, imgs) |-- tests/ (unittest scripts that should be used during development)
0.1.1: Datetime formatting changed to ISO 8601. 0.1.0: Basic API up and stable.
List of Developers
- Brian Zeng
- David Hao
- Sungwoo Bae
- Nate Brennand
- Benjamin Low
- Jessica Forde
- Jessica Valarezo
- Maclyn Brandwein
- Jackie Ho
- Dan Schlosser
- Terra Blevins
- Evan Tarrh
- Raymond Xu
- Connie Zhang