/greppo

Build & deploy geospatial applications quick and easy.

Primary LanguagePythonApache License 2.0Apache-2.0

Hey there, this is Greppo...

Discord Twitter URL

A Python framework for building geospatial web-applications.

Greppo is an open-source Python framework that makes it easy to build applications. It provides a toolkit to quickly integrate data, algorithms, visualizations and UI for interactivity.

Documentation: docs.greppo.io

Website: https://greppo.io

Discord Community: https://discord.gg/RNJBjgh8gz

If you run into any problems, ping us on Discord, Twitter or open an issue on GitHub.

Installation

$ pip install greppo

We suggest you use a virtual environment to manage your packages for this project. For more infromation and troubleshooting visit the Installation Guide.

Windows users: Installation of Fiona (one of Greppo's dependencies) on Windows machines usually doesn't work by default. A manual installation with e.g. wheel files by Christoph Gohlke the would be a work around.

A simple example

# inside app.py

from greppo import app
import geopandas as gpd

data_gdf = gpd.read_file("geospatial_data.geojson")

buildings_gdf = gpd.read_file("./data/buildings.geojson")

app.overlay_layer(
    buildings_gdf,
    name="Buildings",
    description="Buildings in a neighbourhood in Amsterdam",
    style={"fillColor": "#F87979"},
    visible=True,
)

app.base_layer(
    name="Open Street Map",
    visible=True,
    url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
    subdomains=None,
    attribution='&copy; <a target="_blank" href="http://osm.org/copyright">OpenStreetMap</a> contributors',
)

Then run the aplication using the greppo cli command:

greppo serve app.py

To view the app that is being served, enter this address of the localhost localhost:8080/ in your web browser. (Note: the port of 8080 might be different depending on other programs you're running. Check the port indicated in the command line interface.)

Support & Community

Do you have questions? Ideas? Want to share your project? Join us on discord Invite Link.

Under the hood

Greppo is open-source and is built on open-source. Under the hood it uses Starlette, Vue, Leaflet, ChartJS, TailwindCSS to name a few. A detailed list of the open-source projects used is listed here.

Greppo is our contribution back to the geospatial community. We want to make the development of geosaptial apps easy, to make it easy for data-scientists to showcase their work.

License

Greppo is licensed under Apache V2.