Writing the same imports over and over again is below your capacity. Let pyforest do the job for you.
With pyforest you can use all your favorite Python libraries without importing them before. If you use a package that is not imported yet, pyforest imports the package for you and adds the code to the first Jupyter cell. If you don't use a library, it won't be imported.
You are a Data Scientist who works with Python. Every day you start multiple new Jupyter notebooks because you want to explore some data or validate a hypothesis.
During your work, you use many different libraries like
sklearn. However, before you can start with the actual work, you always need to import your libraries.
There are several problems with this. Admittedly, they are small but they add up over time.
- It is boring because the imports are mostly the same. This is below your capacity.
- Missing imports disrupt the natural flow of your work.
- Sometimes, you may even need to look up the exact import statements. For example,
import matplotlib.pyplot as plt or
from sklearn.ensemble import GradientBoostingRegressor
What if you could just focus on using the libraries?
pyforest offers the following solution: - You can use all your libraries like you usually do. If a library is not imported yet, pyforest will import it and add the import statement to the first Jupyter cell. - If a library is not used, it won't be imported. - Your notebooks stay reproducible and sharable without you wasting a thought on imports.
After you installed pyforest and its Jupyter extension, you can use your favorite Python Data Science commands like you normally would - just without writing imports.
For example, if you want to read a CSV with pandas:
df = pd.read_csv("titanic.csv")
pyforest will automatically import pandas for you and add the import statement to the first cell:
import pandas as pd
Which libraries are available?
- We aim to add all popular Python Data Science libraries which should account for >99% of your daily imports. For example, we already added
sklearn and many more. In addition, there are also helper modules like
- You can see an overview of all currently available imports here
- If you are missing an import, you can either add the import to your user specific pyforest imports as described in the FAQs or you can open a pull request for the official pyforest imports
In order to gather all the most important names, we need your help. Please open a pull request and add the imports that we are still missing.
You need Python 3.6 or above because we love f-strings.
From the terminal (or Anaconda prompt in Windows), enter:
pip install --upgrade pyforest python -m pyforest install_extensions
Also, please note that this will add pyforest to your IPython default startup settings. If you do not want this, you can disable the auto_import as described in the FAQs below.
"How to add my own import statements without adding them to the package source code?"
~/.pyforest/user_imports.pyin which you can type any explicit import statements you want (e.g.
import pandas as pd). Your own custom imports take precedence over any other pyforest imports. Please note: implicit imports (e.g.
from pandas import *) won't work.
"Doesn't this slow down my Jupyter or Python startup process?"
pdare only pyforest placeholders.
"Why can't I just use the typical IPython import?"
"I don't have and don't need tensorflow. What will happen when I use pyforest?"
"Will the pyforest variables interfere with my own local variables?"
"What about auto-completion on lazily imported modules?"
"How to (temporarily) deactivate the auto_import in IPython and Jupyter?"
~/.ipython/profile_default/startupand adjust or delete the
pyforest_autoimport.pyfile. You will find further instructions in the file. If you don't use the auto_import, you will need to import pyforest at the beginning of your notebook via
"How to (re)activate the pyforest auto_import?"
from pyforest.auto_import import setup; setup(). Please note that the auto_import only works for Jupyter and IPython.
"Can I use pyforest outside of the Jupyter Notebook or Lab?"
import pyforest. Afterwards, you can get the currently active imports via
"Why is the project called pyforest?"
If you'd like to contribute, a great place to look is the issues marked with help-wanted.
In order to gather all the most important names, we need your help. Please open a pull request and add the imports that we are still missing to the pyforest imports. You can also find the guidelines in the pyforest imports file