Metadata-Version: 2.4
Name: album-package
Version: 0.5.1
Summary: Album is a framework for unifying computational tools across frameworks, languages, and environments.
Author-email: Deborah Schmidt <mail@frauzufall.de>, Jan Philipp Albrecht <album@jpalbrecht.de>, Lucas Rieckert <lucas.rieckert@outlook.de>
Maintainer-email: Deborah Schmidt <mail@frauzufall.de>, Jan Philipp Albrecht <album@jpalbrecht.de>, Lucas Rieckert <lucas.rieckert@outlook.de>, Maximilian Otto <maxotto45@gmail.com>
License-Expression: MIT
Project-URL: Documentation, https://docs.album.solutions/en/latest/
Project-URL: Homepage, https://album.solutions/
Project-URL: DeveloperDocumentation, https://gitlab.com/album-app/album/-/wikis/home
Project-URL: Repository, https://gitlab.com/album-app/plugins/album-package
Project-URL: Tracker, https://gitlab.com/album-app/plugins/album-package/issues
Keywords: virtual environments,imaging,data analysis
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: album<0.13.0,>=0.12.0
Requires-Dist: album-gui<0.6,>=0.5.0
Requires-Dist: pyinstaller>=4.8
Dynamic: license-file

# Album plugin for packaging solutions into executables

This plugin is used to create installation executables for Album and Album solutions, so Album and a solution can be
installed with a simple double click. The executable creates a shortcut for running Albums UI on the desktop of the
user. The executables can be distributed to a different system running the same operating system. To create executables
for different operating systems, run this plugin on a system running the target operating system. If the the target
system runs Windows or MacOS it doesn't need to have anything preinstalled, the executable will install every needed
component (Micromamba and album) into the ~/.album directory if they are not already installed in this location. Linux users
need to have the binutils package installed.

## Installation:

1. [Install Album](https://docs.album.solutions/en/latest/installation-instructions.html#)
2. Activate the album environment:

```
micromamba activate album
```

3. Install the album package plugin:

```
micromamba install album-package -c conda-forge
```

Or via pip:

```
pip install album-package
```

4. If you are using a linux system, make sure the source and the target system got the binutils package installed. For
   example on ubuntu it can be installed with the following command:

```
apt-get update && apt-get install binutils
```

## Usage:

To create an executable which installs Album run following command:

```
album package --output_path /your/output/path
```

To create an executable which installs Album and a solution in one go run following command:

```
album package --solution /path/to/your/solution.py --output_path /your/output/path
```


### Input parameter:

- solution: The album solution.py file which should be packed into an executable.
  If you provide the path to a directory containing a solution.py all files in the directory will be packaged into the
  solution executable. If you provide the direct path to a solution.py only the solution will packaged. If your solution
  contains local imports, make sure all imported files lie in the same directory as the solution and you provide the
  path containing the solution.py. If this parameter is not set, the resulting executable will only install Album without
  a solution. 
- output_path: The path where the executable should be saved
