Package: ianthe
IantheIanthe is a Python executables build tool that generates PyInstaller commands and executes them, aiming to achieve more compact executables with a simpler syntax.Installationpip install iantheTerminal usagepython -m ianthe project_file.iprojCommand line arguments--export: Prints out the generated PyInstaller arguments and quits.--generate-build-script: Generates a Python script that executes the given project file.Python usagefromiantheimportIantheIanthe("project_file.iproj").execute()Setting up a project fileThe structureA Ianthe project file gets interpreted as a Pythondict(outermost curly braces get added by Ianthe itself). It's composed of options, all of which (asidesource) are optional. The order of options doesn't matter. Example:source:       "test.py",
destination:  "my_folder",
display_mode: console,
icon:         "icon.ico"The optionssourceor"source"Specifies which file should be built. Requires astror a path-like argument.destinationor"destination"Specifies where the result should be saved. Requires astror a path-like argument.onefileor"onefile"Equivalent to PyInstaller's--onefileargument. Specifies whether a single executable should be built instead of a folder. Requires aboolargument (True,False,yesorno)scanor"scan"Enables (Trueoryes) or disables (Falseorno) used modules scanning and keeps Python's standard library. Default isTrue.keepor"keep"Tells Ianthe to keep some specific modules. Useful when the result of an application built using Ianthe is broken due to some missing modules that Ianthe can't find. Requires alistargument containing module names.copyor"copy"If data needs to be copied to the result folder, you can specify which files and folders need to be copied. Requires adictargument containing the file or folder path as key andfile,"file",folderor"folder"as value to specify the type of data. Example:copy: {
	"my_folder": folder,
	"my_file.txt": file
}embedor"embed"Equivalent to PyInstaller's--add-dataand--add-binaryarguments. Requires adictargument containing the file path as key andfile,"file",binaryor"binary"as value to specify the type of data.hidden_importsor"hidden-imports"Equivalent to PyInstaller's--hidden-importargument. Requires alistargument containing module names.collector"collect"Requires adictargument specifying the type ofcollectcommand, and a list of modules that needs that type of data as value:dataor"data"Equivalent to PyInstaller's--collect-dataargument.submodulesor"submodules"Equivalent to PyInstaller's--collect-submodulesargument.binariesor"binaries"Equivalent to PyInstaller's--collect-binariesargument.allor"all"Equivalent to PyInstaller's--collect-allargument.copy_metadataor"copy-metadata"Requires adictargument that contains amodulesor"modules"argument as key and alistcontaining module names as value. Equivalent to PyInstaller's--copy-metadataunless arecursiveor"recursive"option is used and set to aTrue(oryes) value. In that case, it's equivalent to--recursive-copy-metadata. Example:copy_metadata: {
	recursive: yes,
	modules: [
		"my_module0",
		"my_module1"
	]
}display_modeor"display-mode"Requires eitherconsole,"console",windowedor"windowed".iconor"icon"Sets the program's icon. Requires astror a path-like argument.windows,winor"win"Requires adictcontaining Windows specific options.version_fileor"version-file"Equivalent to PyInstaller's--version-fileargument.manifestor"manifest"Equivalent to PyInstaller's--manifestargument.embed_manifestor"embed-manifest"If set to aFalse(orno) value, it's equivalent to PyInstaller's--no-embed-manifestargument.requires_adminor"requires-admin"If set to aTrue(oryes) value, it's equivalent to PyInstaller's--uac-adminand--uac-uiaccessarguments.osx,macOSor"osx"Requires adictcontaining macOS specific options.emul_argvor"emul-argv"If set to aTrue(oryes) value, it's equivalent to PyInstaller's--argv-emulationargument.target_archor"target-arch"Equivalent to PyInstaller's--target-architectureargument. It only accepts as values: "x86_64", "arm64" and "universal2".bundle_idor"bundle-id"Equivalent to PyInstaller's--osx-bundle-identifierargument.entitlementsor"entitlements"Equivalent to PyInstaller's--osx-entitlements-fileargument.codesign_idor"codesign-id"Equivalent to PyInstaller's--codesign-identityargument.pyinstaller_argsor"pyinstaller-args"Adds additional PyInstaller arguments. Requires alistargument containing PyInstaller arguments.