Forks: https://github.com/orsinium/forks
Find project modules and data files (packages
and package_data
for setup.py
).
install from PyPI:
python3 -m pip install --user dephell_discover
Get root, packages, package_data, package dir:
from pathlib import Path
from dephell_discover import Root
root = Root(path=Path('../dephell'))
root.packages
# [Package(path=Path('../dephell/dephell'), root=Path('../dephell')), ...]
root.data
# {Data(path=Path('../dephell/dephell/templates'), ext='.j2', package=Package(...)), ...}
root.package_dir
# {'': '.'}
Package properties:
p = root.packages[-1]
p.path # Path('../dephell/dephell/commands')
p.root # Path('../dephell')
p.module # 'dephell.commands'
str(p) # 'dephell.commands'
list(p) # [Path('../dephell/dephell/commands/base.py'), ...]
Data properties:
d = next(iter(root.data))
d.path # Path('../dephell/dephell/templates')
d.ext # .j2
d.package # Package(path=Path('../dephell/dephell'), root=...)
d.module # 'dephell'
# relative path from package root:
d.relative # 'templates/*.j2'
str(d) # 'templates/*.j2'
list(d) # [Path('../dephell/dephell/templates/python.html.j2'), ...]
Meta information:
root.metainfo.summary
# 'Python project management.'
root.metainfo.authors
# ['Gram (@orsinium)']
root.metainfo.license
# 'MIT'
root.metainfo.version
# '0.7.0'