Metadata-Version: 2.1
Name: appletree
Version: 0.3.1
Summary: A high-Performance Program simuLatEs and fiTs REsponse of xEnon.
Home-page: https://github.com/XENONnT/appletree
Author: Appletree contributors, the XENON collaboration
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Provides-Extra: cpu
Provides-Extra: cuda112
Provides-Extra: cuda121
License-File: LICENSE

# Appletree

A high-Performance Program simuLatEs and fiTs REsponse of xEnon.

[![DOI](https://zenodo.org/badge/534803881.svg)](https://zenodo.org/badge/latestdoi/534803881)
[![Test package](https://github.com/XENONnT/appletree/actions/workflows/pytest.yml/badge.svg?branch=master)](https://github.com/XENONnT/appletree/actions/workflows/pytest.yml)
[![Coverage Status](https://coveralls.io/repos/github/XENONnT/appletree/badge.svg?branch=master&kill_cache=1)](https://coveralls.io/github/XENONnT/appletree?branch=master&kill_cache=1)
[![PyPI version shields.io](https://img.shields.io/pypi/v/appletree.svg)](https://pypi.python.org/pypi/appletree/)
[![Readthedocs Badge](https://readthedocs.org/projects/appletree/badge/?version=latest)](https://appletree.readthedocs.io/en/latest/?badge=latest)
[![CodeFactor](https://www.codefactor.io/repository/github/xenonnt/appletree/badge)](https://www.codefactor.io/repository/github/xenonnt/appletree)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/XENONnT/appletree/master.svg)](https://results.pre-commit.ci/latest/github/XENONnT/appletree/master)

## Installation and Set-Up

### Regular installation:

With cpu support:

```
pip install appletree[cpu]
```

With CUDA Toolkit 11.2 support:

```
pip install appletree[cuda112] -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
```

With CUDA Toolkit 12.1 support:

```
pip install appletree[cuda121] -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
```

### Developer setup:

Clone the repository:

```
git clone https://github.com/XENONnT/appletree
cd appletree
```

To install the package and requirements in your environment, replace `pip install appletree[*]` to `python3 -m pip install .[*] --user` in the above `pip` commands.

To install appletree in editable mode, insert `--editable` argument after `install` in the above `pip install` or `python3 -m pip install` commands.

For example, to install in your environment and in editable mode with CUDA Toolkit 12.1 support:

```
python3 -m pip install --editable .[cuda121] --user -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
```

Then you are now good to go!

## Usage

The best way to start with the `appletree` package is to have a look at the tutorial `notebooks`.

## Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.


v0.3.1 / 2024-01-12
-------------------
* Smarter SigmaMap handling and needed_parameters by @xzh19980906 in https://github.com/XENONnT/appletree/pull/116
* Move messages of used parameter in `SigmaMap.build` by @dachengx in https://github.com/XENONnT/appletree/pull/117
* Set required_parameter as method of Config by @dachengx in https://github.com/XENONnT/appletree/pull/119
* Optional applying efficiency in `multiple_simulations` by @dachengx in https://github.com/XENONnT/appletree/pull/123
* Fix S1/S2 correction and gas gain when simulating S1/S2PE by @mhliu0001 in https://github.com/XENONnT/appletree/pull/122
* Prevent already cached functions from being changed by @dachengx in https://github.com/XENONnT/appletree/pull/125
* Update docstring to google style by @dachengx in https://github.com/XENONnT/appletree/pull/126
* Update conf, add napoleon by @dachengx in https://github.com/XENONnT/appletree/pull/127
* Small bug fix when no llh_name is used by @dachengx in https://github.com/XENONnT/appletree/pull/129

New Contributors
* @mhliu0001 made their first contribution in https://github.com/XENONnT/appletree/pull/122

**Full Changelog**: https://github.com/XENONnT/appletree/compare/v0.3.0...v0.3.1


v0.3.0 / 2023-08-31
-------------------
* Fix function name to `simulate_weighted_data`, nothing else changed by @dachengx in https://github.com/XENONnT/appletree/pull/99
* Stop jax from preallocating memory by @dachengx in https://github.com/XENONnT/appletree/pull/100
* fix meshgrid binning by @hoetzsch in https://github.com/XENONnT/appletree/pull/101
* Binning is not required by Component by @dachengx in https://github.com/XENONnT/appletree/pull/103
* Upper clipping on binomial randgen in normal approx by @xzh19980906 in https://github.com/XENONnT/appletree/pull/107
* Rename fake maps by @xzh19980906 in https://github.com/XENONnT/appletree/pull/106
* Update fake maps filenames by @dachengx in https://github.com/XENONnT/appletree/pull/108
* Skip mongo DB when finding files by @xzh19980906 in https://github.com/XENONnT/appletree/pull/111
* Raise error if file does not exist by @xzh19980906 in https://github.com/XENONnT/appletree/pull/110
* Rename lce to correction by @dachengx in https://github.com/XENONnT/appletree/pull/109
* Add function to check the usage of configs, check_unused_configs by @dachengx in https://github.com/XENONnT/appletree/pull/112
* Proposal to use pre-commit for continuous integration by @dachengx in https://github.com/XENONnT/appletree/pull/113

New Contributors
* @hoetzsch made their first contribution in https://github.com/XENONnT/appletree/pull/101

**Full Changelog**: https://github.com/XENONnT/appletree/compare/v0.2.3...v0.3.0


v0.2.3 / 2023-05-29
-------------------
* Add pip install user by @dachengx in https://github.com/XENONnT/appletree/pull/96
* Installation with various `extras_require`s for different CUDA support by @dachengx in https://github.com/XENONnT/appletree/pull/97

**Full Changelog**: https://github.com/XENONnT/appletree/compare/v0.2.2...v0.2.3


v0.2.2 / 2023-05-25
-------------------
* Stop using MANIFEST.in, move to a modern way of file system configuration by @dachengx in https://github.com/XENONnT/appletree/pull/94

**Full Changelog**: https://github.com/XENONnT/appletree/compare/v0.2.1...v0.2.2


v0.2.1 / 2023-05-22
-------------------
* Change variables `s1` `s2` to `s1_area` `s2_area` by @dachengx in https://github.com/XENONnT/appletree/pull/86
* Remove duplicated import pd by @xzh19980906 in https://github.com/XENONnT/appletree/pull/87
* Generate number of events in the defined ROI by @dachengx in https://github.com/XENONnT/appletree/pull/88
* Update DOI link by @dachengx in https://github.com/XENONnT/appletree/pull/89
* Loosen requirement after beta phase and specify jax find-links by @dachengx in https://github.com/XENONnT/appletree/pull/90
* Update notebooks by @dachengx in https://github.com/XENONnT/appletree/pull/91
* Add more tests by @dachengx in https://github.com/XENONnT/appletree/pull/92

**Full Changelog**: https://github.com/XENONnT/appletree/compare/v0.2.0...v0.2.1


v0.2.0 / 2023-03-15
-------------------
* Add NESTv2 yields parameterization and literature constrain by @dachengx in https://github.com/XENONnT/appletree/pull/82
* Add uncertainty on electron lifetime by @dachengx in https://github.com/XENONnT/appletree/pull/83
* Add NESTv2 NR parameters of quanta distribution's width by @dachengx in https://github.com/XENONnT/appletree/pull/85

**Full Changelog**: https://github.com/XENONnT/appletree/compare/v0.1.0...v0.2.0


v0.1.0 / 2023-02-12
-------------------
* Add corner as dependency by @dachengx in https://github.com/XENONnT/appletree/pull/55
* Add .h5 backend to store MCMC results by @dachengx in https://github.com/XENONnT/appletree/pull/57
* Add document by @xzh19980906 in https://github.com/XENONnT/appletree/pull/61
* More docs by @xzh19980906 in https://github.com/XENONnT/appletree/pull/62
* Deduce and compile codes to generate Ly & Qy curve by @dachengx in https://github.com/XENONnT/appletree/pull/60
* Convert PDF spectrum to CDF by default by @xzh19980906 in https://github.com/XENONnT/appletree/pull/72
* Add R dimension for template generation by @xzh19980906 in https://github.com/XENONnT/appletree/pull/74
* Use specific config for certain llh by @dachengx in https://github.com/XENONnT/appletree/pull/78
* Config can read map and assign itself a mapping function by @dachengx in https://github.com/XENONnT/appletree/pull/79
* Stricter needed parameters check and save meta data to samples by @dachengx in https://github.com/XENONnT/appletree/pull/80
* Irregular binning option in likelihood by @xzh19980906 in https://github.com/XENONnT/appletree/pull/81

**Full Changelog**: https://github.com/XENONnT/appletree/compare/v0.0.0...v0.1.0


v0.0.0 / 2022-10-13
-------------------
* Add more notebooks by @dachengx in https://github.com/XENONnT/appletree/pull/52
* Introduce numpyro as dependency by @dachengx in https://github.com/XENONnT/appletree/pull/53
* Try upload to pypi by @dachengx in https://github.com/XENONnT/appletree/pull/54

**Full Changelog**: https://github.com/XENONnT/appletree/commits/v0.0.0


