see

Python's dir() for humans.

Github stars Tracking Chart

see: dir for humans

.. image:: https://img.shields.io/pypi/v/see.svg
:target: https://pypi.org/project/see/

.. see/docs

.. image:: https://travis-ci.org/ljcooke/see.svg?branch=develop
:target: https://travis-ci.org/ljcooke/see

.. image:: https://ci.appveyor.com/api/projects/status/o6rc2yd65fkp7ym7/branch/develop?svg=true
:target: https://ci.appveyor.com/project/ljcooke/see/branch/develop

.. image:: https://coveralls.io/repos/github/ljcooke/see/badge.svg?branch=develop
:target: https://coveralls.io/github/ljcooke/see?branch=develop

.. see/docs

.. see/docs

see is an alternative to dir(), for Python 2.7 and 3.4+.

It neatly summarises what you can do with an object.
Use it to inspect your code or learn new APIs.

.. see/docs

.. contents::

Example

.. For examples, use a 64-column terminal and set sys.ps1 = '>>> '

.. see/docs

Say you have an object which you'd like to know more about::

>>> from datetime import timedelta

Try inspecting the object with see::

>>> see(timedelta)
    isclass             +                   -
    *                   /                   //
    %                   +obj                -obj
    <                   <=                  ==
    !=                  >                   >=
    abs()               bool()              dir()
    divmod()            hash()              help()
    repr()              str()               .days
    .max                .microseconds       .min
    .resolution         .seconds            .total_seconds()

Here we can discover some things about it, such as:

  • The object is a class.
  • You can add something to it with the + operator.
  • It has a seconds attribute.
  • It has a total_seconds attribute which is a function.

Compare with the output of dir::

>>> dir(timedelta)
['__abs__', '__add__', '__bool__', '__class__', '__delattr__', '
__dir__', '__divmod__', '__doc__', '__eq__', '__floordiv__', '__
format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '
__init__', '__init_subclass__', '__le__', '__lt__', '__mod__', '
__mul__', '__ne__', '__neg__', '__new__', '__pos__', '__radd__',
 '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rf
loordiv__', '__rmod__', '__rmul__', '__rsub__', '__rtruediv__',
'__setattr__', '__sizeof__', '__str__', '__sub__', '__subclassho
ok__', '__truediv__', 'days', 'max', 'microseconds', 'min', 'res
olution', 'seconds', 'total_seconds']

You can filter the results of see using a wildcard pattern
or a regular expression::

>>> see(timedelta).filter('*sec*')
    .microseconds       .seconds            .total_seconds()

>>> see(timedelta).filter('/^d/')
    dir()       divmod()

.. see/docs

Documentation

Documentation is available at https://ljcooke.github.io/see/

  • Installation <https://ljcooke.github.io/see/install.html>_
  • Usage <https://ljcooke.github.io/see/usage.html>_
  • Startup File <https://ljcooke.github.io/see/startup.html>_
  • Developer Reference <https://ljcooke.github.io/see/dev/index.html>_

Contributing

The source code is maintained
on GitHub <https://github.com/ljcooke/see>_.
Contributions are welcome.

  • Change Log <https://github.com/ljcooke/see/blob/develop/CHANGELOG.rst>_
  • Code of Conduct <https://github.com/ljcooke/see/blob/develop/CODE_OF_CONDUCT.md>_
  • Authors <https://github.com/ljcooke/see/blob/develop/AUTHORS.rst>_
  • License <https://github.com/ljcooke/see/blob/develop/LICENSE>_

Main metrics

Overview
Name With Ownerljcooke/see
Primary LanguagePython
Program languagePython (Language Count: 3)
Platform
License:BSD 3-Clause "New" or "Revised" License
所有者活动
Created At2009-02-16 23:36:33
Pushed At2025-01-13 17:08:11
Last Commit At
Release Count20
Last Release Namev1.4.1 (Posted on )
First Release Namev0.2 (Posted on 2009-02-17 01:49:50)
用户参与
Stargazers Count243
Watchers Count8
Fork Count17
Commits Count301
Has Issues Enabled
Issues Count6
Issue Open Count2
Pull Requests Count12
Pull Requests Open Count1
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private