Skip to content

Instantly share code, notes, and snippets.

@jitsejan
jitsejan / trigger_lambda.py
Created August 9, 2019 10:39
Trigger AWS Lambda function
import boto3
import json
REGION = "eu-west-1"
ENV = "dev"
FUNCTION_NAME = 'lambda-function-name'
session = boto3.session.Session(profile_name=ENV)
lambda_client = session.client('lambda', REGION)
@jitsejan
jitsejan / get_log_events.py
Created December 5, 2019 18:24
boto3, cloudwatch, events
""" Get the log events for a log group from CloudWatch """
import boto3
from datetime import datetime, timedelta
import pandas as pd
ACCOUNT = 'prod'
GROUP = '/aws/lambda/lambda-function-prod'
NUM_DAYS = 7
START_TIME = int((datetime.now() - timedelta(days=NUM_DAYS)).timestamp())
@jitsejan
jitsejan / availabilitychecker.py
Created December 7, 2019 04:11
A simple example to demonstrate how I validate source availability by dynamically calling verify functions.
""" availabilitychecker.py """
import boto3
import requests
class AvailabilityChecker:
def __init__(self):
self.ssm_client = boto3.client("ssm")
self.session = requests.Session()
@jitsejan
jitsejan / awsassumerole.py
Created March 25, 2021 01:21
Simple script that can assume the role after providing the MFA token
from datetime import datetime, timedelta
import boto3
ACCOUNT_NUMBER = 1234567890
MAX_DURATION = 129600
NUM_DAYS = 30
USER = "jitsejan"
# Prompt user for the MFA token
@jitsejan
jitsejan / pythonista_supabase.py
Created April 27, 2021 00:35
Pythonista script to read from Safari and write to Supabase
import appex
import json
import requests
LANGUAGE = "en-gb"
OXFORD_ID = "9acc1234"
OXFORD_KEY = "6baccf388cd6456456326e85054f30aba"
OXFORD_URL = "https://od-api.oxforddictionaries.com/api/v2"
OXFORD_HEADERS = {
"app_id": OXFORD_ID,
@jitsejan
jitsejan / crawlandmail.py
Created January 14, 2021 23:15
Send automated mail from crawler
import smtplib
import ssl
import lxml.html
import requests
URL = "https://happiestbaby.co.uk/products/snoo-smart-bassinet"
resp = requests.get(URL)
tree = lxml.html.fromstring(resp.content)
@jitsejan
jitsejan / xpath_retrieval.py
Created December 24, 2020 20:51
Simple example on how to use xpaths to get data from a website.
from dataclasses import dataclass
import lxml.html
import requests
from typing import Iterator
BASE_URL = "https://zelda.gamepedia.com"
HEADERS = {
'User-Agent': 'Mozilla/5.0'
}
@jitsejan
jitsejan / jira_extract.py
Created September 5, 2020 03:05
Jira lead time extraction
import pandas as pd
import requests
JIRA_TOKEN = "abcdefg12345"
JIRA_URL = "https://jitsejan.atlassian.net/"
JIRA_USER = "mail@jitsejan.com"
# Setup a requests session
rsession = requests.Session()
# New Jira instances authenticate through a token
@jitsejan
jitsejan / doughnut_plot.py
Created July 7, 2019 13:23
Create a dougnut plot with Matplotlib
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.style as style
import seaborn as sns
plt.rcParams["figure.figsize"] = (12,12)
# Improve style of the plots
style.use('seaborn-deep')
style.use('ggplot')
@jitsejan
jitsejan / blobspark.py
Created February 26, 2019 12:38
Interacting with Blob storage (no Spark writing)
from azure.storage.blob import BlockBlobService
import pandas as pd
import pyarrow.parquet as pq
from io import BytesIO
from configparser import RawConfigParser
from pyspark import SparkConf, SparkContext, SQLContext
CONTAINER_NAME = "userjj"
BLOB_NAME = "characters.parquet"