Skip to content

Instantly share code, notes, and snippets.

View LouisAmon's full-sized avatar

Louis Amon LouisAmon

View GitHub Profile
version: '3'
services:
opensearch-node1:
image: opensearchproject/opensearch:1.0.0-rc1
container_name: opensearch-node1
environment:
- cluster.name=opensearch-cluster
- node.name=opensearch-node1
- discovery.seed_hosts=opensearch-node1
- cluster.initial_master_nodes=opensearch-node1
@LouisAmon
LouisAmon / mod10.py
Created May 18, 2021 14:35 — forked from emesik/mod10.py
python mod10 checker
def mod10(number):
digits = []
even = False
for digit in reversed(number):
digit = ord(digit) - ord('0')
if even:
digit = digit * 2
if digit >= 10:
digit = digit % 10 + digit / 10
digits.append(digit)
@LouisAmon
LouisAmon / example_provider.py
Created February 26, 2020 07:15
Pulumi Dynamic Provider (Python)
# This simple example illustrates how Nuage recommends you should build
# a Dynamic Provider in Pulumi
#
# The example is based on the official documentation:
# https://www.pulumi.com/docs/intro/concepts/programming-model/#example-github-labels-rest-api
#
# It defines a Github Label programmatically via Pulumi.
#
# The recommended directory structure is the following:
#
@LouisAmon
LouisAmon / filebase64sha256.py
Last active January 25, 2020 09:17
Terraform's `filebase64sha256` function, in Python (cf. https://www.terraform.io/docs/providers/aws/r/lambda_function.html)
import base64
import hashlib
def sha256sum(filename):
"""
Helper function that calculates the hash of a file
using the SHA256 algorithm
Inspiration:
https://stackoverflow.com/a/44873382
@LouisAmon
LouisAmon / s3_download_file_progress_bar.py
Created October 19, 2018 10:57 — forked from wy193777/s3_download_file_progress_bar.py
Show AWS s3 download_file Progress using tqdm
#python3
def hook(t):
def inner(bytes_amount):
t.update(bytes_amount)
return inner
BUCKET_NAME = 'your_s3_bucket_name'
FILE_NAME = 'your_s3_file_name'
s3 = boto3.resource('s3')
@LouisAmon
LouisAmon / lambda_handler.py
Created October 15, 2018 08:16
Run a system command in a Lambda
import subprocess
import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def lambda_handler(event, context):
"""
Runs a shell command and returns the output code
STDOUT & STDERR are logged into Cloudwatch
@LouisAmon
LouisAmon / json_to_gzip.py
Created July 26, 2018 12:49
How to compress JSON-able data using gzip (Python 3)
import json
import gzip
def compress_data(data):
# Convert to JSON
json_data = json.dumps(data, indent=2)
# Convert to bytes
encoded = json_data.encode('utf-8')
# Compress
compressed = gzip.compress(encoded)
def trigo():
product = 1.0
for counter in range(1, 1000, 1):
for dex in list(range(1, 360, 1)):
angle = radians(dex)
product *= sin(angle)**2 + cos(angle)**2
return product
def sha():
h = hashlib.sha1('secret')
@LouisAmon
LouisAmon / build.sh
Created April 21, 2018 11:52
Building an AWS Lambda package that includes `numpy`, `pandas` & `scipy`
# System dependencies
yum update -y
yum install -y \
binutils \
findutils \
python36
# Create directory for our lambda
mkdir build
pip install -t build numpy pandas scipy
# Check uncompressed file size
@LouisAmon
LouisAmon / fanout.js
Created March 16, 2018 08:46
Fanout AWS Lambda
'use strict';
const aws = require('aws-sdk');
const lambda = new aws.Lambda({region: 'eu-west-1'});
const async = require('async');
exports.handler = (event, context, callback) => {
/*
Invokes a given Lambda function `event.function` in parallel for each given
argument `event.events`