Skip to content

Instantly share code, notes, and snippets.

View matthewfeickert's full-sized avatar
💭
☕ + 💻

Matthew Feickert matthewfeickert

💭
☕ + 💻
View GitHub Profile
@matthewfeickert
matthewfeickert / README.md
Last active March 4, 2024 06:24
Motivation for using Python virtual environments for easy sharing
@matthewfeickert
matthewfeickert / README.md
Last active October 7, 2021 18:55
X11 Forwarding to Docker for Linux and macOS

X11 Forwarding to Docker

Examples of X11 forwarding to Docker for Linux and macOS. In both situations:

  • xhost is used to set the host and/or user names allowed to make connections to the X server
  • The DISPLAY Docker environment variable must be set
  • The directory /tmp/.X11-unix/ directory must be volume mounted into the container at /tmp/.X11-unix/

Linux

@matthewfeickert
matthewfeickert / generator.py
Created April 27, 2021 16:06
Python tricks and patterns
# Use the generator .next method to quickly get the first non-None item in a list
if __name__ == "__main__":
item_list = [None, None, "non-None-A", "non-None-B", None]
item = next(item for item in item_list if item is not None)
assert item == "non-None-A"
print(item)
# - axes = next(
# - artist
@matthewfeickert
matthewfeickert / README.md
Last active April 21, 2021 02:02
Examples of non-interactive matplotlib backends with or without GUIs

Examples of non-interactive matplotlib backends with or without GUIs

It is first worth reading about backends in the matplotlib Usage Guide.

Non-interactive with GUI

Running

$ python with_gui.py
@matthewfeickert
matthewfeickert / .gitignore
Last active March 24, 2021 20:50
Example of problems with versioning and cell ID in Jupyter notebooks
.ipynb_checkpoints/
@matthewfeickert
matthewfeickert / README.md
Last active March 23, 2021 04:29 — forked from lehostert/README.md
stacked bar plots

Stacked Bar Plot Example

Binder

Summary

This is an example of how to create a stacked bar plot with percent family from a fish data set. Using this example you will be able to take a full data set and compute the family proportions just before plotting without the need to save a new dataframe.

Dependencies

@matthewfeickert
matthewfeickert / .gitignore
Last active March 15, 2021 20:47
demo of failing example of hist with np.sqrt
.ipynb_checkpoints/
example.root
@matthewfeickert
matthewfeickert / docs.yml
Created March 5, 2021 23:26
GitHub Actions workflow YAML to deploy a built document to a gh-pages branch for viewing through the web
name: Deploy build
on:
push:
branches:
- main
tags:
- v*
jobs:
@matthewfeickert
matthewfeickert / README.md
Last active March 22, 2021 16:10
Bug report for Python 2 vs. Python 3 inconsistency

I'm seeing a bug between pyAMI v5.1.2 on CVMFS with inconsistent return structure for the provenance node dicts. The docs mention that for the pyAMI.atlas.api.get_dataset_prov API the return should be

a map of python dictionnaries. The key "node" gives a list of dataset with the distance to the given dataset and the key "edge" gives the list of successive pairs of input an output datasets.

This is true for Python 2.7, but for Python 3 the return structure is inconsistent with some datasets in the provenance node list having a return of

@matthewfeickert
matthewfeickert / README.md
Last active January 13, 2021 00:24
reproducible issue with jaxlib v0.1.58

Regression in jaxlib v0.1.58 for jax.scipy.special.gammaln for CPU

In pyhf we've noticed one of our unit tests that was passing for jax v0.2.7 and jaxlib v0.1.57, however, with the release of jaxlib v0.1.58 it has started failing. We've narrowed it down to being for jaxlib v0.1.58 with jax_enable_x64=True in CPU mode (aka, where our unit test run).

Minimal Reproducible Example

In a fresh Python 3.8 virtual environment