You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace setuptools with uv to streamline dependency management.
This also allows for environment-specific requirements, which Aider
needs for several use cases.
for installation instructions, or use your favorite package manager to
48
+
install uv.
49
+
42
50
### Clone the Repository
43
51
44
52
```
@@ -48,14 +56,20 @@ cd aider
48
56
49
57
### Create a Virtual Environment
50
58
51
-
It is recommended to create a virtual environment outside of the repository to keep your development environment isolated.
59
+
It is recommended to create a virtual environment outside of the repository to keep your development environment isolated. To create one, use `venv` or `uv`.
This step allows you to make changes to the source code and have them take effect immediately without reinstalling the package.
76
90
77
91
```
78
-
pip install -e .
92
+
uv sync
79
93
```
80
94
81
-
### Install the Project Dependencies
95
+
(This includes base, development, and test dependencies.)
82
96
83
-
```
84
-
pip install -r requirements.txt
85
-
```
97
+
### Install Optional Dependencies
86
98
87
-
For development, at least install the development dependencies:
99
+
Consider installing other optional dependencies from the `requirements/` directory, if your development work needs them:
88
100
89
101
```
90
-
pip install -r requirements/requirements-dev.txt
102
+
uv sync --all-extras
103
+
uv sync --extra help
104
+
uv sync --extra browser
105
+
uv sync --extra playwright
91
106
```
92
107
93
-
Consider installing other optional dependencies from the `requirements/` directory, if your development work needs them.
94
-
95
-
Note that these dependency files are generated by `./scripts/pip-compile.sh` and then committed. See [Managing Dependencies](#managing-dependencies).
96
-
97
108
### Install Pre-commit Hooks (Optional)
98
109
99
110
The project uses pre-commit hooks for code formatting and linting. If you want to install and use these hooks, run:
@@ -111,11 +122,9 @@ Now you should have a fully functional development environment for the Aider pro
111
122
Here's an example of following the setup instructions above, for your copy/paste pleasure if your system works the same. Start in the project directory.
@@ -205,26 +214,7 @@ If you need to mock or create test data, consider adding it to the test files or
205
214
206
215
#### Test Requirements
207
216
208
-
The project uses `pytest` as the testing framework, which is installed as a development dependency. To install the development dependencies, run the following command:
209
-
210
-
```
211
-
pip install -r requirements-dev.txt
212
-
```
213
-
214
-
### Managing Dependencies
215
-
216
-
When introducing new dependencies, make sure to add them to the appropriate `requirements.in` file (e.g., `requirements.in` for main dependencies, `requirements-dev.in` for development dependencies). Then, run the following commands to update the corresponding `requirements.txt` file:
217
-
218
-
```
219
-
pip install pip-tools
220
-
./scripts/pip-compile.sh
221
-
```
222
-
223
-
You can also pass one argument to `pip-compile.sh`, which will flow through to `pip-compile`. For example:
224
-
225
-
```
226
-
./scripts/pip-compile.sh --upgrade
227
-
```
217
+
The project uses `pytest` as the testing framework, which is installed as a development dependency by the `uv sync` command.
0 commit comments