Installation ============ Broh5 can be installed using `pip `__, `conda `__, or directly from the `source `__. Users can also generate a standalone executable file for convenient usage. Using pip --------- .. code-block:: console pip install broh5 Once installed, launching Broh5 with .. code-block:: console broh5 Using conda ----------- .. code-block:: console conda install -c conda-forge broh5 Same as above, launching Broh5 with: .. code-block:: console broh5 Installing from source ---------------------- To install broh5 from source using Conda: + Set up a conda environment: First, ensure that you have Conda installed. If not, install `Miniconda `__ or `Anaconda `__. Create a new Conda environment. This ensures that any dependencies don't interfere with your current Python projects. You can name it whatever you like, but for this example, we'll call it *broh5* .. code-block:: console conda create -n broh5 python=3.10 conda activate broh5 + Clone the Repository: Use git to clone the broh5 repository .. code-block:: console git clone https://github.com/algotom/broh5.git broh5 Navigate to the cloned directory .. code-block:: console cd broh5 + Install the software: Using *setup.py* file by .. code-block:: console python setup.py install or pip .. code-block:: console pip install . Troubleshooting: * If you encounter an error related to *fastapi* and *anyio*, add the line "anyio<4.0.0" to the dependencies in *setup.py*. * If you encounter an error related to *matplotlib* and either *PyQt5* or *PySide2*, install PySide2 using the command: `pip install PySide2`. Generating a standalone executable file --------------------------------------- If you would like to creating a standalone executable for broh5: + Install PyInstaller .. code-block:: console pip install pyinstaller + Generate the executable file by running `generate_exe.py `__ at the cloned directory .. code-block:: console python generate_exe.py + Navigate to the **dist** directory and run .. code-block:: console broh5.exe the generated file can be moved to another location for more convenient usage.