# -*- coding: utf-8 -*-
from setuptools import setup

packages = \
['pipen_runinfo']

package_data = \
{'': ['*']}

install_requires = \
['pipen==0.17.*']

entry_points = \
{'pipen': ['runinfo = pipen_runinfo:PipenRuninfoPlugin']}

setup_kwargs = {
    'name': 'pipen-runinfo',
    'version': '0.9.2',
    'description': 'Generate running information for jobs in pipen pipelines',
    'long_description': '# pipen-runinfo\n\nGenerate running information for jobs in [pipen][1] pipelines.\n\nIncluding session info (packages and versions), time, and device info.\n\n## Install\n\n```bash\npip install -U pipen-runinfo\n```\n\n## Enable/Disable the plugin\n\nThe plugin is registered via entrypoints. It\'s by default enabled. To disable it: plugins=[..., "no:runinfo"], or uninstall this plugin.\n\n## Plugin options\n\n- `runinfo_lang`: The name of the language to run the job script for session info.\n    Default is `None`, which means it will be inferred from the `proc.lang`\n    This should be a process-level option, unless you only have one single\n    process in your pipeline.\n- `runinfo_path`: Whether to include paths for the modules in the session information.\n    Default is `True`.\n    This option could be either specified in the process-level or the pipeline-level.\n    Only works for `python`.\n- `runinfo_submod`: Whether to include submodules in the session information.\n    Default is `False`.\n    This option could be either specified in the process-level or the pipeline-level.\n    Only works for `python`.\n\n## Supported languages for session info\n\n`python`, `R`, `bash`, and `fish`.\n\n## Usage\n\nThe plugin will generate 3 files in the job directory of the pipeline.\n\n### `job.runinfo.session`\n\nThe session information of the job, including the interpreter, packages and their versions.\n\n#### Python\n\nGenerates a TSV file with the following columns:\n\n- `Name`: The name of the module, or python itself\n- `__version__`: The version fetched by `module.__version__` or `module.version`\n- `importlib.metadata`: The version fetched by `importlib.metadata.version(package)`\n- `Path`: The path of the module (only if `runinfo_path` is `True`)\n\n#### R\n\nGenerates a text file `sessionInfo()` output.\n\n#### Bash\n\nGenerates a TSV file with the following columns:\n\n- `SHELL`: The value of `$SHELL`\n- `BASH_VERSION`: The value of `$BASH_VERSION`\n- `BASH_ARGV0`: The value of `$BASH_ARGV0`\n- `BASH_SOURCE`: The value of `$BASH_SOURCE`\n- `proc-exe`: The real path of the executable from `/proc/<pid>/exe`\n- `proc-exe-version`: The version of the executable from `/proc/<pid>/exe --version`\n\n#### Fish\n\nGenerates a TSV file with the following columns:\n\n- `SHELL`: The value of `$SHELL`\n- `FISH_VERSION`: The value of `$FISH_VERSION`\n- `proc-exe`: The real path of the executable from `/proc/<pid>/exe`\n- `proc-exe-version`: The version of the executable from `/proc/<pid>/exe --version`\n\n### `job.runinfo.time`\n\nThe time spent on the job, and more, generated by `time -v` command.\n\n### `job.runinfo.device`\n\nThe device (cpu and memory) information of the job, generated by `lscpu`/`lsmem` command.\n\n\n[1]: https://github.com/pwwang/pipen\n',
    'author': 'pwwang',
    'author_email': 'pwwang@pwwang.com',
    'maintainer': 'None',
    'maintainer_email': 'None',
    'url': 'None',
    'packages': packages,
    'package_data': package_data,
    'install_requires': install_requires,
    'entry_points': entry_points,
    'python_requires': '>=3.9,<4.0',
}


setup(**setup_kwargs)
