1- import glob
21import os .path
32from importlib .util import module_from_spec , spec_from_file_location
4- from itertools import chain
53from types import ModuleType
64from typing import Any , Dict
75
108_PROJECT_ROOT = "."
119_SOURCE_ROOT = os .path .join (_PROJECT_ROOT , "src" )
1210_PACKAGE_ROOT = os .path .join (_SOURCE_ROOT , "lightning" )
11+ _PATH_REQUIREMENTS = os .path .join ("requirements" )
1312_FREEZE_REQUIREMENTS = bool (int (os .environ .get ("FREEZE_REQUIREMENTS" , 0 )))
1413
1514
@@ -22,6 +21,9 @@ def _load_py_module(name: str, location: str) -> ModuleType:
2221 return py
2322
2423
24+ _SETUP_TOOLS = _load_py_module ("setup_tools" , os .path .join (_PROJECT_ROOT , ".actions" , "setup_tools.py" ))
25+
26+
2527def _adjust_manifest (** kwargs : Any ) -> None :
2628 # todo: consider rather aggregation of particular manifest adjustments
2729 manifest_path = os .path .join (_PROJECT_ROOT , "MANIFEST.in" )
@@ -31,6 +33,7 @@ def _adjust_manifest(**kwargs: Any) -> None:
3133 if kwargs ["pkg_name" ] == "lightning" :
3234 lines += [
3335 "recursive-include src/lightning *.md" ,
36+ "include requirements/base.txt" ,
3437 # fixme: this is strange, this shall work with setup find package - include
3538 "prune src/lightning_app" ,
3639 "prune src/pytorch_lightning" ,
@@ -47,29 +50,17 @@ def _adjust_manifest(**kwargs: Any) -> None:
4750
4851
4952def _setup_args (** kwargs : Any ) -> Dict [str , Any ]:
50- _path_setup_tools = os .path .join (_PROJECT_ROOT , ".actions" , "setup_tools.py" )
51- _setup_tools = _load_py_module ("setup_tools" , _path_setup_tools )
5253 _about = _load_py_module ("about" , os .path .join (_PACKAGE_ROOT , "__about__.py" ))
5354 _version = _load_py_module ("version" , os .path .join (_PACKAGE_ROOT , "__version__.py" ))
54- _long_description = _setup_tools .load_readme_description (
55+ _long_description = _SETUP_TOOLS .load_readme_description (
5556 _PROJECT_ROOT , homepage = _about .__homepage__ , version = _version .version
5657 )
57- if kwargs ["pkg_name" ] == "lightning" :
58- _include_pkgs = ["lightning" , "lightning.*" ]
59- # todo: generate this list automatically with parsing feature pkg versions
60- _requires = ["pytorch-lightning>=1.6.5, <1.7.0" , "lightning-app>=0.5.2, <0.6.0" ]
61- else :
62- _include_pkgs = ["*" ]
63- _requires = [
64- _setup_tools .load_requirements (d , unfreeze = not _FREEZE_REQUIREMENTS )
65- for d in glob .glob (os .path .join ("requirements" , "*" ))
66- if os .path .isdir (d )
67- ]
68- _requires = list (chain (* _requires ))
58+ _include_pkgs = ["lightning" , "lightning.*" ] if kwargs ["pkg_name" ] == "lightning" else ["*" ]
59+
6960 # TODO: consider invaliding some additional arguments from packages, for example if include data or safe to zip
7061
7162 # TODO: remove this once lightning-ui package is ready as a dependency
72- _setup_tools ._download_frontend (_PROJECT_ROOT )
63+ _SETUP_TOOLS ._download_frontend (_PROJECT_ROOT )
7364
7465 return dict (
7566 name = "lightning" ,
@@ -94,7 +85,7 @@ def _setup_args(**kwargs: Any) -> Dict[str, Any]:
9485 ],
9586 },
9687 setup_requires = [],
97- install_requires = _requires ,
88+ install_requires = _SETUP_TOOLS . load_requirements ( _PATH_REQUIREMENTS , unfreeze = True ) ,
9889 extras_require = {}, # todo: consider porting all other packages extras with prefix
9990 project_urls = {
10091 "Bug Tracker" : "https://github.com/Lightning-AI/lightning/issues" ,
0 commit comments