galaxy-upload


Namegalaxy-upload JSON
Version 1.0.1 PyPI version JSON
download
home_pagehttps://github.com/galaxyproject/galaxy-upload
SummaryGalaxy Upload Utility
upload_time2023-07-21 14:36:54
maintainer
docs_urlNone
authorGalaxy Project and Community
requires_python>=3.7
licenseMIT
keywords galaxy
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ====================================================
 galaxy-upload - Galaxy Command-Line Upload Utility
====================================================

A utility for uploading files to a Galaxy server from the command line. galaxy-upload supports `Galaxy`_ servers 22.01+,
which include support for resumable uploads with the `tus`_ protocol.

Installation
============

Using pip
---------

Python 3.7 or later is required.

To install::

    $ pip install galaxy-upload

This installs two commands: ``galaxy-upload``, used to upload file(s) to a Galaxy server, and ``galaxy-history-search``,
a helper utility for finding Galaxy histories to pass to the ``galaxy-upload`` command.

To make your life easier, you are encourged to install into a Python virtual environment. The easiest way to do this is
with Python's built-in `venv`_ module::

    $ python3 -m venv ~/galaxy-upload
    $ . ~/galaxy-upload/bin/activate
    $ pip install galaxy-upload

Using Conda
-----------

Alternatively, galaxy-upload can be installed using the `Conda`_ package manager. The `galaxy-upload Conda package`_ can
be found on the `bioconda`_ channel and installed like so::

    $ conda create -n galaxy-upload -c conda-forge -c bioconda galaxy-upload
    $ conda activate galaxy-upload

Using Containers
----------------

It is also possible to run galaxy-upload in either a `Docker`_ or `Singularity`_/`Apptainer`_ container. The
`galaxy-upload BioContainer`_ is automatically built and maintained by the `BioContainers`_ project.

To use the Docker container::

    $ docker run -it --rm -v "$(pwd):$(pwd)" -w "$(pwd)" -u "$(id -u):$(id -g)" \
        quay.io/biocontainers/galaxy-upload:1.0.0--pyhdfd78af_0 /bin/bash

Or as a single command without entering an interactive shell::

    $ docker run --rm -v "$(pwd):$(pwd)" -w "$(pwd)" -u "$(id -u):$(id -g)" \
        quay.io/biocontainers/galaxy-upload:1.0.0--pyhdfd78af_0 galaxy-upload

Adjust the values of ``-v`` and ``-w`` according to where the data you want to upload are located. In the example above,
it is assumed they are in the current working directory.

To use the Singularity container::

    $ singularity run https://depot.galaxyproject.org/singularity/galaxy-upload:1.0.0--pyhdfd78af_0

Or as a single command without entering an interactive shell::

    $ singularity run https://depot.galaxyproject.org/singularity/galaxy-upload:1.0.0--pyhdfd78af_0 galaxy-upload

Additional (newer) versions of the container may be available, BioContainers does not use the ``latest`` tag, but you
can find all tags (which are valid for the Singularity images hosted on depot.galaxyproject.org as well as the Docker
images) at the `galaxy-upload quay.io page`_

Usage
=====

Upload a pair of fastq.gz files::

    $ galaxy-upload --url https://usegalaxy.org \
        --api-key 70ffeec0ffeea11e1eaccede1337loaf --history-name 'Run 2' \
        RUN2_F_001.fastq.gz RUN2_R_001.fastq.gz
    RUN2_F_001.fastq.gz ━━━━━━━━━━━━━━━━━━━━━━━━━━ 100/100 mB ? eta 0:00:00
    RUN2_R_001.fastq.gz ━━━━━━━━━━━━━━━━━━━━━━━━━━ 100/100 mB ? eta 0:00:00

Required arguments are the Galaxy server URL and API key, and a history ID or name. Your API key can be found in the
Galaxy UI after logging in, by navigating to **User** ⮕ **Preferences** ⮕ **Manage API Key**.

