Skip to content

Instantly share code, notes, and snippets.

View ericmjl's full-sized avatar
🎯
Focusing

Eric Ma ericmjl

🎯
Focusing
View GitHub Profile
@ericmjl
ericmjl / path_exists.py
Last active August 29, 2015 14:03
How to identify whether there exists a path between two nodes in an undirected graph
"""
Author: Eric J. Ma
Affiliation: Massachusetts Institute of Technology.
Purpose of Code:
This code was written because I did not find a sufficiently-concise way of identifying whether
two nodes were connected by some path. Bidirectional Djikstra as implemented in NetworkX returns
False is not connected, but (length, path) if connected; I wanted a pure "True/False"
implementation.
"""
In response to Stack Overflow question: http://stackoverflow.com/questions/24830029/python-less-greater-than-issue#24830029
"""
def batpower(power):
if power >= 70:
return "good"
elif power <= 70 and power > 30:
return "ok"
elif power <= 30:
@ericmjl
ericmjl / strip_metadata.py
Created June 5, 2015 16:48
A Python script for stripping out metadata from a PDF file.
import os
from PyPDF2 import PdfFileReader, PdfFileMerger
files_dir = os.getcwd()
if 'stripped' not in os.listdir(files_dir):
os.mkdir('stripped')
for f in os.listdir(files_dir):
@ericmjl
ericmjl / merger.py
Created June 5, 2015 16:50
A Python script for merging PDF files together.
"""
Author: Eric J. Ma
Purpose: To merge PDFs together in an automated fashion.
"""
import os
from PyPDF2 import PdfFileReader, PdfFileMerger
@ericmjl
ericmjl / .travis.yml
Created July 16, 2015 16:16
.travis.yml file
language: python
python:
# We don't actually use the Travis Python, but this keeps it organized.
- "2.7"
- "3.4"
sudo: false
install:
# We do this conditionally because it saves us some downloading if the
@ericmjl
ericmjl / .gitignore
Created July 16, 2015 16:16
.gitignore
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
@ericmjl
ericmjl / environment.yml
Created May 26, 2016 13:55
an example conda environment.yml file
name: envname
dependencies:
- python=3
- package1
- package2
- pip
- pip:
- pypi_package1
- pypi_package2
# distutils: extra_compile_args = -O2 -w
# cython: boundscheck=False, nonecheck = False, wraparound=False, cdivision=True
import numpy as np
cimport numpy as np
import operator as op
from cython.parallel import prange
from cython import boundscheck, nonecheck, wraparound
import os
import click
packages = ['circos', 'hiveplot', 'pandoc-attributes',
'pandoc-fignos', 'pandoc-xnos', 'pandocfilters',
'twine', 'lektor']
# for f in os.listdir(os.getcwd()):
# if ".sh" in f:
# os.system("bash {0}".format(f))
@ericmjl
ericmjl / dupe_packages.sh
Created September 15, 2016 04:20 — forked from cwharland/dupe_packages.sh
Find all packages installed by both conda and pip
conda list | tr -s ' ' | cut -d ' ' -f1 | uniq -c | awk '$1>1'