Skip to content

Instantly share code, notes, and snippets.

View epicserve's full-sized avatar

Brent O'Connor epicserve

View GitHub Profile
@epicserve
epicserve / timeit.py
Created November 5, 2025 14:02
Example of using the rich library for a timing context manager
import time
from contextlib import contextmanager
from datetime import timedelta
from rich.align import Align
from rich.columns import Columns
from rich.console import Console
from rich.padding import Padding
from rich.style import Style
from rich.text import Text
#!/usr/bin/env python
import argparse
import os
import re
import time
from pathlib import Path
VERSION_PATTERN = r'[\d]+\.[\d]+\.[\d]+'
@epicserve
epicserve / download.py
Last active September 23, 2020 19:37
Download your unsplash liked images
import requests
import shutil
unsplash_username = 'epicserve'
url_pattern = 'https://unsplash.com/napi/users/{username}/likes?page={page}&per_page=10&order_by=latest'
download_folder = '~/Downloads/unsplash_likes'
def download_image(image_url, filename):
# Open the url image, set stream to True, this will return the stream content.
@epicserve
epicserve / example.com.import.txt
Last active March 11, 2023 14:04
Example Terraform file for importing DNS Records from DigitalOcean
digitalocean_domain.example example.com
digitalocean_record.example example.com,<DO ID>
digitalocean_record.fd-gmail-txt example.com,<DO ID>
digitalocean_record.fd-mx["alt1.aspmx.l.google.com."] example.com,<DO ID>
digitalocean_record.fd-mx["alt2.aspmx.l.google.com."] example.com,<DO ID>
digitalocean_record.fd-mx["aspmx.l.google.com."] example.com,<DO ID>
digitalocean_record.fd-mx["aspmx2.googlemail.com."] example.com,<DO ID>
digitalocean_record.fd-mx["aspmx3.googlemail.com."] example.com,<DO ID>
digitalocean_record.fd-ns["1"] example.com,<DO ID>
digitalocean_record.fd-ns["2"] example.com,<DO ID>
@epicserve
epicserve / bitbucket.py
Created June 21, 2019 19:00
Example on how to get Bitbucket Pipelines build data
from oauthlib.oauth2 import BackendApplicationClient
from requests_oauthlib import OAuth2Session
"""
In order to use this class you're have to setup an API token first by going to https://bitbucket.org/account/user/oeie/api.
And then add an OAuth consumer. Please note this will not work if you don't provide Callback URL when creating your
consumer. I just provided a generic URL since we don't need callbacks. The documentation for the bitbucket API is
located here, https://developer.atlassian.com/bitbucket/api/2/reference/.
Example usage:
import os
from oauthlib.oauth2 import BackendApplicationClient
from requests_oauthlib import OAuth2Session
client_id = os.environ['BITBUCKET_KEY']
client_secret = os.environ['BITBUCKET_SECRET']
username = os.environ['BITBUCKET_USERNAME']
password = os.environ['BITBUCKET_PASSWORD']
token_url = 'https://bitbucket.org/site/oauth2/access_token'
@epicserve
epicserve / .dockerignore
Last active December 27, 2017 22:58 — forked from jefftriplett/.dockerignore
How I use Docker and Compose
.*
!.coveragerc
!.env
!.pylintrc
function Thing(name) {
this.thing = name;
}
Thing.prototype = {
get_thing: function() {
return this.thing;
},