This is inspired by all the really awesome dotfile repos available. We need an ecosystem like this for Python.
IPython has a feature that allows you to run scripts before the console starts. From IPython docs:
This is the IPython startup directory
.py and .ipy files in this directory will be run prior to any code or files specified via the exec_lines or exec_files configurables whenever you load this profile.
Files will be run in lexicographical order, so you can control the execution order of files with a prefix, e.g.::
00-first.py 50-middle.py 99-last.ipy
This repo contains my IPython startup files that I've found to be timesaving for my workflow.
My startup scripts are focused on data analysis and prototyping enviroments, as this is my primary purpose for using Python and IPython. I have lots of examples in the startup
folder that can be used as ag starting place for other IPython workflows.
There is a requirements.txt
file because some of my imports are external libraries.
First, clone the repo:
git clone https://github.com/CamDavidsonPilon/StartupFiles.git
The contents in startup
should be added to ~/.ipython/<your_profile>/startup
. One method to do this is to create a symlink between ~/.ipython/<profile>/startup
and the startup
folder in this repo. The script build_symlink
will do just that:
./bin/build_symlink
will replace the default
profile's startup
with symlinks to the local repo. Alternatively, you can run
./bin/build_symlink --profile <profile>
to use an different profile to symlink too.
Included is a script, ./bin/ipython_analysis
, to query your IPython sqlite database. Yes, IPython stores all your commands in a sqlite database. This script will return suggestions for you to add to your startup scripts.
Get the best pieces of matplotlib, plus some extras.
Are all alias to %paste
, my most common IPython command and the one I mess up the most.
The former for development work on lifelines, the latter for general statistical work. I might add sklearn stuff here.