Installation ************ GEONE relies on pre-compiled C libraries (DEESSE and GEOSCLASSIC core). .. note:: GEONE is available on: - `PyPI `_ (The Python Package Index) - `Github repository `_ GEONE relies on pre-compiled C libraries (DEESSE and GEOSCLASSIC core), available for: - linux (x86_64 with GLIBC 2.35 or GLIBC 2.27) and python 3.9 to 3.13 - mac (x86_64 or arm64) and python 3.9 to 3.13 - windows and python 3.9 to 3.13 Installation from `PyPI `_ ----------------------------------------------------------- In a terminal type:: pip install geone Or, equivalently: `python -m pip install geone`. Installation from the `Github repository `_ ----------------------------------------------------------------------------- In a terminal, change directory where to download GEONE, and type:: git clone https://github.com/randlab/geone.git cd geone pip install . .. tip:: Use `pip install . --verbose` or `pip install . -v` for printing (more) messages during the installation. Alternatively: - Instead of `git clone ...`, you can download GEONE from the `Github repository `_: click on the green button "code" and choose "Download ZIP". - Then, unzip the archive on your computer. - Finally, in a terminal, go into the unzipped directory, and type `pip install .` .. warning:: If the installation has been done from github, do not launch python from the directory containing the downloaded sources and where the installation has been done (with `pip`), otherwise `import geone` will fail. Requirements ------------ The following python packages are used by GEONE: - `matplotlib` - `multiprocessing` (for parallel processes) - `numpy` - `pandas` - `pyvista` - `scipy` .. note:: `numpy` version >= 2 is used. .. note:: The package `ipykernel` is required to run the notebooks. GEONE has been tested with the following settings: - platform_system : Linux - python version : sys.version_info(major=3, minor=13, micro=7, releaselevel='final', serial=0) - glibc_str : glibc 2.35 - glibc_version : (2, 35) - machine : x86_64 - matplotlib.__version__ = 3.10.7 - numpy.__version__ = 2.3.3 - pandas.__version__ = 2.3.3 - pyvista.__version__ = 0.46.3 - scipy.__version__ = 1.16.2 Note about `multiprocessing` ---------------------------- Some functions uses `multiprocessing` with each process running on multi-threads (OpenMP in pre-compiled C libraries). If such a function blocks, this might be due to the "start method" of `multiprocessing`, which is set to 'fork' by default on Linux. Setting "start method" to 'spawn' might solve this issue, at the cost of performance. Or, to keep better performance, "start method" can be let (set) to 'fork', and in function allowing to specify the number of process(es) `nproc` and the number of thread(s) per process `nthreads_per_proc`, use set-up such that `nproc=1` or `nthreads_per_proc=1`. .. note:: if needed, "start method" of `multiprocessing` must be set at START OF THE PYTHON SESSION, i.e. before running any multiprocessing task, with `import multiprocessing; multiprocessing.set_start_method(start_method)` where `start_method` is a string (e.g. 'spawn', 'fork'); or this can be forced by using the keyword argument `force=True`. Note that `multiprocessing.get_start_method()` returns the "start method". Removing GEONE -------------- In a terminal type:: pip uninstall -y geone .. note:: First remove the directory 'geone.egg-info' from the current directory (if present).