Metadata-Version: 2.4
Name: galaxy-job-config-init
Version: 0.1.4
Summary: Galaxy configuration
Home-page: https://github.com/galaxyproject/galaxy-job-config-init
Author: Galaxy Project and Community
Author-email: galaxy-committers@lists.galaxyproject.org
License: MIT
Keywords: Galaxy
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
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: Topic :: Software Development
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: typing-extensions
Requires-Dist: jinja2
Requires-Dist: PyYAML
Requires-Dist: backports.strenum; python_version < "3.11"
Dynamic: license-file


.. image:: https://badge.fury.io/py/galaxy-job-config-init.svg
   :target: https://pypi.org/project/galaxy-job-config-init/


Overview
--------

Module and script for bootstrapping Galaxy_ job config files.

* Code: https://github.com/galaxyproject/galaxy-job-config-init

Installation
------------

Install from PyPI::

    pip install galaxy-job-config-init

CLI Usage
---------

The package provides two command-line tools:

**galaxy-job-config-init**

Generate job configuration YAML for Galaxy::

    galaxy-job-config-init [OPTIONS]

Options::

    --galaxy-version TEXT
        Generate job config YAML for this version of Galaxy

    --runner {local,slurm,pbs,condor,kubernetes}
        Galaxy runner (e.g. DRM) to target (defaults to 'local')

    --tpv
        Enable shared TPV database

    --docker
        Enable Docker

    --docker-cmd TEXT
        Command used to launch docker (defaults to 'docker')

    --docker-host TEXT
        Docker host

    --docker-sudo
        Use sudo with Docker

    --docker-sudo-cmd TEXT
        Docker sudo command

    --docker-run-extra-arguments TEXT
        Extra arguments for Docker run

    --docker-extra-volume TEXT
        Extra Docker volumes (can be specified multiple times)

    --singularity
        Enable Singularity

    --singularity-cmd TEXT
        Command used to execute singularity (defaults to 'singularity')

    --singularity-sudo
        Use sudo with Singularity

    --singularity-sudo-cmd TEXT
        Singularity sudo command

    --singularity-extra-volume TEXT
        Extra Singularity volumes (can be specified multiple times)

    --tmp-dir TEXT
        Configure temporary directory handling (defaults to 'true')

    --all-in-one-handling
        Use all-in-one job handling configuration

**galaxy-job-config-init-summary**

Generate a summary of the job configuration. See `job_config_examples.md <job_config_examples.md>`_ for detailed examples of generated configurations.

Examples
~~~~~~~~

Generate a basic local job configuration::

    galaxy-job-config-init

Generate configuration for SLURM with Docker support::

    galaxy-job-config-init --runner slurm --docker

Generate configuration with custom Docker volumes::

    galaxy-job-config-init --docker --docker-extra-volume /data:/data --docker-extra-volume /scratch:/scratch

Generate configuration for all-in-one Galaxy instance::

    galaxy-job-config-init --all-in-one-handling

Contributing
------------

Contributions are welcome! Please see `CONTRIBUTING.rst <CONTRIBUTING.rst>`_ for development setup, code quality guidelines, and release procedures.

.. _Galaxy: http://galaxyproject.org/

History
-------

.. to_doc

0.1.4
~~~~~

* Expand readme
* Add ``--local-workers`` option to specify LocalJobRunner workers

0.1.3
~~~~~

* Enhanced tmp_dir configuration to support string values for custom temp directory allocation (environment variables and shell commands)
* Added all-in-one-handling option for simplified Galaxy instances (removes separate handling section)
* Added comprehensive development tooling: black, isort, ruff, mypy, and pre-commit hooks
* Added GitHub Actions CI workflow with automated testing across Python 3.9-3.13
* Added PyPI deployment workflow with trusted publishing
* Added CONTRIBUTING.rst with detailed development guidelines
* Updated README.rst with contributing information
* Added comprehensive test coverage for new features

0.1.2
~~~~~

Add tmp_dir config option thanks to @Smeds. https://github.com/galaxyproject/galaxy-job-config-init/pull/1


0.1.1
~~~~~

Fix for StrEnum usage on older Python versions.

0.1.0
~~~~~

Initial creation with simple options for TPV, various DRMs, and container settings.
