Skip to content

Commit 935119e

Browse files
committed
add extras parsing
1 parent f167e37 commit 935119e

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

pydeps2env/environment.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ def combine_requirements(
4242
class Environment:
4343
filename: str | Path
4444
channels: list[str] = field(default_factory=lambda: ["conda-forge"])
45+
extras: list[str] = field(default_factory=list)
4546
pip_packages: set[str] = field(default_factory=set) # install via pip
4647
requirements: dict[str, Requirement] = field(default_factory=dict, init=False)
4748
build_system: dict[str, Requirement] = field(default_factory=dict, init=False)
@@ -63,6 +64,13 @@ def load_pyproject(self):
6364
for dep in cp.get("build-system").get("requires"):
6465
add_requirement(dep, self.build_system)
6566

67+
for e in self.extras:
68+
extra_deps = cp.get("project").get("optional-dependencies").get(e)
69+
if not extra_deps:
70+
continue
71+
for dep in extra_deps:
72+
add_requirement(dep, self.requirements)
73+
6674
def _get_dependencies(self, include_build_system: bool = True):
6775
"""Get the default conda environment entries."""
6876

0 commit comments

Comments
 (0)