You can set the URL and API key options as environment variables to avoid retyping and prevent the key from being
visible to other users in ``ps(1)`` output::

    $ export GALAXY_URL=https://usegalaxy.org 
    $ export GALAXY_API_KEY=70ffeec0ffeea11e1eaccede1337loaf
    $ galaxy-upload --history-name stuff reads.bam

When selecting a history by name, regular expression matching is used. If the name matches multiple histories,
``galaxy-upload`` will exit will output details about the matched histories and then exit with an error. You can then
select the correct history ID using the ``--history-id`` option::

    $ galaxy-upload --history-name stuff reads.bam
                              Active Histories
    ┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃ ID               ┃ Name        ┃ Last Modified            ┃
    ┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━┩
    │ 70ffeec0ffeead07 │ Newer stuff │ Mon Jul 11 15:54:05 2022 │
    │ a11e1eaccedeble8 │ Older stuff │ Wed May 25 18:03:46 2022 │
    └──────────────────┴─────────────┴──────────────────────────┘
    ERROR: Multiple histories matching stuff found! Use --history-id to select one.
    $ galaxy-upload --history-id 70ffeec0ffeead07 reads.bam
    reads.bam ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.6/3.6 gB ? eta 0:00:00

If you want to find the correct history without attempting an upload, use the ``galaxy-history-search`` command. The
``--ignore-case`` option can be used to perform a case-insensitive search::

    $ galaxy-history-search --ignore-case trinity
                               Active Histories
    ┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃ ID               ┃ Name                  ┃ Last Modified            ┃
    ┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━┩
    │ 084649feb42d4295 │ : test trinity inputs │ Wed Dec  9 10:02:35 2020 │
    │ f697f94ca47080cf │ automate_trinity      │ Mon Dec 21 17:40:24 2015 │
    │ c79278c7a37e619e │ TrinityRun            │ Fri Mar 10 14:21:56 2017 │
    │ ee31286b26ff3352 │ trinity               │ Wed Sep 30 09:04:03 2020 │
    └──────────────────┴───────────────────────┴──────────────────────────┘

Regular expressions are supported, for example, to find only the histories with names *ending* with ``trinity``::

    $ galaxy-history-search --ignore-case 'trinity$'
                             Active Histories
    ┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃ ID               ┃ Name             ┃ Last Modified            ┃
    ┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━┩
    │ f697f94ca47080cf │ automate_trinity │ Mon Dec 21 17:40:24 2015 │
    │ ee31286b26ff3352 │ trinity          │ Wed Sep 30 09:04:03 2020 │
    └──────────────────┴──────────────────┴──────────────────────────┘

Multiple options mirror those of the Galaxy UI's upload dialog, including ``--file-type``, ``--dbkey``,
and ``--space-to-tab``. The ``--file-name`` option can be used when uploading single files to control the file name in
the history (by default it will be the same as the name on the local filesystem).

To support resuming interrupted uploads, use the ``--storage`` option to point to a state file (it will be created if it
does not exist)::

    $ galaxy-upload --file-type bam --file-name Reads --storage /data/upload.txt /data/reads.bam

If the upload is interrupted, simply repeat the same command to resume uploading from the point of interruption.

Note that if you are trying to re-upload (not resume) a file that you have already uploaded once before, you will need
to remove it from the storage file or use a different storage file.

.. _Galaxy: http://galaxyproject.org/
.. _tus: https://tus.io/
.. _venv: https://docs.python.org/3/library/venv.html
.. _Conda: https://docs.conda.io/
.. _galaxy-upload Conda package: https://anaconda.org/bioconda/galaxy-upload
.. _bioconda: https://bioconda.github.io/
.. _Docker: https://www.docker.com/
.. _Singularity: https://sylabs.io/docs/
.. _Apptainer: https://apptainer.org/
.. _galaxy-upload BioContainer: https://biocontainers.pro/tools/galaxy-upload
.. _BioContainers: https://biocontainers.pro/
.. _galaxy-upload quay.io page: https://quay.io/repository/biocontainers/galaxy-upload

