Module Tools
Project description
Module Tools
Tools for python modules
Examples
"""
package
__init__.py
sub_package
__init__.py
modulec.py -> var5, var6 = 3, "c"
modulea.py -> var1, var2, add = 1, "a", lambda a, b: a + b
moduleb.py -> var3, var4 = 2, "b"
"""
from package.modulea import add
from module_tools import find_module_strings, find_modules, import_string, iter_objs_from_modules
add1 = import_string("package.modulea.add")
print(add1 is add) # True
print(set(find_module_strings("package")) == {"package.modulea", "package.moduleb"}) # True
print(
set(find_module_strings("package", recursive=True))
== {"package.modulea", "package.moduleb", "package.sub_pakage.modulec"}
) # True
from package import modulea, moduleb
from package.sub_package import modulec
print(set(find_modules("package")) == {modulea, moduleb}) # True
print(set(find_modules("package", recursive=True)) == {modulea, moduleb, modulec}) # True
print(set(iter_objs_from_modules(["package"], cls=int)) == {1, 2}) # True
print(set(iter_objs_from_modules(["package"], cls=int, recursive=True)) == {1, 2, 3}) # True
print(
set(iter_objs_from_modules(["package"], cls=int, recursive=True, func=lambda x: x < 3))
== {1, 2}
) # True
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
module-tools-0.0.1.tar.gz
(2.9 kB
view hashes)
Built Distribution
Close
Hashes for module_tools-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffcda80d21fb656ae38443291a54fb1bcf0950cd7e9a7dec816cc4613c36c3c4 |
|
MD5 | 34def13fa059b85b12389a4ddde73575 |
|
BLAKE2b-256 | d86889ddbda81911a3a5540de9475ac3a33d11e2bd79352a2b16475b5c3d42af |