mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2026-10-20 20:26:20 +02:00
108 lines
2.8 KiB
Markdown
108 lines
2.8 KiB
Markdown
# aare
|
|
Data analysis library for PSI hybrid detectors
|
|
|
|
## Documentation
|
|
|
|
Detailed documentation including installation can be found in [Documentation](https://slsdetectorgroup.github.io/aare/)
|
|
|
|
## License
|
|
|
|
This project is licensed under the MPL-2.0 license.
|
|
See the LICENSE file or https://www.mozilla.org/en-US/MPL/ for details.
|
|
|
|
Two files contain code from other projects and keep their original licenses:
|
|
|
|
- `include/aare/ProducerConsumerQueue.hpp` is Apache-2.0, from
|
|
[folly](https://github.com/facebook/folly) by Meta Platforms.
|
|
- `src/NumpyHelpers.cpp` is MIT, from
|
|
[libnpy](https://github.com/llohse/libnpy) by Leon Merten Lohse.
|
|
|
|
The full license texts are in the `LICENSES` directory.
|
|
|
|
The Python wheels and conda packages also contain Minuit2
|
|
(LGPL-2.1-or-later), {fmt} and nlohmann/json (MIT), and pybind11
|
|
(BSD-3-Clause), which CMake downloads at build time. See
|
|
`THIRD-PARTY-NOTICES.txt` for their notices.
|
|
|
|
## Build and install
|
|
|
|
Prerequisites
|
|
- cmake >= 3.14
|
|
- C++17 compiler (gcc >= 8)
|
|
- python >= 3.10
|
|
|
|
### Development install (for Python)
|
|
|
|
```bash
|
|
git clone git@github.com:slsdetectorgroup/aare.git --branch=v1 #or using http...
|
|
mkdir build
|
|
cd build
|
|
|
|
#configure using cmake
|
|
cmake ../aare -DAARE_PYTHON_BINDINGS=ON
|
|
|
|
#build (replace 4 with the number of threads you want to use)
|
|
make -j4
|
|
```
|
|
|
|
Now you can use the Python module from your build directory
|
|
|
|
```python
|
|
import aare
|
|
f = aare.File('Some/File/I/Want_to_open_master_0.json')
|
|
```
|
|
|
|
To run from other folders either add the path to your conda environment using conda-build or add the module to your PYTHONPATH
|
|
|
|
```bash
|
|
export PYTHONPATH=path_to_aare/aare/build:$PYTHONPATH
|
|
```
|
|
|
|
### Install using conda/mamba
|
|
|
|
```bash
|
|
#enable your env first!
|
|
conda install aare -c slsdetectorgroup # installs latest version
|
|
```
|
|
|
|
### Install to a custom location and use in your project
|
|
|
|
Working example in: https://github.com/slsdetectorgroup/aare-examples
|
|
|
|
```bash
|
|
#build and install aare
|
|
git clone git@github.com:slsdetectorgroup/aare.git --branch=v1 #or using http...
|
|
mkdir build
|
|
cd build
|
|
|
|
#configure using cmake
|
|
cmake ../aare -DCMAKE_INSTALL_PREFIX=/where/to/put/aare
|
|
|
|
#build (replace 4 with the number of threads you want to use)
|
|
make -j4
|
|
|
|
#install
|
|
make install
|
|
|
|
|
|
#Now configure your project
|
|
cmake .. -DCMAKE_PREFIX_PATH=SOME_PATH
|
|
```
|
|
|
|
### Local build of conda pkgs
|
|
|
|
```bash
|
|
conda build . --variants="{python: [3.11, 3.12, 3.13]}"
|
|
```
|
|
|
|
## Developer's guide
|
|
|
|
We are looking forward to your contributions via pull requests!
|
|
|
|
If you want to fix an existing bug or propose a new feature:
|
|
|
|
1. Install `pre-commit` python package and setup it `pre-commit install`
|
|
2. Create a new branch with `git branch branch_name`
|
|
3. Implement your changes and make a commit (`pre-commit` will check your code automatically)
|
|
4. Push your commit and open a pull request if needed
|