package-root 1.0.0

Last updated:

0 purchases

package-root 1.0.0 Image
package-root 1.0.0 Images
Add to Cart

Description:

packageroot 1.0.0

Package √Root


import package_root # into your PYTHONPATH
Stop appending your package root path to your Python path by hand like this:
from os.path import abspath, dirname, join
sys.path.insert(1, abspath(join(dirname(__file__), '..')))

It's annoying and error prone. Let us do it for you. <3
import package_root

How does this witchcraft work you ask?
We detect the file that called import package_root. We search until we find a parent directory without an __init__.py file. That's your package_root. We make it sys.path[1] because friends don't let friends mess with sys.path[0].
Still confused? Let's say you have the following setup:
your_awesome_pacakge/
foo/
__init__.py
your_dope_module.py
bar/
__init__.py
baz.ipynb
baz.py
.no_init_at_this_level

If you're in baz.ipynb or baz.py, we'll append your_awesome_package to your path so you can import whatever you want from your_awesome_package.
# baz.ipynb or baz.py
import package_root
import foo.your_dope_module # works!

Don't believe us? We have tests to prove it.
Important Notes

You shouldn't have an __init__.py in your package root.
This is intended for Jupyter notebooks where relative imports don't work.

Installation
pip install package_root

Usage
import package_root # And nothing else

Contributing
Feel free to report bugs, but we won't accept feature requests since this package is intended to do one thing and do it well.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.