SkillAgentSearch skills...

See

Python's dir() for humans.

Install / Use

/learn @ljcooke/See
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

see: dir for humans

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.

Example

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

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()

Documentation

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

Contributing

The source code is available from GitHub:

git clone https://github.com/ljcooke/see.git

Contributions are welcome.

Related Skills

View on GitHub
GitHub Stars245
CategoryDevelopment
Updated5mo ago
Forks17

Languages

Python

Security Score

97/100

Audited on Oct 7, 2025

No findings