File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- from compose .cli .main import main
21from contextlib import contextmanager
32from typing import List
43
54import click
65import derex # noqa # This is ugly, but makes mypy and flake8 happy and still performs type checks
76import logging
7+ import subprocess
88import sys
99
1010
1111logger = logging .getLogger (__name__ )
1212
1313
14+ def run_compose (compose_argv : List [str ]):
15+ subprocess .run (["docker" , "compose" ] + compose_argv )
16+
17+
1418def run_docker_compose (
1519 compose_argv : List [str ], dry_run : bool = False , exit_afterwards : bool = False
1620):
1721 """Run a docker-compose command with the specified arguments."""
18- system_argv = sys .argv
19- try :
20- sys .argv = ["docker-compose" ] + compose_argv
21- if not dry_run :
22- click .echo (f'Running\n { " " .join (sys .argv )} ' , err = True )
23- if exit_afterwards :
24- main ()
25- else :
26- with exit_cm ():
27- main ()
22+ if not dry_run :
23+ click .echo (f'Running\n docker compose { " " .join (compose_argv )} ' , err = True )
24+ if exit_afterwards :
25+ run_compose (compose_argv )
2826 else :
29- click .echo ("Would have run:\n " )
30- click .echo (click .style (" " .join (sys .argv ), fg = "blue" ))
31- finally :
32- sys .argv = system_argv
27+ with exit_cm ():
28+ run_compose (compose_argv )
29+ else :
30+ click .echo ("Would have run:\n " )
31+ click .echo (click .style (" " .join (sys .argv ), fg = "blue" ))
3332
3433
3534@contextmanager
Original file line number Diff line number Diff line change @@ -70,8 +70,6 @@ services:
7070 <<: *common-env
7171 SERVICE_VARIANT: lms
7272 container_name: {{ project.name }}_flower
73- networks:
74- - derex
7573 networks:
7674 derex:
7775 aliases:
Original file line number Diff line number Diff line change 11#
2- # This file is autogenerated by pip-compile with Python 3.11
2+ # This file is autogenerated by pip-compile with Python 3.12
33# by the following command:
44#
55# pip-compile
66#
7- annotated-types == 0.6 .0
7+ annotated-types == 0.7 .0
88 # via pydantic
99appdirs == 1.4.4
1010 # via derex.runner (setup.py)
11- attrs == 23.1.0
12- # via jsonschema
13- bcrypt == 4.0.1
14- # via paramiko
15- certifi == 2023.7.22
11+ certifi == 2024.8.30
1612 # via requests
17- cffi == 1.16.0
18- # via
19- # cryptography
20- # pynacl
2113charset-normalizer == 3.3.2
2214 # via requests
2315click == 8.1.7
@@ -27,96 +19,53 @@ click==8.1.7
2719 # typer
2820click-plugins == 1.1.1
2921 # via derex.runner (setup.py)
30- cryptography == 41.0.5
31- # via paramiko
32- distro == 1.8.0
33- # via docker-compose
34- docker [ssh ]== 6.1.3
35- # via docker-compose
36- docker-compose == 1.29.2
37- # via derex.runner (setup.py)
38- dockerpty == 0.4.1
39- # via docker-compose
40- docopt == 0.6.2
41- # via docker-compose
42- idna == 3.4
22+ idna == 3.8
4323 # via requests
44- importlib-metadata == 6.8 .0
24+ importlib-metadata == 8.5 .0
4525 # via derex.runner (setup.py)
46- jinja2 == 3.1.2
26+ jinja2 == 3.1.4
4727 # via derex.runner (setup.py)
48- jsonschema == 3.2.0
49- # via docker-compose
5028markdown-it-py == 3.0.0
5129 # via rich
52- markupsafe == 2.1.3
30+ markupsafe == 2.1.5
5331 # via jinja2
5432mdurl == 0.1.2
5533 # via markdown-it-py
56- packaging == 23.2
57- # via docker
58- paramiko == 3.3.1
59- # via docker
60- pluggy == 1.3.0
34+ pluggy == 1.5.0
6135 # via derex.runner (setup.py)
62- pycparser == 2.21
63- # via cffi
64- pydantic == 2.4.2
36+ pydantic == 2.9.1
6537 # via python-on-whales
66- pydantic-core == 2.10.1
38+ pydantic-core == 2.23.3
6739 # via pydantic
68- pygments == 2.16.1
40+ pygments == 2.18.0
6941 # via rich
7042pymongo == 3.13.0
7143 # via derex.runner (setup.py)
72- pymysql == 1.1.0
44+ pymysql == 1.1.1
7345 # via derex.runner (setup.py)
74- pynacl == 1.5.0
75- # via paramiko
76- pyrsistent == 0.20.0
77- # via jsonschema
78- python-dotenv == 0.21.1
79- # via docker-compose
80- python-on-whales == 0.67.0
46+ python-on-whales == 0.73.0
8147 # via derex.runner (setup.py)
8248pyyaml == 5.3
83- # via
84- # derex.runner (setup.py)
85- # docker-compose
86- requests == 2.31.0
87- # via
88- # docker
89- # docker-compose
90- # python-on-whales
91- rich == 13.6.0
9249 # via derex.runner (setup.py)
93- six == 1.16.0
50+ requests == 2.32.3
51+ # via python-on-whales
52+ rich == 13.8.1
9453 # via
95- # dockerpty
96- # jsonschema
97- # websocket-client
98- texttable == 1.7.0
99- # via docker-compose
100- tqdm == 4.66.1
54+ # derex.runner (setup.py)
55+ # typer
56+ shellingham == 1.5.4
57+ # via typer
58+ tqdm == 4.66.5
10159 # via python-on-whales
102- typer == 0.9.0
60+ typer == 0.12.5
10361 # via python-on-whales
104- typing-extensions == 4.8.0
62+ typing-extensions == 4.12.2
10563 # via
10664 # pydantic
10765 # pydantic-core
10866 # python-on-whales
10967 # typer
110- urllib3 == 2.0.7
111- # via
112- # docker
113- # requests
114- websocket-client == 0.59.0
115- # via
116- # docker
117- # docker-compose
118- zipp == 3.17.0
68+ urllib3 == 2.2.3
69+ # via requests
70+ zipp == 3.20.2
11971 # via importlib-metadata
120-
121- # The following packages are considered to be unsafe in a requirements file:
122- # setuptools
Original file line number Diff line number Diff line change 1414 "appdirs" ,
1515 "Click" ,
1616 "click_plugins" ,
17- "docker-compose" ,
1817 "importlib_metadata" ,
1918 "jinja2" ,
2019 "pluggy" ,
You can’t perform that action at this time.
0 commit comments