The class representing a Python module.
aliases
(dict[str, Alias]
) –
The aliases pointing to this object.
all_members
(dict[str, Object | Alias]
) –
All members (declared and inherited).
attributes
(dict[str, Attribute]
) –
The attribute members.
canonical_path
(str
) –
The full dotted path of this object.
classes
(dict[str, Class]
) –
The class members.
deprecated
(bool | str | None
) –
Whether this object is deprecated (boolean or deprecation message).
docstring
(Docstring | None
) –
The object docstring.
endlineno
(int | None
) –
The ending line number of the object.
exports
(list[str | ExprName] | None
) –
The names of the objects exported by this (module) object through the __all__
variable.
extra
(dict[str, dict[str, Any]]
) –
Namespaced dictionaries storing extra metadata for this object, used by extensions.
filepath
(Path | list[Path]
) –
The file path of this module.
functions
(dict[str, Function]
) –
The function members.
has_docstring
(bool
) –
Whether this object has a docstring (empty or not).
has_docstrings
(bool
) –
Whether this object or any of its members has a docstring (empty or not).
imports
(dict[str, str]
) –
The other objects imported by this object.
imports_future_annotations
(bool
) –
Whether this module import future annotations.
inherited
(bool
) –
Always false for objects.
inherited_members
(dict[str, Alias]
) –
Members that are inherited from base classes.
is_alias
(bool
) –
Always false for objects.
is_attribute
(bool
) –
Whether this object is an attribute.
is_class
(bool
) –
Whether this object is a class.
is_class_private
(bool
) –
Whether this object/alias is class-private (starts with __
and is a class member).
is_collection
(bool
) –
Always false for objects.
is_deprecated
(bool
) –
Whether this object is deprecated.
is_exported
(bool
) –
Whether this object/alias is exported (listed in __all__
).
is_function
(bool
) –
Whether this object is a function.
is_generic
(bool
) –
Whether this object is generic.
is_imported
(bool
) –
Whether this object/alias was imported from another module.
is_init_module
(bool
) –
Whether this module is an __init__.py
module.
is_module
(bool
) –
Whether this object is a module.
is_namespace_package
(bool
) –
Whether this module is a namespace package (top folder, no __init__.py
).
is_namespace_subpackage
(bool
) –
Whether this module is a namespace subpackage.
is_package
(bool
) –
Whether this module is a package (top module).
is_private
(bool
) –
Whether this object/alias is private (starts with _
) but not special.
is_public
(bool
) –
Whether this object is considered public.
is_special
(bool
) –
Whether this object/alias is special ("dunder" attribute/method, starts and end with __
).
is_subpackage
(bool
) –
Whether this module is a subpackage.
is_type_alias
(bool
) –
Whether this object is a type alias.
is_wildcard_exposed
(bool
) –
Whether this object/alias is exposed to wildcard imports.
kind
–
The object kind.
labels
(set[str]
) –
The object labels (property
, dataclass
, etc.).
lineno
(int | None
) –
The starting line number of the object.
lines
(list[str]
) –
The lines containing the source of this object.
lines_collection
(LinesCollection
) –
The lines collection attached to this object or its parents.
members
(dict[str, Object | Alias]
) –
The object members (modules, classes, functions, attributes, type aliases).
module
(Module
) –
The parent module of this object.
modules
(dict[str, Module]
) –
The module members.
modules_collection
(ModulesCollection
) –
The modules collection attached to this object or its parents.
name
(str
) –
The object name.
overloads
(dict[str, list[Function]]
) –
The overloaded signatures declared in this module.
package
(Module
) –
The absolute top module (the package) of this object.
parent
(Module | Class | None
) –
The parent of the object (none if top module).
path
(str
) –
The dotted path of this object.
public
(bool | None
) –
Whether this object is public.
relative_filepath
(Path
) –
The file path where this object was defined, relative to the current working directory.
relative_package_filepath
(Path
) –
The file path where this object was defined, relative to the top module path.
runtime
(bool
) –
Whether this object is available at runtime.
source
(str
) –
The source code of this object.
type_aliases
(dict[str, TypeAlias]
) –
The type alias members.
type_parameters
(TypeParameters
) –
The object type parameters.
aliases instance-attribute
¤
The aliases pointing to this object.
all_members property
¤
All members (declared and inherited).
This method is part of the consumer API: do not use when producing Griffe trees!
attributes property
¤
The attribute members.
This method is part of the consumer API: do not use when producing Griffe trees!
canonical_path property
¤
The full dotted path of this object.
The canonical path is the path where the object was defined (not imported).
See also: path
.
classes property
¤
The class members.
This method is part of the consumer API: do not use when producing Griffe trees!
deprecated instance-attribute
¤
deprecated: bool | str | None = None
Whether this object is deprecated (boolean or deprecation message).
endlineno instance-attribute
¤
The ending line number of the object.
See also: lineno
.
exports instance-attribute
¤
The names of the objects exported by this (module) object through the __all__
variable.
Exports can contain string (object names) or resolvable names, like other lists of exports coming from submodules:
from .submodule import __all__ as submodule_all
__all__ = ["hello", *submodule_all]
Exports get expanded by the loader before it expands wildcards and resolves aliases.
See also: GriffeLoader.expand_exports
.
Namespaced dictionaries storing extra metadata for this object, used by extensions.
filepath property
¤
The file path of this module.
Raises:
BuiltinModuleError
–
When the instance filepath is None.
functions property
¤
The function members.
This method is part of the consumer API: do not use when producing Griffe trees!
has_docstrings property
¤
Whether this object or any of its members has a docstring (empty or not).
Inherited members are not considered. Imported members are not considered, unless they are also public.
See also: docstring
, has_docstring
.
imports instance-attribute
¤
The other objects imported by this object.
Keys are the names within the object (from ... import ... as AS_NAME
), while the values are the actual names of the objects (from ... import REAL_NAME as ...
).
imports_future_annotations property
¤
imports_future_annotations: bool
Whether this module import future annotations.
inherited class-attribute
instance-attribute
¤
Always false for objects.
Only aliases can be marked as inherited.
inherited_members property
¤
Members that are inherited from base classes.
This method is part of the consumer API: do not use when producing Griffe trees!
See also: members
.
is_alias class-attribute
instance-attribute
¤
Always false for objects.
is_class_private property
¤
Whether this object/alias is class-private (starts with __
and is a class member).
is_collection class-attribute
instance-attribute
¤
is_collection: bool = False
Always false for objects.
is_deprecated property
¤
Whether this object is deprecated.
is_exported property
¤
Whether this object/alias is exported (listed in __all__
).
is_generic property
¤
Whether this object is generic.
is_imported property
¤
Whether this object/alias was imported from another module.
is_init_module property
¤
Whether this module is an __init__.py
module.
See also: is_module
.
is_namespace_package property
¤
is_namespace_package: bool
Whether this module is a namespace package (top folder, no __init__.py
).
See also: is_namespace_subpackage
.
is_namespace_subpackage property
¤
is_namespace_subpackage: bool
Whether this module is a namespace subpackage.
See also: is_namespace_package
.
is_package property
¤
Whether this module is a package (top module).
See also: is_subpackage
.
is_private property
¤
Whether this object/alias is private (starts with _
) but not special.
is_public property
¤
Whether this object is considered public.
In modules, developers can mark objects as public thanks to the __all__
variable. In classes however, there is no convention or standard to do so.
Therefore, to decide whether an object is public, we follow this algorithm:
public
attribute is set (boolean), return its value.__all__
attribute, it is public.__all__
and the object is not listed in, it is private.
is_special property
¤
Whether this object/alias is special ("dunder" attribute/method, starts and end with __
).
is_subpackage property
¤
Whether this module is a subpackage.
See also: is_package
.
is_wildcard_exposed property
¤
is_wildcard_exposed: bool
Whether this object/alias is exposed to wildcard imports.
To be exposed to wildcard imports, an object/alias must:
__all__
if __all__
is definedSpecial case for Griffe trees: a submodule is only exposed if its parent imports it.
Returns:
bool
–
True or False.
kind class-attribute
instance-attribute
¤
The object kind.
labels instance-attribute
¤
The object labels (property
, dataclass
, etc.).
See also: has_labels
.
lineno instance-attribute
¤
The starting line number of the object.
See also: endlineno
.
lines_collection property
¤
The lines collection attached to this object or its parents.
Raises:
ValueError
–
When no modules collection can be found in the object or its parents.
module property
¤
The parent module of this object.
See also: package
.
Examples:
>>> import griffe
>>> markdown = griffe.load("markdown")
>>> markdown["core.Markdown.references"].module
Module(PosixPath('~/project/.venv/lib/python3.11/site-packages/markdown/core.py'))
>>> # The `module` of a module is itself.
>>> markdown["core"].module
Module(PosixPath('~/project/.venv/lib/python3.11/site-packages/markdown/core.py'))
Raises:
ValueError
–
When the object is not a module and does not have a parent.
modules property
¤
The module members.
This method is part of the consumer API: do not use when producing Griffe trees!
modules_collection property
¤
The modules collection attached to this object or its parents.
Raises:
ValueError
–
When no modules collection can be found in the object or its parents.
name instance-attribute
¤
The object name.
overloads instance-attribute
¤
The overloaded signatures declared in this module.
package property
¤
The absolute top module (the package) of this object.
See also: module
.
Examples:
>>> import griffe
>>> markdown = griffe.load("markdown")
>>> markdown["core.Markdown.references"].package
Module(PosixPath('~/project/.venv/lib/python3.11/site-packages/markdown/__init__.py'))
parent instance-attribute
¤
The parent of the object (none if top module).
path property
¤
The dotted path of this object.
On regular objects (not aliases), the path is the canonical path.
See also: canonical_path
.
Examples:
>>> import griffe
>>> markdown = griffe.load("markdown")
>>> markdown["core.Markdown.references"].path
'markdown.core.Markdown.references'
public instance-attribute
¤
public: bool | None = None
Whether this object is public.
relative_filepath property
¤
The file path where this object was defined, relative to the current working directory.
If this object's file path is not relative to the current working directory, return its absolute path.
See also: filepath
, relative_package_filepath
.
Raises:
ValueError
–
When the relative path could not be computed.
relative_package_filepath property
¤
relative_package_filepath: Path
The file path where this object was defined, relative to the top module path.
See also: filepath
, relative_filepath
.
Raises:
ValueError
–
When the relative path could not be computed.
runtime instance-attribute
¤
Whether this object is available at runtime.
Typically, type-guarded objects (under an if TYPE_CHECKING
condition) are not available at runtime.
type_aliases property
¤
The type alias members.
This method is part of the consumer API: do not use when producing Griffe trees!
type_parameters instance-attribute
¤
The object type parameters.
__bool__ ¤
An object is always true-ish.
__delitem__ ¤
Delete a member with its name or path.
This method is part of the consumer API: do not use when producing Griffe trees!
Members will be looked up in both declared members and inherited ones, triggering computation of the latter.
Parameters:
Examples:
>>> del griffe_object["foo"]
>>> del griffe_object["path.to.bar"]
>>> del griffe_object[("path", "to", "qux")]
__getitem__ ¤
Get a member with its name or path.
This method is part of the consumer API: do not use when producing Griffe trees!
Members will be looked up in both declared members and inherited ones, triggering computation of the latter.
Parameters:
Examples:
>>> foo = griffe_object["foo"]
>>> bar = griffe_object["path.to.bar"]
>>> qux = griffe_object[("path", "to", "qux")]
__len__ ¤
The number of members in this object, recursively.
__setitem__ ¤
Set a member with its name or path.
This method is part of the consumer API: do not use when producing Griffe trees!
Parameters:
key
¤ (str | Sequence[str]
) –
The name or path of the member.
value
¤ (Object | Alias
) –
The member.
Examples:
>>> griffe_object["foo"] = foo
>>> griffe_object["path.to.bar"] = bar
>>> griffe_object[("path", "to", "qux")] = qux
as_dict ¤
Return this module's data as a dictionary.
See also: as_json
.
Parameters:
Returns:
as_json ¤
Return this object's data as a JSON string.
Parameters:
full
¤ (bool
, default: False
) –
Whether to return full info, or just base info.
**kwargs
¤ (Any
, default: {}
) –
Additional serialization options passed to encoder.
Returns:
str
–
A JSON string.
del_member ¤
Delete a member with its name or path.
This method is part of the producer API: you can use it safely while building Griffe trees (for example in Griffe extensions).
Members will be looked up in declared members only, not inherited ones.
Parameters:
Examples:
>>> griffe_object.del_member("foo")
>>> griffe_object.del_member("path.to.bar")
>>> griffe_object.del_member(("path", "to", "qux"))
filter_members ¤
Filter and return members based on predicates.
See also: members
.
Parameters:
*predicates
¤ (Callable[[Object | Alias], bool]
, default: ()
) –
A list of predicates, i.e. callables accepting a member as argument and returning a boolean.
Returns:
from_json classmethod
¤
Create an instance of this class from a JSON string.
Parameters:
json_string
¤ (str
) –
JSON to decode into Object.
**kwargs
¤ (Any
, default: {}
) –
Additional options passed to decoder.
Returns:
_ObjType
–
An Object instance.
Raises:
TypeError
–
When the json_string does not represent and object of the class from which this classmethod has been called.
get_member ¤
Get a member with its name or path.
This method is part of the producer API: you can use it safely while building Griffe trees (for example in Griffe extensions).
Members will be looked up in declared members only, not inherited ones.
Parameters:
Examples:
>>> foo = griffe_object["foo"]
>>> bar = griffe_object["path.to.bar"]
>>> bar = griffe_object[("path", "to", "bar")]
has_labels ¤
Tell if this object has all the given labels.
See also: labels
.
Parameters:
Returns:
bool
–
True or False.
resolve ¤
Resolve a name within this object's and parents' scope.
Parameters:
Raises:
NameResolutionError
–
When the name could not be resolved.
Returns:
str
–
The resolved name.
set_member ¤
Set a member with its name or path.
This method is part of the producer API: you can use it safely while building Griffe trees (for example in Griffe extensions).
Parameters:
key
¤ (str | Sequence[str]
) –
The name or path of the member.
value
¤ (Object | Alias
) –
The member.
Examples:
>>> griffe_object.set_member("foo", foo)
>>> griffe_object.set_member("path.to.bar", bar)
>>> griffe_object.set_member(("path", "to", "qux"), qux)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4