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
Copy file name to clipboardExpand all lines: README.md
+37-3Lines changed: 37 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -134,8 +134,42 @@ ambiguous.
134
134
135
135
## Development
136
136
137
-
This project has an extensive `Makefile` for development automation.
137
+
This project has an extensive `Makefile` for development automation. To get started quick: after cloning this project, run `make all`. This should create a virtual environment, install all the required dev-time packages, lint, build, and test the project.
138
138
139
-
After cloning this project, run `make all` to get started.
139
+
### Virtual Environment Setup
140
140
141
-
This should create a virtual environment and install all the required dev-time packages.
141
+
You only have to run these once. And `make all` covers these steps automatically, but this is here for your reference.
142
+
143
+
Use `make reinit-venv` to create a new virtual environment from scratch. This will live inside the project's root. All subsequent make commands will automatically invoke python from inside this virtual environment. You may rerun this to completely wipe the virtual environment and start from scratch.
144
+
145
+
Use `make init-piptools` to bootstrap the virtual environment.
146
+
147
+
### Dependency Management
148
+
149
+
To add more runtime dependencies on pypi packages, add them to `requirements.in`. Then use `make install-requirements` to install them.
150
+
151
+
To add more devtime dependencies (these will not be deemed dependencies in the distributable/built version of the package), add them to any `*.in` file within the `requirements-devtime.d/` directory. Then use `make install-requirements` to install them.
152
+
153
+
To upgrade the pinned dependencies, run `make upgrade-requirements`. This will re-resolve the requirements to the latest versions, pin the newly resolved versions, and install them.
154
+
155
+
### Building
156
+
157
+
`make all` is the one-stop shop for building the project. It will fix auto-fixable linting errors, raise any additional linting errors, build, run unit tests, and produce a coverage report.
158
+
159
+
To only check lints or fix lints, use `make lint` or `make fix-lint`.
160
+
161
+
To only build, use `make build`.
162
+
163
+
To only test, use `make test`.
164
+
165
+
### Publishing
166
+
167
+
Use `make publish-test` to publish to the test pypi repository.
168
+
169
+
Use `make publish` to publish to the prod repository.
170
+
171
+
### Cleaning
172
+
173
+
Use `make clean` to remove build artifacts.
174
+
175
+
Use `make reinit-venv` if you need to completely reset your virtual environment.
0 commit comments