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
-[Building on `aarch64` Linux](#building-on-aarch64-linux)
22
+
-[Using System Dependencies](#using-system-dependencies)
21
23
-[Lint and Autoformat](#lint-and-autoformat)
22
24
-[Testing](#testing)
23
25
-[Troubleshooting](#troubleshooting)
@@ -49,29 +51,16 @@ CSP has a few system-level dependencies which you can install from your machine
49
51
50
52
The easiest way to get started on a Linux machine is by installing the necessary dependencies in a self-contained conda environment.
51
53
52
-
Tweak this script to create a conda environment, install the build dependencies, build, and install a development version of CSP into the environment.
54
+
Tweak this script to create a conda environment, install the build dependencies, build, and install a development version of `csp` into the environment. Note that we use [micromamba](https://mamba.readthedocs.io/en/latest/index.html) in this example, but [Anaconda](https://www.anaconda.com/download), [Miniconda](https://docs.anaconda.com/free/miniconda/index.html), [Miniforge](https://github.com/conda-forge/miniforge), etc, should all work fine.
53
55
54
56
### Install conda
55
57
56
58
```bash
57
-
mkdir ~/github
58
-
cd~/github
59
+
# download and install micromamba for Linux/Mac
60
+
"${SHELL}"<(curl -L micro.mamba.pm/install.sh)
59
61
60
-
# this downloads a Linux x86_64 build, change your architecture to match your development machine
61
-
# see https://conda-forge.org/miniforge/ for alternate download links
# on aarch64 linux, comment the above command and use this instead
100
-
# VCPKG_FORCE_SYSTEM_BINARIES=1 make build
96
+
make build-conda
101
97
102
-
# finally install into the csp_venv conda environment
98
+
# finally install into the csp conda environment
103
99
make develop
104
100
```
105
101
106
-
If you didn’t do `conda init bash` you’ll need to re-add conda to your shell environment and activate the `csp` environment to use it:
102
+
### A note about dependencies
107
103
108
-
```bash
109
-
.~/github/csp_venv/etc/profile.d/conda.sh
110
-
conda activate csp
111
-
112
-
# make sure everything works
113
-
cd~/github/csp
114
-
make test
115
-
```
104
+
In Conda, we pull our dependencies from the Conda environment by setting the environment variable `CSP_USE_VCPKG=0`. This will force the build to not pull dependencies from vcpkg. This may or may not work in other environments or with packages provided by other package managers or built from source, but there is too much variability for us to support alternative patterns.
116
105
117
106
## Building with a system package manager
118
107
@@ -187,6 +176,8 @@ Build the python project in the usual manner:
187
176
```bash
188
177
make build
189
178
179
+
# on aarch64 linux, comment the above command and use this instead
180
+
# VCPKG_FORCE_SYSTEM_BINARIES=1 make build
190
181
# or
191
182
# python setup.py build build_ext --inplace
192
183
```
@@ -199,6 +190,10 @@ On `aarch64` Linux the VCPKG_FORCE_SYSTEM_BINARIES environment variable must be
199
190
VCPKG_FORCE_SYSTEM_BINARIES=1 make build
200
191
```
201
192
193
+
## Using System Dependencies
194
+
195
+
By default, we pull and build dependencies with [vcpkg](https://vcpkg.io/en/). We only support non-vendored dependencies via Conda (see [A note about dependencies](#A-note-about-dependencies) above).
CSP has both Python and C++ tests. The bulk of the functionality is tested in Python, which can be run via `pytest`. First, install the Python development dependencies with
Copy file name to clipboardExpand all lines: docs/wiki/dev-guides/Contribute.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,10 @@
1
1
Contributions are welcome on this project. We distribute under the terms of the [Apache 2.0 license](https://github.com/Point72/csp/blob/main/LICENSE).
2
2
3
+
> \[!NOTE\]
4
+
> CSP requires [Developer Certificate of Origin](https://en.wikipedia.org/wiki/Developer_Certificate_of_Origin) for all contributions.
5
+
> This is enforced by a [Probot GitHub App](https://probot.github.io/apps/dco/), which checks that commits are "signed".
6
+
> Read [instructions to configure commit signing](Local-Development-Setup#configure-commit-signing).
7
+
3
8
For **bug reports** or **small feature requests**, please open an issue on our [issues page](https://github.com/Point72/csp/issues).
4
9
5
10
For **questions** or to discuss **larger changes or features**, please use our [discussions page](https://github.com/Point72/csp/discussions).
0 commit comments