Skip to content

Instantly share code, notes, and snippets.

@mneedham
mneedham / app.py
Last active Jul 20, 2021
Streamlit/Pinot - dynamic selection of metric and time range
View app.py
import streamlit as st
from pinotdb import connect
import pandas as pd
import time
st.title("GitHub Events")
broker_port = 8000
conn = connect(host='localhost', port=broker_port, path='/query/sql', scheme='http')
@mneedham
mneedham / app.py
Last active Jul 20, 2021
Pinot queries rendered in Streamlit
View app.py
import streamlit as st
from pinotdb import connect
import pandas as pd
st.title("GitHub Events")
broker_port = 8000
conn = connect(host='localhost', port=broker_port, path='/query/sql', scheme='http')
query = f"""
@mneedham
mneedham / app.py
Created Jul 20, 2021
Streamlit app
View app.py
import streamlit as st
st.title("GitHub Events")
st.write("Welcome to our first Streamlit app")
@mneedham
mneedham / app.py
Last active Jul 20, 2021
Basic Pinot query rendered in Streamlit
View app.py
import streamlit as st
from pinotdb import connect
import pandas as pd
st.title("GitHub Events")
broker_port = 8000
conn = connect(host='localhost', port=broker_port, path='/query/sql', scheme='http')
query = f"""
@mneedham
mneedham / docker-compose.yml
Created Jul 19, 2021
Apache Pinot GitHubEventsQuickStart
View docker-compose.yml
version: '3'
services:
pinot:
image: apachepinot/pinot:0.7.1
command: "GitHubEventsQuickStart -personalAccessToken ${GITHUB_TOKEN}"
container_name: "pinot-github-events-quick-start"
ports:
- "9000:9000"
- "8000:8000"
View bumpme
Mon May 17 14:35:19 UTC 2021
@mneedham
mneedham / docker-compose.yml
Created Mar 5, 2020
GraphConnect 2020 - APOC Training
View docker-compose.yml
version: '3.7'
services:
neo4j:
image: neo4j:4.0.0-enterprise
container_name: "gc2020-apoc"
volumes:
- ./plugins:/plugins
- ./data:/data
- ./import:/import
@mneedham
mneedham / blog_domain.py
Last active Jan 14, 2020
Altair - Setting a custom date domain for the x axis
View blog_domain.py
# Code for https://markhneedham.com/blog/2020/01/14/altair-range-values-dates-axis/ blog post
import altair as alt
import pandas as pd
import datetime
df = pd.DataFrame( [
{"position": 40, "date": datetime.date(2019,9,5)},
{"position": 31, "date": datetime.date(2019,9,12)},
{"position": 19, "date": datetime.date(2019,9,19)},
@mneedham
mneedham / blog_domain.py
Created Jan 14, 2020
Altair - Setting a custom date domain for the x axis
View blog_domain.py
import altair as alt
import pandas as pd
import datetime
df = pd.DataFrame( [
{"position": 40, "date": datetime.date(2019,9,5)},
{"position": 31, "date": datetime.date(2019,9,12)},
{"position": 19, "date": datetime.date(2019,9,19)},
{"position": 14, "date": datetime.date(2019,9,26)},
{"position": 7, "date": datetime.date(2019,10,3)},
View import.cql
CALL apoc.schema.assert(null,{Judge:['id'], Player:["name"], Country:["name"], Club:["name"]});
WITH "1f4nc8vehOiZhEB2_3L2bvXTpag29VcEKJ0PJeo5Runc" AS id
WITH "https://docs.google.com/spreadsheets/d/" + id + "/export?format=csv&id=" + id + "&gid=3" AS uri
LOAD CSV FROM uri AS row
WITH row SKIP 4 LIMIT 100
MERGE (player:Player {name: row[8]})
SET player.rawScore = toInteger(row[14]), player.score = toInteger(row[16])
MERGE (country:Country {name: row[9]})
MERGE (club:Club {name: row[10]})