Skip to main content
https://travis-ci.org/MacHu-GWU/inspect_mate-project.svg?branch=master https://codecov.io/gh/MacHu-GWU/inspect_mate-project/branch/master/graph/badge.svg https://img.shields.io/pypi/v/inspect_mate.svg https://img.shields.io/pypi/l/inspect_mate.svg https://img.shields.io/pypi/pyversions/inspect_mate.svg https://img.shields.io/badge/Star_Me_on_GitHub!--None.svg?style=social

Welcome to inspect_mate Documentation

inspect_mate can easily separate:

  1. regular attribute.

  2. property attribute.

  3. regular method.

  4. static method.

  5. class method.

  6. all attributes, include regular attribute and property attribute.

  7. all methods, include regular method, static method and class method.

Example

import:

from inspect_mate import (
    is_attribute,
    is_property_method,
    is_regular_method,
    is_static_method,
    is_class_method,
    get_attributes,
    get_property_methods,
    get_regular_methods,
    get_static_methods,
    get_class_methods,
    get_all_attributes,
    get_all_methods,
)

define a class:

class Base(object):
    attribute = "attribute"

    def __init__(self):
        self.initiated_attribute = "initiated_attribute"

    @property
    def property_method(self):
        return "property_method"

    def regular_method(self):
        return "regular_method"

    @staticmethod
    def static_method():
        return "static_method"

    @classmethod
    def class_method(cls):
        return "class_method"


class Klass(Base):
    pass


instance = Klass()

usage:

# tester_function(klass_or_instance, "attribute_name")
>>> is_attribute(Klass, "attribute")
True
>>> is_property_method(Klass, "property_attribute")
True
>>> is_regular_method(Klass, "regular_method")
True
>>> is_static_method(Klass, "static_method")
True
>>> is_class_method(Klass, "class_method")
True

>>> is_attribute(instance, "attribute")
True
>>> is_attribute(instance, "initiated_attribute")
True
>>> is_property_method(instance, "property_attribute")
True
>>> is_regular_method(instance, "regular_method")
True
>>> is_static_method(instance, "static_method")
True
>>> is_class_method(instance, "class_method")
True

# getter_function(klass_or_instance), yield (attr, value)
>>> get_attributes(Klass)
[("attribute", "attribute")]

>>> get_property_methods(Klass)
[("property_attribute", "property_attribute")]

>>> get_regular_methods(Klass)
[("regular_method", Klass.regular_method)]

>>> get_static_methods(Klass)
[("static_method", "Klass.static_method")]

>>> get_class_methods(Klass)
[("class_method", "Klass.class_method")]

>>> get_all_attributes(Klass)
[("attribute", "attribute"), ("property_attribute", "property_attribute")]

>>> get_all_methods(Klass)
[("regular_method", Klass.regular_method), ("static_method", "Klass.static_method"), ("class_method", "Klass.class_method")]

Install

inspect_mate is released on PyPI, so all you need is:

$ pip install inspect_mate

To upgrade to latest version:

$ pip install --upgrade inspect_mate

Release files for inspect_mate 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for inspect_mate 0.0.2
File Size Uploaded
inspect_mate-0.0.2.tar.gz 13.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for inspect_mate 0.0.2
File Interpreter ABI Platform
inspect_mate-0.0.2-py2-none-any.whl Python 2 none any Details

Total release size: 35.9 kB

Release files / inspect_mate-0.0.2.tar.gz

Download URL inspect_mate-0.0.2.tar.gz
Size 13.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a51907976d9624d0eeaf0d2207a67c95d174a2fa3aabfdaee53eeaf91d973bdd
BLAKE2b-256 checksum
How to use checksums
3d0e75bcfbb04eb18002ac864014b3a88a0615a3b90e3f3aa9cb9067503906bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.13

Release files / inspect_mate-0.0.2-py2-none-any.whl

Download URL inspect_mate-0.0.2-py2-none-any.whl
Size 22.5 kB
Tags Python 2
SHA-256 checksum
How to use checksums
de7e5eb9f8231e741661aadbdbd2ae1b6e607241705abad9695790fd5c9440ab
BLAKE2b-256 checksum
How to use checksums
fac1c1bd37367766779c3b218eadce19c7da8901392d18d2ef94ac41dda782ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.13

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page