Metadata-Version: 2.4
Name: gateau
Version: 0.2.4
Summary: GPU-Accelerated Time-dEpendent observAtion simUlator
Author: Arend Moerman
Author-Email: maybetree <maybetree48@proton.me>
License-Expression: AGPL-3.0-only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: C
Classifier: Programming Language :: C++
Classifier: Environment :: GPU :: NVIDIA CUDA :: 11
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: scipy
Requires-Dist: tqdm
Requires-Dist: astropy
Requires-Dist: psutil
Requires-Dist: h5py
Provides-Extra: dev
Requires-Dist: pip-tools; extra == "dev"
Requires-Dist: wheel-filename; extra == "dev"
Provides-Extra: doxy
Requires-Dist: jupyter; extra == "doxy"
Description-Content-Type: text/markdown

![Gateau logo](logo/gateau_banner.png)

[![DOI](https://zenodo.org/badge/988910511.svg)](https://doi.org/10.5281/zenodo.17183878)

Welcome to the `gateau` Github repository:
the GPU-Accelerated Time-dEpendent observAtion simUlator! 
This is the end-to-end simulator for TIFUUN observations,
and is currently still in progress.
For more info, please see
[the documentation pages](https://tifuun.github.io/gateau/)

## Installation

### Installing CUDA
CUDA is an API, developed by NVIDIA, to harness the computing power of a
graphics processing unit (GPU) for general purpose computing. It provides
access to the GPU's instruction set through common high-level programming
languages, such as C and C++.

`gateau` uses CUDA for calculations, and hence must be installed in order to
use `gateau`.
It can be
[installed from source](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/)
or using a
[package manager](https://linuxconfig.org/how-to-install-cuda-on-ubuntu-20-04-focal-fossa-linux).
`gateau` has been tested on both CUDA version 11 and 12, so please stick to
these versions. Error-free performance on other versions is NOT guaranteed.

Even though `gateau` was exclusively developed on a [GTX 1650
Mobile](https://www.techpowerup.com/gpu-specs/geforce-gtx-1650-mobile.c3367),
which is nowhere near impressive by today's standards, it is probably a good
idea to use `gateau` on GPU's that meet or exceed the specs of this particular
card.

### Installing dependencies

Since version 0.2.3, Gateau is distributed as an
[sdist](https://pydevtools.com/handbook/reference/sdist/).
This means there are a few dependencies, besides CUDA,
that you need to set up
before installing Gateau:

- [HDF5](https://github.com/HDFGroup/hdf5)
    (with development headers)
- [GNU Scientific Library](https://www.gnu.org/software/gsl/)
    (with development headers)
- [GNU Compiler Collection](https://gcc.gnu.org/)
- [GNU G++ Compiler](https://gcc.gnu.org/projects/cxx-status.html)

These depenencies need to be installed in a way that is discoverable
by Meson (e.g. via [pkg-config](https://en.wikipedia.org/wiki/Pkg-config)).

On Debian and Ubuntu, all of these dependencies can be installed
using the package manager:

```sh
sudo apt-get -y install gcc g++ pkg-config libgsl-dev libhdf5-dev
```

### Installing gateau

Gateau is available from [pypi](https://pypi.org/project/gateau/).
You can install it like any other python package:

```sh
pip install gateau
```

The installation can be verified by
launching the `gateau` module from your shell:

```sh
python -m gateau
```

or by running the `selftest()` method from within python:

```python
import gateau
gateau.selftest()
```

When installed correctly, the test should run without issues.

In both cases, please make sure
you are running in the same Python environment as you used
to install the gateau package.


### Supported Platforms

We currently only support Linux with GNU libc
(known as `manylinux` in the Python world).
We have tried and failed to port gateau to Windows.
If you want to get gateau working on other platforms,
have a read of [MAINTAINERS.md](./MAINTAINERS.md)
(and please let us know if you're interested in helping
us get gateau running on other platforms!).

## For maintainers and developers

For information on things like running tests
and making new releases of Gateau,
please consult [MAINTAINERS.md](./MAINTAINERS.md).
For contribution guidelines, see [CONTRIBUTING.md](./CONTRIBUTING.md)

## License

Gateau is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
Software Foundation, version 3 of the License only.

Gateau is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along
with Gateau. If not, see https://www.gnu.org/licenses/.

Note: Previous versions of gateau were released under different licenses. If the
current license does not meet your needs, you may consider using an earlier
version under the terms of its original license. You can find these versions by
browsing the commit history.

---

Copyright (c) 2025, maybetree, Arend Moerman.

