Skip to content


Subversion checkout URL

You can clone with
Download ZIP
An alternative to Python's dir(). Easy to type; easy to read! For humans only.
Branch: develop
Fetching latest commit...
Cannot retrieve the latest commit at this time.



An alternative to Python's dir function. Easy to type; easy to read! For humans only.

Requirements: Python 2.4+ or 3.0

License: BSD (see the LICENSE file)

Contributions are welcome. See the CHANGELOG and AUTHORS files.


To install see, run:

$ pip install --upgrade see

Alternatively, to install from source:

$ python install


see is designed for the interactive Python interpreter. Import the see function like so:

>>> from see import see

Call see() without arguments to see all objects in the global scope.

>>> foo = 'bar'
>>> see()
    foo      see()

Call see(an_object) to see what you can do with an_object.

>>> number = 1
>>> see(number)
    +             -             *             /             //            %
    **            <<            >>            &             ^             |
    +obj          -obj          ~             <             <=            ==
    !=            >             >=            abs()         bool()
    divmod()      float()       hash()        help()        hex()
    int()         long()        oct()         repr()        str()
    .bit_length()               .conjugate()  .denominator  .imag
    .numerator    .real


You can use a Python startup file to ensure that see is available every time you run Python. The following example uses a startup file named in the user's home directory:

  1. Create a startup file, if one does not already exist:

    touch ~/
  2. Open the startup file in your preferred Python editor and add the following line:

    from see import see
  3. Set the following environment variable (e.g. in ~/.bashrc for Bash):


Now you can use see immediately after running python, without having to manually import it.

Startup for iPython

For iPython users, importing see by default requires a little more work.

  1. Create a file named in your ~/.ipython directory, and add the following lines:

    from IPython import ipapi
    def main():
        ip = ipapi.get()
        ip.ex('from see import see')
  2. From here, you have two options:

    1. Launch iPython with the command: ipython -profile see

    2. Open ~/.ipython/ and add the following line inside the main() function:

      import ipy_profile_see
Something went wrong with that request. Please try again.