Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/UrbanCCD-UChicago/plenario
API for geospatial and time aggregation across multiple open datasets.
https://github.com/UrbanCCD-UChicago/plenario
Last synced: about 1 month ago
JSON representation
API for geospatial and time aggregation across multiple open datasets.
- Host: GitHub
- URL: https://github.com/UrbanCCD-UChicago/plenario
- Owner: UrbanCCD-UChicago
- License: mit
- Created: 2013-12-04T21:12:31.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2022-12-07T23:59:57.000Z (about 2 years ago)
- Last Synced: 2024-08-02T12:48:44.986Z (4 months ago)
- Language: Python
- Homepage: http://plenar.io
- Size: 117 MB
- Stars: 154
- Watchers: 40
- Forks: 42
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - UrbanCCD-UChicago/plenario - API for geospatial and time aggregation across multiple open datasets. (others)
README
[![Code Climate](https://codeclimate.com/github/UrbanCCD-UChicago/plenario/badges/gpa.svg)](https://codeclimate.com/github/UrbanCCD-UChicago/plenario)
[![Build Status](https://travis-ci.org/UrbanCCD-UChicago/plenario.svg?branch=master)](https://travis-ci.org/UrbanCCD-UChicago/plenario)# Plenar.io
API for geospatial and time aggregation across multiple open datasets.
This project is funded by the [NSF Computer and Information Science and Engineering (CISE) Directorate](http://www.nsf.gov/dir/index.jsp?org=CISE)
through a grant to the [Urban Center for Computation and Data](https://urbanccd.org/) (UrbanCCD)
at the [Computation Institute](http://ci.uchicago.edu)
of the [University of Chicago](http://uchicago.edu) and [Argonne National Laboratory](http://www.anl.gov).
It is maintained by UrbanCCD and was prototyped by [DataMade](http://datamade.us).## Development Information
We are currently developing the next version of Plenario. Information regarding the build process and other information can found at [https://github.com/UrbanCCD-UChicago/plenario-platform/wiki](https://github.com/UrbanCCD-UChicago/plenario-platform/wiki).
## Running locally with Docker
To maximize development portability, we use Docker and Docker Compose. To build and run the Plenario application using docker, do the following:
```bash
$ docker-compose build # will spew out tons of debug logs while building containers
$ docker-compose up # will also produce tons of verbose logs
```Once the server is running, navigate to http://localhost:5000/ . From
the homepage, click 'Login' to log in with the username and password
from `settings.py`. Once logged in, go to 'Add a dataset' under the
'Admin' menu to add your own datasets.### Developing with Docker
When you make code changes, you must reload the containers:
```bash
$ ^C # kill the running containers with Ctrl-C
$ docker-compose down # ensure it's all down and ready to be rebuilt
$ docker-compose build # rebuild them to load the changes and install anything new
$ docker-compose up # restart the containers
```## Running locally
Get the Plenario source:
``` bash
git clone [email protected]:UrbanCCD-UChicago/plenario.git
```Install support libraries for Python:
``` bash
cd plenario
pip install -r requirements.txt
```If you aren't already running [PostgreSQL](http://www.postgresql.org/),
we recommend installing version 9.3 or later.Make sure the host of your database has the [PostGIS](http://postgis.net/)
extension installed.The following command creates a postgres database, imports the
plv8 and postgis extensions, and creates all the necessary tables for
plenario to work. The database name corresponds with the `DB_NAME`
setting in your `plenario/settings.py` file and can be modified. It will
be set to `plenario_test` by default.```
./manage.py init
```You'll need the ogr2ogr utility - part of the gdal package. We use it to import and export shape datasets.
OSX
```
brew install gdal --with-postgresql
```Ubuntu/Debian
```
sudo apt-get install gdal-bin
```The default settings should work given a typical postgres setup, however
should you find that the init method fails to run - the first place to
check would be the `settings.py` file.You will likely want to change, at minimum, the following `settings.py`
fields:* `DATABASE_CONN`: edit this field to reflect your PostgreSQL
username, server hostname, port, and database name.* `DEFAULT_USER`: change the username, email and password on the
administrator account you will use on Plenario locally.Before running the server, [Redis](http://redis.io/) needs to be running.
* To start Redis locally (in the background):
```
redis-server &
```Start up a worker:
```
./manage.py worker
```Finally, run the server:
```
./manage.py runserver
```Once the server is running, navigate to http://localhost:5000/ . From
the homepage, click 'Login' to log in with the username and password
from `settings.py`. Once logged in, go to 'Add a dataset' under the
'Admin' menu to add your own datasets.## Tools we are grateful for:
### Application Dependencies
Thanks to the maintainers of these open source projects we depend on.
* [PostgreSQL](http://www.postgresql.org/) - database version 9.3 or greater
* [PostGIS](http://postgis.net/) - spatial database for PostgreSQL
* [Flask](http://flask.pocoo.org/) - a microframework for Python web applications
* [SQL Alchemy](http://www.sqlalchemy.org/) - Python SQL toolkit and Object Relational Mapper
* [psycopg2](http://initd.org/psycopg/) - PostgreSQL adapter for the Python
* [GeoAlchemy 2](http://geoalchemy-2.readthedocs.org/en/0.2.4/) - provides extensions to SQLAlchemy for working with spatial databases
* [GDAL](http://www.gdal.org/) - geospatial data mungeing
* [Redis](http://redis.io/) - key-value cache
* [Gunicorn](http://gunicorn.org/) - WSGI server
* [Celery](http://www.celeryproject.org/) - Task Queue### Production Support
Thanks for the following services that have given us free academic/open source accounts.
* [Sentry](https://getsentry.com/welcome/) - exception and task monitoring
* [Code Climate](https://codeclimate.com/) - static analysis
* [JetBrains](https://www.jetbrains.com/) - open source license for PyCharm and WebStorm IDEs## Team
* Charlie Catlett
* Brett Goldstein
* Will Engler
* Jesus Bracho## Join Our Community
Join us on Gitter for technical help with the Plenario API,
[![Join the chat at https://gitter.im/UrbanCCD-UChicago/plenario](https://badges.gitter.im/UrbanCCD-UChicago/plenario.svg)](https://gitter.im/UrbanCCD-UChicago/plenario?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
## Testing
The plenario/tests folder includes a suite of API tests split across the /points and /shapes directories. To run the tests using with nose, use the command 'nosetests tests' from the /plenario directory
## Errors / Bugs
If something is not behaving intuitively, it is a bug, and should be reported.
Report it here: https://github.com/UrbanCCD-UChicago/plenario/issues## Note on Patches/Pull Requests
Pull requests make us very happy.
If you're interested in contributing, come chat with us on Gitter
to discuss what you'd like to do.
Then follow [common best practices](http://www.contribution-guide.org/)
to send us a PR.## Copyright
Copyright (c) 2014 University of Chicago and DataMade.
Released under the [MIT License](https://github.com/UrbanCCD-UChicago/plenario/blob/master/LICENSE).