=========
 History
=========

1.0.1
=====

- Document installation/usage with conda and containers by @natefoo in https://github.com/galaxyproject/galaxy-upload/pull/7
- Use click to require file arg to exist by @natefoo in https://github.com/galaxyproject/galaxy-upload/pull/9
- Pin tuspy to !=1.0.1 due to issue with upload_chunk(). by @natefoo in https://github.com/galaxyproject/galaxy-upload/pull/10

1.0.0
=====

- Initial release

0.0.1
=====

- Initial prerelease for comment and testing

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/galaxyproject/galaxy-upload",
    "name": "galaxy-upload",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "Galaxy",
    "author": "Galaxy Project and Community",
    "author_email": "galaxy-committers@lists.galaxyproject.org",
    "download_url": "https://files.pythonhosted.org/packages/0f/f5/ae8f161e7e76d9800985685f1daf004edf097904a0d238b312ec98c5c904/galaxy-upload-1.0.1.tar.gz",
    "platform": null,
    "description": "====================================================\n galaxy-upload - Galaxy Command-Line Upload Utility\n====================================================\n\nA utility for uploading files to a Galaxy server from the command line. galaxy-upload supports `Galaxy`_ servers 22.01+,\nwhich include support for resumable uploads with the `tus`_ protocol.\n\nInstallation\n============\n\nUsing pip\n---------\n\nPython 3.7 or later is required.\n\nTo install::\n\n    $ pip install galaxy-upload\n\nThis installs two commands: ``galaxy-upload``, used to upload file(s) to a Galaxy server, and ``galaxy-history-search``,\na helper utility for finding Galaxy histories to pass to the ``galaxy-upload`` command.\n\nTo make your life easier, you are encourged to install into a Python virtual environment. The easiest way to do this is\nwith Python's built-in `venv`_ module::\n\n    $ python3 -m venv ~/galaxy-upload\n    $ . ~/galaxy-upload/bin/activate\n    $ pip install galaxy-upload\n\nUsing Conda\n-----------\n\nAlternatively, galaxy-upload can be installed using the `Conda`_ package manager. The `galaxy-upload Conda package`_ can\nbe found on the `bioconda`_ channel and installed like so::\n\n    $ conda create -n galaxy-upload -c conda-forge -c bioconda galaxy-upload\n    $ conda activate galaxy-upload\n\nUsing Containers\n----------------\n\nIt is also possible to run galaxy-upload in either a `Docker`_ or `Singularity`_/`Apptainer`_ container. The\n`galaxy-upload BioContainer`_ is automatically built and maintained by the `BioContainers`_ project.\n\nTo use the Docker container::\n\n    $ docker run -it --rm -v \"$(pwd):$(pwd)\" -w \"$(pwd)\" -u \"$(id -u):$(id -g)\" \\\n        quay.io/biocontainers/galaxy-upload:1.0.0--pyhdfd78af_0 /bin/bash\n\nOr as a single command without entering an interactive shell::\n\n    $ docker run --rm -v \"$(pwd):$(pwd)\" -w \"$(pwd)\" -u \"$(id -u):$(id -g)\" \\\n        quay.io/biocontainers/galaxy-upload:1.0.0--pyhdfd78af_0 galaxy-upload\n\nAdjust the values of ``-v`` and ``-w`` according to where the data you want to upload are located. In the example above,\nit is assumed they are in the current working directory.\n\nTo use the Singularity container::\n\n    $ singularity run https://depot.galaxyproject.org/singularity/galaxy-upload:1.0.0--pyhdfd78af_0\n\nOr as a single command without entering an interactive shell::\n\n    $ singularity run https://depot.galaxyproject.org/singularity/galaxy-upload:1.0.0--pyhdfd78af_0 galaxy-upload\n\nAdditional (newer) versions of the container may be available, BioContainers does not use the ``latest`` tag, but you\ncan find all tags (which are valid for the Singularity images hosted on depot.galaxyproject.org as well as the Docker\nimages) at the `galaxy-upload quay.io page`_\n\nUsage\n=====\n\nUpload a pair of fastq.gz files::\n\n    $ galaxy-upload --url https://usegalaxy.org \\\n        --api-key 70ffeec0ffeea11e1eaccede1337loaf --history-name 'Run 2' \\\n        RUN2_F_001.fastq.gz RUN2_R_001.fastq.gz\n    RUN2_F_001.fastq.gz \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100/100 mB ? eta 0:00:00\n    RUN2_R_001.fastq.gz \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100/100 mB ? eta 0:00:00\n\nRequired arguments are the Galaxy server URL and API key, and a history ID or name. Your API key can be found in the\nGalaxy UI after logging in, by navigating to **User** \u2b95 **Preferences** \u2b95 **Manage API Key**.\n\nYou can set the URL and API key options as environment variables to avoid retyping and prevent the key from being\nvisible to other users in ``ps(1)`` output::\n\n    $ export GALAXY_URL=https://usegalaxy.org \n    $ export GALAXY_API_KEY=70ffeec0ffeea11e1eaccede1337loaf\n    $ galaxy-upload --history-name stuff reads.bam\n\nWhen selecting a history by name, regular expression matching is used. If the name matches multiple histories,\n``galaxy-upload`` will exit will output details about the matched histories and then exit with an error. You can then\nselect the correct history ID using the ``--history-id`` option::\n\n    $ galaxy-upload --history-name stuff reads.bam\n                              Active Histories\n    \u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n    \u2503 ID               \u2503 Name        \u2503 Last Modified            \u2503\n    \u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n    \u2502 70ffeec0ffeead07 \u2502 Newer stuff \u2502 Mon Jul 11 15:54:05 2022 \u2502\n    \u2502 a11e1eaccedeble8 \u2502 Older stuff \u2502 Wed May 25 18:03:46 2022 \u2502\n    \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n    ERROR: Multiple histories matching stuff found! Use --history-id to select one.\n    $ galaxy-upload --history-id 70ffeec0ffeead07 reads.bam\n    reads.bam \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 3.6/3.6 gB ? eta 0:00:00\n\nIf you want to find the correct history without attempting an upload, use the ``galaxy-history-search`` command. The\n``--ignore-case`` option can be used to perform a case-insensitive search::\n\n    $ galaxy-history-search --ignore-case trinity\n                               Active Histories\n    \u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n    \u2503 ID               \u2503 Name                  \u2503 Last Modified            \u2503\n    \u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n    \u2502 084649feb42d4295 \u2502 : test trinity inputs \u2502 Wed Dec  9 10:02:35 2020 \u2502\n    \u2502 f697f94ca47080cf \u2502 automate_trinity      \u2502 Mon Dec 21 17:40:24 2015 \u2502\n    \u2502 c79278c7a37e619e \u2502 TrinityRun            \u2502 Fri Mar 10 14:21:56 2017 \u2502\n    \u2502 ee31286b26ff3352 \u2502 trinity               \u2502 Wed Sep 30 09:04:03 2020 \u2502\n    \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\nRegular expressions are supported, for example, to find only the histories with names *ending* with ``trinity``::\n\n    $ galaxy-history-search --ignore-case 'trinity$'\n                             Active Histories\n    \u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n    \u2503 ID               \u2503 Name             \u2503 Last Modified            \u2503\n    \u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n    \u2502 f697f94ca47080cf \u2502 automate_trinity \u2502 Mon Dec 21 17:40:24 2015 \u2502\n    \u2502 ee31286b26ff3352 \u2502 trinity          \u2502 Wed Sep 30 09:04:03 2020 \u2502\n    \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\nMultiple options mirror those of the Galaxy UI's upload dialog, including ``--file-type``, ``--dbkey``,\nand ``--space-to-tab``. The ``--file-name`` option can be used when uploading single files to control the file name in\nthe history (by default it will be the same as the name on the local filesystem).\n\nTo support resuming interrupted uploads, use the ``--storage`` option to point to a state file (it will be created if it\ndoes not exist)::\n\n    $ galaxy-upload --file-type bam --file-name Reads --storage /data/upload.txt /data/reads.bam\n\nIf the upload is interrupted, simply repeat the same command to resume uploading from the point of interruption.\n\nNote that if you are trying to re-upload (not resume) a file that you have already uploaded once before, you will need\nto remove it from the storage file or use a different storage file.\n\n.. _Galaxy: http://galaxyproject.org/\n.. _tus: https://tus.io/\n.. _venv: https://docs.python.org/3/library/venv.html\n.. _Conda: https://docs.conda.io/\n.. _galaxy-upload Conda package: https://anaconda.org/bioconda/galaxy-upload\n.. _bioconda: https://bioconda.github.io/\n.. _Docker: https://www.docker.com/\n.. _Singularity: https://sylabs.io/docs/\n.. _Apptainer: https://apptainer.org/\n.. _galaxy-upload BioContainer: https://biocontainers.pro/tools/galaxy-upload\n.. _BioContainers: https://biocontainers.pro/\n.. _galaxy-upload quay.io page: https://quay.io/repository/biocontainers/galaxy-upload\n\n=========\n History\n=========\n\n1.0.1\n=====\n\n- Document installation/usage with conda and containers by @natefoo in https://github.com/galaxyproject/galaxy-upload/pull/7\n- Use click to require file arg to exist by @natefoo in https://github.com/galaxyproject/galaxy-upload/pull/9\n- Pin tuspy to !=1.0.1 due to issue with upload_chunk(). by @natefoo in https://github.com/galaxyproject/galaxy-upload/pull/10\n\n1.0.0\n=====\n\n- Initial release\n\n0.0.1\n=====\n\n- Initial prerelease for comment and testing\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Galaxy Upload Utility",
    "version": "1.0.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/galaxyproject/galaxy-upload/issues",
        "Documentation": "https://galaxy-upload.readthedocs.io/",
        "Homepage": "https://github.com/galaxyproject/galaxy-upload",
        "Source Code": "https://github.com/galaxyproject/galaxy-upload"
    },
    "split_keywords": [
        "galaxy"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a251c4a6cec08bf2ccc3b3bcfe956580670d64d567c001c87b10da377f36d45e",
                "md5": "86eab373e0d241a7c072239b289abbf6",
                "sha256": "cd0e97403ffccf9a489d1e83061199685651b67fb9250e7c336ebbc24c565242"
            },
            "downloads": -1,
            "filename": "galaxy_upload-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "86eab373e0d241a7c072239b289abbf6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 8864,
            "upload_time": "2023-07-21T14:36:53",
            "upload_time_iso_8601": "2023-07-21T14:36:53.096537Z",
            "url": "https://files.pythonhosted.org/packages/a2/51/c4a6cec08bf2ccc3b3bcfe956580670d64d567c001c87b10da377f36d45e/galaxy_upload-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0ff5ae8f161e7e76d9800985685f1daf004edf097904a0d238b312ec98c5c904",
                "md5": "cecd2e2fa0d77b6ac5bdde0ba2e27dca",
                "sha256": "f0944e01ee377f53c02f15f66fb42a8516fed3be239d4406c72713905c36c359"
            },
            "downloads": -1,
            "filename": "galaxy-upload-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "cecd2e2fa0d77b6ac5bdde0ba2e27dca",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 8683,
            "upload_time": "2023-07-21T14:36:54",
            "upload_time_iso_8601": "2023-07-21T14:36:54.540650Z",
            "url": "https://files.pythonhosted.org/packages/0f/f5/ae8f161e7e76d9800985685f1daf004edf097904a0d238b312ec98c5c904/galaxy-upload-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-21 14:36:54",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "galaxyproject",
    "github_project": "galaxy-upload",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "galaxy-upload"
}
        
Elapsed time: 0.11139s