audfactory
Advanced tools
Sorry, the diff of this file is not supported yet
| name: Documentation | ||
| on: | ||
| push: | ||
| branches: [ main ] | ||
| pull_request: | ||
| branches: [ main ] | ||
| jobs: | ||
| build: | ||
| runs-on: ${{ matrix.os }} | ||
| strategy: | ||
| matrix: | ||
| os: [ ubuntu-latest ] | ||
| python-version: [ '3.8' ] | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - name: Set up Python ${{ matrix.python-version }} | ||
| uses: actions/setup-python@v4 | ||
| with: | ||
| python-version: ${{ matrix.python-version }} | ||
| - name: Install package | ||
| run: | | ||
| python -m pip install --upgrade pip | ||
| pip install -r requirements.txt | ||
| - name: Install docs requirements | ||
| run: pip install -r docs/requirements.txt | ||
| - name: Test building documentation | ||
| run: python -m sphinx docs/ docs/_build/ -b html -W | ||
| - name: Check links in documentation | ||
| run: python -m sphinx docs/ docs/_build/ -b linkcheck -W |
| name: Linter | ||
| on: | ||
| push: | ||
| branches: [ main ] | ||
| pull_request: | ||
| branches: [ main ] | ||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - name: Set up Python 3.8 | ||
| uses: actions/setup-python@v4 | ||
| with: | ||
| python-version: '3.8' | ||
| - name: Install pre-commit hooks | ||
| run: | | ||
| pip install pre-commit | ||
| pre-commit install --install-hooks | ||
| - name: Code style check via pre-commit | ||
| run: | | ||
| pre-commit run --all-files |
+192
| # ===== PROJECT =========================================================== | ||
| # | ||
| [project] | ||
| name = 'audfactory' | ||
| authors = [ | ||
| {name = 'Hagen Wierstorf', email = 'hwierstorf@audeering.com'}, | ||
| {name = 'Johannes Wagner', email = 'jwagner@audeering.com'}, | ||
| ] | ||
| description = 'Communicate with Artifactory' | ||
| readme = 'README.rst' | ||
| license = {file = 'LICENSE'} | ||
| keywords = [ | ||
| 'artifactory', | ||
| ] | ||
| classifiers = [ | ||
| 'Development Status :: 5 - Production/Stable', | ||
| 'Intended Audience :: Science/Research', | ||
| 'Intended Audience :: Developers', | ||
| 'License :: OSI Approved :: MIT License', | ||
| 'Operating System :: OS Independent', | ||
| 'Programming Language :: Python', | ||
| 'Programming Language :: Python :: 3', | ||
| 'Programming Language :: Python :: 3.8', | ||
| 'Programming Language :: Python :: 3.9', | ||
| 'Programming Language :: Python :: 3.10', | ||
| 'Programming Language :: Python :: 3.11', | ||
| 'Topic :: Scientific/Engineering', | ||
| ] | ||
| dependencies = [ | ||
| 'audeer >=1.11.0', | ||
| 'dohq-artifactory >=0.9.0', | ||
| ] | ||
| # Get version dynamically from git | ||
| # (needs setuptools_scm tools config below) | ||
| dynamic = ['version'] | ||
| [project.urls] | ||
| repository = 'https://github.com/audeering/audfactory/' | ||
| documentation = 'https://audeering.github.io/audfactory/' | ||
| # ===== BUILD-SYSTEM ====================================================== | ||
| # | ||
| # Requirements for building the Python package | ||
| [build-system] | ||
| requires = ['setuptools>=45', 'setuptools_scm[toml]>=6.2'] | ||
| build-backend = 'setuptools.build_meta' | ||
| # ===== TOOL ============================================================== | ||
| # | ||
| # ----- codespell --------------------------------------------------------- | ||
| [tool.codespell] | ||
| builtin = 'clear,rare,informal,usage,names' | ||
| skip = './audfactory.egg-info,./build,./docs/api,./docs/_templates' | ||
| ignore-words-list = 'authentification' | ||
| # ----- pytest ------------------------------------------------------------ | ||
| # | ||
| [tool.pytest.ini_options] | ||
| cache_dir = '.cache/pytest' | ||
| xfail_strict = true | ||
| addopts = ''' | ||
| --doctest-plus | ||
| --cov=audfactory | ||
| --cov-fail-under=100 | ||
| --cov-report term-missing | ||
| --cov-report xml | ||
| --ignore=misc/ | ||
| ''' | ||
| # ----- ruff -------------------------------------------------------------- | ||
| # | ||
| [tool.ruff] | ||
| select = [ | ||
| 'D', # pydocstyle | ||
| 'E', # pycodestyle errors | ||
| 'F', # Pyflakes | ||
| 'I', # isort | ||
| 'N', # pep8-naming | ||
| 'W', # pycodestyle warnings | ||
| ] | ||
| extend-ignore = [ | ||
| 'D100', # Missing docstring in public module | ||
| 'D103', # Missing docstring in public function | ||
| 'D104', # Missing docstring in public package | ||
| 'D107', # Missing docstring in `__init__` | ||
| ] | ||
| line-length = 79 | ||
| cache-dir = '.cache/ruff' | ||
| [tool.ruff.per-file-ignores] | ||
| '__init__.py' = [ | ||
| 'F401', # * imported but unused | ||
| ] | ||
| # ----- I: isort ----- | ||
| # | ||
| # Check correct order/syntax of import statements | ||
| # | ||
| [tool.ruff.isort] | ||
| # All from imports have their own line, e.g. | ||
| # | ||
| # from .utils import util_a | ||
| # from .utils import util_b | ||
| # | ||
| force-single-line = true | ||
| # Sort by module names | ||
| # and not import before from, e.g. | ||
| # | ||
| # from datetime import date | ||
| # import os | ||
| # | ||
| force-sort-within-sections = true | ||
| # Ensure we have two empty lines | ||
| # after last import | ||
| lines-after-imports = 2 | ||
| # Group all audEERING packages into a separate section, e.g. | ||
| # | ||
| # import os | ||
| # | ||
| # import numpy as np | ||
| # | ||
| # import audfactory | ||
| # | ||
| section-order = [ | ||
| 'future', | ||
| 'standard-library', | ||
| 'third-party', | ||
| 'audeering', | ||
| 'first-party', | ||
| 'local-folder', | ||
| ] | ||
| [tool.ruff.isort.sections] | ||
| 'audeering' = [ | ||
| 'audb', | ||
| 'audbackend', | ||
| 'audeer', | ||
| 'audformat', | ||
| 'audiofile', | ||
| 'audinterface', | ||
| 'audmath', | ||
| 'audmetric', | ||
| 'audobject', | ||
| 'audonnx', | ||
| 'audplot', | ||
| 'audresample', | ||
| 'audtorch', | ||
| 'opensmile', | ||
| 'sphinx-audeering-theme', | ||
| ] | ||
| # ----- N: pep8-naming ----- | ||
| # | ||
| # Check variable/class names follow PEP8 naming convention | ||
| # | ||
| [tool.ruff.pep8-naming] | ||
| ignore-names = [ | ||
| 'config', # allow lowercase class name | ||
| 'test_*', # allow uppercase name when testing a class | ||
| ] | ||
| # ----- W: pycodestyle ----- | ||
| # | ||
| # Check docstrings follow selected convention | ||
| # | ||
| [tool.ruff.pydocstyle] | ||
| convention = 'google' | ||
| # ----- setuptools -------------------------------------------------------- | ||
| # | ||
| # Find all (sub-)modules of the Python package | ||
| [tool.setuptools.packages.find] | ||
| # ----- setuptools_scm ---------------------------------------------------- | ||
| # | ||
| # Use setuptools_scm to get version from git | ||
| [tool.setuptools_scm] |
@@ -10,3 +10,5 @@ name: Publish | ||
| deploy: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
@@ -25,3 +27,3 @@ - uses: actions/checkout@v3 | ||
| python -m pip install --upgrade pip | ||
| pip install setuptools wheel twine | ||
| pip install build twine virtualenv | ||
@@ -34,6 +36,6 @@ # PyPI package | ||
| run: | | ||
| python setup.py sdist bdist_wheel | ||
| python -m build | ||
| python -m twine upload dist/* | ||
| # Docuemntation | ||
| # Documentation | ||
| - name: Install doc dependencies | ||
@@ -66,3 +68,3 @@ run: | | ||
| echo "Got changelog: $CHANGELOG" | ||
| echo "::set-output name=body::$CHANGELOG" | ||
| echo "body=$CHANGELOG" >> $GITHUB_OUTPUT | ||
@@ -69,0 +71,0 @@ - name: Create release on Github |
@@ -15,11 +15,4 @@ name: Test | ||
| matrix: | ||
| os: [ ubuntu-20.04, windows-latest, macOS-latest ] | ||
| python-version: [ '3.8' ] | ||
| include: | ||
| - os: ubuntu-latest | ||
| python-version: '3.7' | ||
| - os: ubuntu-latest | ||
| python-version: '3.9' | ||
| - os: ubuntu-latest | ||
| python-version: '3.10' | ||
| os: [ ubuntu-latest, windows-latest, macOS-latest ] | ||
| python-version: [ '3.8', '3.9', '3.10' ] | ||
@@ -39,3 +32,2 @@ steps: | ||
| pip install -r requirements.txt | ||
| pip install -r docs/requirements.txt | ||
| pip install -r tests/requirements.txt | ||
@@ -55,8 +47,2 @@ | ||
| file: ./coverage.xml | ||
| if: matrix.os == 'ubuntu-20.04' | ||
| - name: Test building documentation | ||
| run: | | ||
| python -m sphinx docs/ docs/_build/ -b html -W | ||
| python -m sphinx docs/ build/sphinx/html -b linkcheck | ||
| if: matrix.os == 'ubuntu-20.04' | ||
| if: matrix.os == 'ubuntu-latest' |
@@ -10,6 +10,16 @@ # Configuration of checks run by pre-commit | ||
| # | ||
| # | ||
| default_language_version: | ||
| python: python3.8 | ||
| repos: | ||
| - repo: https://github.com/pycqa/flake8 | ||
| rev: '5.0.4' | ||
| - repo: https://github.com/astral-sh/ruff-pre-commit | ||
| rev: v0.0.276 | ||
| hooks: | ||
| - id: flake8 | ||
| - id: ruff | ||
| - repo: https://github.com/codespell-project/codespell | ||
| rev: v2.2.4 | ||
| hooks: | ||
| - id: codespell | ||
| additional_dependencies: | ||
| - tomli |
+65
-381
@@ -1,390 +0,35 @@ | ||
| Metadata-Version: 1.2 | ||
| Metadata-Version: 2.1 | ||
| Name: audfactory | ||
| Version: 1.0.12 | ||
| Version: 1.0.13 | ||
| Summary: Communicate with Artifactory | ||
| Home-page: https://github.com/audeering/audfactory/ | ||
| Author: Johannes Wagner, Hagen Wierstorf | ||
| Author-email: jwagner@audeering.com, hwierstorf@audeering.com | ||
| License: MIT | ||
| Project-URL: Documentation, https://audeering.github.io/audfactory/ | ||
| Description: ========== | ||
| audfactory | ||
| ========== | ||
| Author-email: Hagen Wierstorf <hwierstorf@audeering.com>, Johannes Wagner <jwagner@audeering.com> | ||
| License: MIT License | ||
| |tests| |coverage| |docs| |python-versions| |license| | ||
| Copyright (c) 2018-2021 audEERING GmbH and Contributors | ||
| audfactory communicates with repositories handled by Artifactory_. | ||
| It was written on top of the dohq-artifactory_ Python package, | ||
| and allows you to deploy and download artifacts | ||
| or collect metadata information | ||
| from repositories. | ||
| Authors: | ||
| Johannes Wagner | ||
| Hagen Wierstorf | ||
| Have a look at the installation_ and usage_ instructions. | ||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
| .. _Artifactory: https://jfrog.com/artifactory/ | ||
| .. _dohq-artifactory: https://github.com/devopshq/artifactory | ||
| .. _installation: https://audeering.github.io/audfactory/installation.html | ||
| .. _usage: https://audeering.github.io/audfactory/usage.html | ||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. | ||
| .. badges images and links: | ||
| .. |tests| image:: https://github.com/audeering/audfactory/workflows/Test/badge.svg | ||
| :target: https://github.com/audeering/audfactory/actions?query=workflow%3ATest | ||
| :alt: Test status | ||
| .. |coverage| image:: https://codecov.io/gh/audeering/audfactory/branch/master/graph/badge.svg?token=LGV5O708V3 | ||
| :target: https://codecov.io/gh/audeering/audfactory/ | ||
| :alt: code coverage | ||
| .. |docs| image:: https://img.shields.io/pypi/v/audfactory?label=docs | ||
| :target: https://audeering.github.io/audfactory/ | ||
| :alt: audfactory's documentation | ||
| .. |license| image:: https://img.shields.io/badge/license-MIT-green.svg | ||
| :target: https://github.com/audeering/audfactory/blob/master/LICENSE | ||
| :alt: audfactory's MIT license | ||
| .. |python-versions| image:: https://img.shields.io/pypi/pyversions/audfactory.svg | ||
| :target: https://pypi.org/project/audfactory/ | ||
| :alt: audfactorys's supported Python versions | ||
| Changelog | ||
| ========= | ||
| All notable changes to this project will be documented in this file. | ||
| The format is based on `Keep a Changelog`_, | ||
| and this project adheres to `Semantic Versioning`_. | ||
| Version 1.0.12 (2023-02-17) | ||
| --------------------------- | ||
| * Fixed: ``audfactory.versions()`` | ||
| for server with no access rights | ||
| and ``dohq-artifactory>=0.8`` | ||
| Version 1.0.11 (2023-02-13) | ||
| --------------------------- | ||
| * Fixed: require ``sphinx-audeering-theme>=1.2.1`` | ||
| to ensure the correct theme is used | ||
| Version 1.0.10 (2023-02-13) | ||
| --------------------------- | ||
| * Fixed: support for Python 3.10 | ||
| by requiring ``dohq-artifactory>=0.8.1`` | ||
| Version 1.0.9 (2022-12-23) | ||
| -------------------------- | ||
| * Added: support for Python 3.10 | ||
| * Changed: split API documentation into sub-pages | ||
| for each function | ||
| Version 1.0.8 (2022-01-03) | ||
| -------------------------- | ||
| * Added: Python 3.9 support | ||
| * Removed: Python 3.6 support | ||
| Version 1.0.7 (2021-11-30) | ||
| -------------------------- | ||
| * Changed: extend discussion of authentication | ||
| in usage section of docs | ||
| Version 1.0.6 (2021-09-23) | ||
| -------------------------- | ||
| * Fixed: catch 403 errors inside ``audfactory.versions()`` | ||
| when requesting versions for non-existing paths | ||
| Version 1.0.5 (2021-07-22) | ||
| -------------------------- | ||
| * Fixed: ignore empty strings in ``audfactory.url()`` | ||
| Version 1.0.4 (2021-06-17) | ||
| -------------------------- | ||
| * Changed: expanded the authentication docs for Artifactory | ||
| Version 1.0.3 (2021-03-29) | ||
| -------------------------- | ||
| * Fixed: ``audfactory.versions()`` for missing permissions | ||
| Version 1.0.2 (2021-03-26) | ||
| -------------------------- | ||
| * Fixed: link "Edit on Github" | ||
| Version 1.0.1 (2021-03-26) | ||
| -------------------------- | ||
| * Fixed: Python package metadata | ||
| Version 1.0.0 (2021-03-26) | ||
| -------------------------- | ||
| * Added: support for anonymous Artifactory user access | ||
| * Changed: renamed ``audfactory.artifactory_path()`` to ``audfactory.path()`` | ||
| * Changed: renamed ``audfactory.deploy_artifact()`` to | ||
| ``audfactory.depoy()`` | ||
| * Changed: renamed ``audfactory.download_artifact()`` to | ||
| ``audfactory.download()`` | ||
| * Changed: renamed ``audfactory.server_url()`` to ``audfactory.url()`` | ||
| * Removed: ``audfactory.upload_artifact()`` | ||
| * Removed: ``audfactory.sort_versions()`` | ||
| * Removed: ``audfactory.dependencies()`` | ||
| * Removed: ``audfactory.download_pom()`` | ||
| * Removed: ``audfactory.exclude_dependencies()`` | ||
| * Removed: ``audfactory.include_dependencies()`` | ||
| * Removed: ``audfactory.list_artifacts()`` | ||
| * Removed: ``audfactory.server_pom_url()`` | ||
| * Removed: ``audfactory.transitive_dependencies()`` | ||
| * Removed: ``audfactory.transitive_dependencies_as_string()`` | ||
| * Removed: ``audfactory.pom`` | ||
| Version 0.8.1 (2021-02-09) | ||
| -------------------------- | ||
| * Fixed: use ``audeer.sort_versions()`` in ``audfactory.versions()`` | ||
| Version 0.8.0 (2021-02-09) | ||
| -------------------------- | ||
| * Deprecated: ``audfactory.sort_versions()`` | ||
| * Deprecated: ``audfactory.dependencies()`` | ||
| * Deprecated: ``audfactory.download_pom()`` | ||
| * Deprecated: ``audfactory.exclude_dependencies()`` | ||
| * Deprecated: ``audfactory.include_dependencies()`` | ||
| * Deprecated: ``audfactory.list_artifacts()`` | ||
| * Deprecated: ``audfactory.server_pom_url()`` | ||
| * Deprecated: ``audfactory.transitive_dependencies()`` | ||
| * Deprecated: ``audfactory.transitive_dependencies_as_string()`` | ||
| * Deprecated: ``audfactory.pom`` module | ||
| Version 0.7.2 (2021-01-27) | ||
| -------------------------- | ||
| * Fixed: copyright year in documentation | ||
| Version 0.7.1 (2021-01-27) | ||
| -------------------------- | ||
| * Fixed: sorting of versions for, e.g. ``'10.0.0'`` > ``'9.0.0'`` | ||
| Version 0.7.0 (2021-01-12) | ||
| -------------------------- | ||
| * Added: ``audfactory.checksum()`` | ||
| * Added: ``audfactory.deploy_artifact()`` | ||
| * Added: ``md5``, ``sha1``, ``sha256``, ``parameters`` arguments | ||
| to ``audfactory.upload_artifact()`` | ||
| Version 0.6.3 (2020-10-01) | ||
| -------------------------- | ||
| * Added: official support for Windows | ||
| Version 0.6.2 (2020-09-14) | ||
| -------------------------- | ||
| * Added: extend documentation examples of ``audfactory.Lookup`` | ||
| Version 0.6.1 (2020-09-10) | ||
| -------------------------- | ||
| * Fixed: added documentation for ``audfactory.Lookup.__getitem__()`` | ||
| Version 0.6.0 (2020-09-09) | ||
| -------------------------- | ||
| * Added: static method ``audfactory.Lookup.generate_uid()`` | ||
| to generate UID by hashing a string | ||
| * Fixed: add documentation of attributes for ``audfactory.Lookup`` | ||
| Version 0.5.9 (2020-09-08) | ||
| -------------------------- | ||
| * Added: link to HTML documentation to ``setup.cfg`` | ||
| * Added: cleanup after tests on Artifactory | ||
| Version 0.5.8 (2020-06-22) | ||
| -------------------------- | ||
| * Fixed: repository argument of ``audfactory.list_artifacts()`` | ||
| was ignored before | ||
| Version 0.5.7 (2020-06-22) | ||
| -------------------------- | ||
| * Added: documentation on how to convert ``audfactory.Lookup`` | ||
| to a ``pandas.Dataframe`` | ||
| * Fixed: list string parameters that are not allowed to use as params | ||
| in ``audfactory.Lookup`` | ||
| Version 0.5.6 (2020-06-10) | ||
| -------------------------- | ||
| * Added: ``audfactory.Lookup.columns`` | ||
| * Added: ``audfactory.Lookup.ids`` | ||
| * Added: nice ``repr`` and ``str`` output for ``audfactory.Lookup`` | ||
| * Fixed: check for correct type of lookup parameters | ||
| to avoid storing the same parameter twice in a lookup table | ||
| Version 0.5.5 (2020-06-06) | ||
| -------------------------- | ||
| * Fixed: clear print line without new line | ||
| Version 0.5.4 (2020-06-05) | ||
| -------------------------- | ||
| * Fixed: print line was not cleared at the end of | ||
| ``audfactory.upload_artifact()`` | ||
| and ``audfactory.transitive_dependencies()`` | ||
| Version 0.5.3 (2020-06-02) | ||
| -------------------------- | ||
| * Changed: error message handling in ``audb.download_artifact()`` | ||
| is now handled inside ``dohq-artifactory`` | ||
| * Fixed: broken ``jwt`` dependency due to bug in ``dohq-artifactory`` | ||
| Version 0.5.2 (2020-05-25) | ||
| -------------------------- | ||
| * Fixed: description of ``params`` argument of ``audfactory.Lookup.create()`` | ||
| in the documentation | ||
| Version 0.5.1 (2020-05-20) | ||
| -------------------------- | ||
| * Added: ``audfactory.Lookup`` | ||
| Version 0.5.0 (2020-05-19) | ||
| -------------------------- | ||
| * Added: error messages to ``audb.download_artifact()`` | ||
| * Added: error handling to ``audfactory.download_pom()`` | ||
| * Changed: replace ``re.match()`` by ``re.search()`` inside | ||
| ``audfactory.exclude_dependencies()`` | ||
| and ``audfactory.include_dependencies()`` | ||
| * Changed: ``audfactory.versions()`` now returns empty list if no versions | ||
| are found | ||
| * Fixed: parallel execution of tests | ||
| * Removed: deprecated ``audfactory.rest_api_request()`` | ||
| Version 0.4.2 (2020-05-11) | ||
| -------------------------- | ||
| * Changed: raise error if Artfactory config cannot be found for | ||
| authentication | ||
| Version 0.4.1 (2020-04-22) | ||
| -------------------------- | ||
| * Added: ``audfactory.path_to_group_id()`` | ||
| Version 0.4.0 (2020-04-01) | ||
| -------------------------- | ||
| * Added: test coverage | ||
| * Added: ``audfactory.rest_api_get()`` | ||
| * Added: ``audfactory.`rest_api_search()`` | ||
| * Added: ``audfactory.authentification()`` | ||
| * Deprecated: ``audfactory.rest_api_request()`` | ||
| * Removed: ``audfactory.download_artifacts()`` | ||
| Version 0.3.2 (2020-03-06) | ||
| -------------------------- | ||
| * Fixed: ``audfactory.pom.license()`` now doesn't fail for empty license | ||
| entries | ||
| Version 0.3.1 (2020-02-14) | ||
| -------------------------- | ||
| * Changed: improve progress bars for downloads | ||
| Version 0.3.0 (2020-02-14) | ||
| -------------------------- | ||
| * Added: Python 3.8 support | ||
| * Added: ``audfactory.upload_artifact()`` | ||
| * Added: ``audfactory.download_artifact()`` | ||
| * Changed: add ``repository`` as optional argument instead config value | ||
| * Deprecated: ``audfactory.download_artifacts()`` | ||
| * Removed: Python 3.5 support | ||
| Version 0.2.0 (2020-02-07) | ||
| -------------------------- | ||
| * Added: ``audfactory.sort_versions()`` | ||
| Version 0.1.2 (2020-02-07) | ||
| -------------------------- | ||
| * Changed: add more examples to documentation | ||
| * Fixed: typos in documentation | ||
| Version 0.1.1 (2020-02-07) | ||
| -------------------------- | ||
| * Changed: improve documentation | ||
| Version 0.1.0 (2020-02-06) | ||
| -------------------------- | ||
| * Added: initial release | ||
| .. _Keep a Changelog: | ||
| https://keepachangelog.com/en/1.0.0/ | ||
| .. _Semantic Versioning: | ||
| https://semver.org/spec/v2.0.0.html | ||
| Project-URL: repository, https://github.com/audeering/audfactory/ | ||
| Project-URL: documentation, https://audeering.github.io/audfactory/ | ||
| Keywords: artifactory | ||
| Platform: any | ||
| Classifier: Development Status :: 5 - Production/Stable | ||
@@ -397,6 +42,45 @@ Classifier: Intended Audience :: Science/Research | ||
| 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: Topic :: Scientific/Engineering | ||
| Description-Content-Type: text/x-rst | ||
| License-File: LICENSE | ||
| ========== | ||
| audfactory | ||
| ========== | ||
| |tests| |coverage| |docs| |python-versions| |license| | ||
| audfactory communicates with repositories handled by Artifactory_. | ||
| It was written on top of the dohq-artifactory_ Python package, | ||
| and allows you to deploy and download artifacts | ||
| or collect metadata information | ||
| from repositories. | ||
| Have a look at the installation_ and usage_ instructions. | ||
| .. _Artifactory: https://jfrog.com/artifactory/ | ||
| .. _dohq-artifactory: https://github.com/devopshq/artifactory | ||
| .. _installation: https://audeering.github.io/audfactory/installation.html | ||
| .. _usage: https://audeering.github.io/audfactory/usage.html | ||
| .. badges images and links: | ||
| .. |tests| image:: https://github.com/audeering/audfactory/workflows/Test/badge.svg | ||
| :target: https://github.com/audeering/audfactory/actions?query=workflow%3ATest | ||
| :alt: Test status | ||
| .. |coverage| image:: https://codecov.io/gh/audeering/audfactory/branch/main/graph/badge.svg?token=LGV5O708V3 | ||
| :target: https://codecov.io/gh/audeering/audfactory/ | ||
| :alt: code coverage | ||
| .. |docs| image:: https://img.shields.io/pypi/v/audfactory?label=docs | ||
| :target: https://audeering.github.io/audfactory/ | ||
| :alt: audfactory's documentation | ||
| .. |license| image:: https://img.shields.io/badge/license-MIT-green.svg | ||
| :target: https://github.com/audeering/audfactory/blob/main/LICENSE | ||
| :alt: audfactory's MIT license | ||
| .. |python-versions| image:: https://img.shields.io/pypi/pyversions/audfactory.svg | ||
| :target: https://pypi.org/project/audfactory/ | ||
| :alt: audfactorys's supported Python versions |
| audeer>=1.11.0 | ||
| dohq-artifactory>=0.8.1 | ||
| dohq-artifactory>=0.9.0 |
@@ -0,1 +1,2 @@ | ||
| .flake8 | ||
| .gitignore | ||
@@ -7,6 +8,6 @@ .pre-commit-config.yaml | ||
| README.rst | ||
| pyproject.toml | ||
| requirements.txt | ||
| setup.cfg | ||
| setup.py | ||
| .github/workflows/flake8.yml | ||
| .github/workflows/doc.yml | ||
| .github/workflows/linter.yml | ||
| .github/workflows/publish.yml | ||
@@ -13,0 +14,0 @@ .github/workflows/test.yml |
| audfactory | ||
| dist | ||
| docs | ||
| tests |
+10
-12
@@ -1,13 +0,11 @@ | ||
| from audfactory.core.api import ( | ||
| authentification, | ||
| checksum, | ||
| deploy, | ||
| download, | ||
| group_id_to_path, | ||
| path, | ||
| path_to_group_id, | ||
| rest_api_get, | ||
| url, | ||
| versions, | ||
| ) | ||
| from audfactory.core.api import authentification | ||
| from audfactory.core.api import checksum | ||
| from audfactory.core.api import deploy | ||
| from audfactory.core.api import download | ||
| from audfactory.core.api import group_id_to_path | ||
| from audfactory.core.api import path | ||
| from audfactory.core.api import path_to_group_id | ||
| from audfactory.core.api import rest_api_get | ||
| from audfactory.core.api import url | ||
| from audfactory.core.api import versions | ||
| from audfactory.core.lookup import Lookup | ||
@@ -14,0 +12,0 @@ |
@@ -5,9 +5,7 @@ import errno | ||
| from artifactory import ( | ||
| ArtifactoryPath, | ||
| get_global_config_entry, | ||
| md5sum, | ||
| sha1sum, | ||
| sha256sum, | ||
| ) | ||
| from artifactory import ArtifactoryPath | ||
| from artifactory import get_global_config_entry | ||
| from artifactory import md5sum | ||
| from artifactory import sha1sum | ||
| from artifactory import sha256sum | ||
| import dohq_artifactory | ||
@@ -168,2 +166,3 @@ import requests | ||
| parameters=parameters, | ||
| quote_parameters=True, | ||
| ) | ||
@@ -303,2 +302,3 @@ | ||
| ... | ||
| attachment | ||
| db | ||
@@ -441,2 +441,5 @@ media | ||
| RuntimeError, | ||
| ): | ||
| versions = [] | ||
| except ( | ||
| # no access rights to server with dohq-artifactory<0.8 | ||
@@ -456,3 +459,3 @@ requests.exceptions.HTTPError, | ||
| def _strip_url(url): # pragma: nocover | ||
| r"""Returns a URL without http(s):// prefixes and ending /""" | ||
| r"""Returns a URL without http(s):// prefixes and ending /.""" | ||
| if url.startswith('http://'): | ||
@@ -459,0 +462,0 @@ url = url[7:] |
@@ -718,3 +718,3 @@ import csv | ||
| writer.writerows(table) | ||
| # Seek to beginning of file, otherwise an empty CSV file wil be written | ||
| # Seek to beginning of file, otherwise an empty CSV file will be written | ||
| fobj.seek(0) | ||
@@ -721,0 +721,0 @@ artifactory_path = audfactory.path(url) |
+8
-1
@@ -10,2 +10,9 @@ Changelog | ||
| Version 1.0.13 (2023-07-25) | ||
| --------------------------- | ||
| * Changed: require ``dohq-artifactory>=0.9.0`` | ||
| * Fixed: suppress warning with newer ``dohq-artifactory`` versions | ||
| Version 1.0.12 (2023-02-17) | ||
@@ -98,3 +105,3 @@ --------------------------- | ||
| * Changed: renamed ``audfactory.deploy_artifact()`` to | ||
| ``audfactory.depoy()`` | ||
| ``audfactory.deploy()`` | ||
| * Changed: renamed ``audfactory.download_artifact()`` to | ||
@@ -101,0 +108,0 @@ ``audfactory.download()`` |
+33
-21
@@ -6,4 +6,8 @@ Contributing | ||
| Feel free to create a `pull request`_ . | ||
| If you find errors, omissions, inconsistencies or other things | ||
| that need improvement, please create an issue_. | ||
| If you find errors, | ||
| omissions, | ||
| inconsistencies, | ||
| or other things | ||
| that need improvement, | ||
| please create an issue_. | ||
@@ -17,3 +21,3 @@ .. _issue: https://github.com/audeering/audfactory/issues/new/ | ||
| Instead of pip-installing the latest release from PyPI, | ||
| Instead of pip-installing the latest release from PyPI_, | ||
| you should get the newest development version from Github_:: | ||
@@ -23,14 +27,17 @@ | ||
| cd audfactory | ||
| # Create virutal environment for this project | ||
| # Create virtual environment for this project | ||
| # e.g. | ||
| # virtualenv --python="python3" $HOME/.envs/audfactory | ||
| # source $HOME/.envs/audeer/bin/activate | ||
| # source $HOME/.envs/audfactory/bin/activate | ||
| pip install -r requirements.txt | ||
| .. _Github: https://github.com/audeering/audfactory | ||
| This way, your installation always stays up-to-date, | ||
| This way, | ||
| your installation always stays up-to-date, | ||
| even if you pull new changes from the Github repository. | ||
| .. _PyPI: https://pypi.org/project/audfactory/ | ||
| .. _Github: https://github.com/audeering/audfactory/ | ||
| Coding Convention | ||
@@ -40,5 +47,7 @@ ----------------- | ||
| We follow the PEP8_ convention for Python code | ||
| and check for correct syntax with flake8_. | ||
| Exceptions are defined under the ``[flake8]`` section | ||
| in :file:`setup.cfg`. | ||
| and check for correct syntax with ruff_. | ||
| In addition, | ||
| we check for common spelling errors with codespell_. | ||
| Both tools and possible exceptions | ||
| are defined in :file:`pyproject.toml`. | ||
@@ -52,18 +61,22 @@ The checks are executed in the CI using `pre-commit`_. | ||
| Afterwards flake8_ is executed | ||
| Afterwards ruff_ and codespell_ are executed | ||
| every time you create a commit. | ||
| You can also install flake8_ | ||
| You can also install ruff_ and codespell_ | ||
| and call it directly:: | ||
| pip install flake8 # consider system wide installation | ||
| flake8 | ||
| pip install ruff codespell # consider system wide installation | ||
| ruff check . | ||
| codespell | ||
| It can be restricted to specific folders:: | ||
| flake8 audfoo/ tests/ | ||
| ruff check audfoo/ tests/ | ||
| codespell audfoo/ tests/ | ||
| .. _codespell: https://github.com/codespell-project/codespell/ | ||
| .. _PEP8: http://www.python.org/dev/peps/pep-0008/ | ||
| .. _flake8: https://flake8.pycqa.org/en/latest/index.html | ||
| .. _pre-commit: https://pre-commit.com | ||
| .. _ruff: https://beta.ruff.rs | ||
@@ -78,3 +91,2 @@ | ||
| pip install -r requirements.txt | ||
| pip install -r docs/requirements.txt | ||
@@ -84,3 +96,3 @@ | ||
| python -m sphinx docs/ build/sphinx/html -b html | ||
| python -m sphinx docs/ build/sphinx/html -b html | ||
@@ -92,5 +104,5 @@ The generated files will be available | ||
| python -m sphinx docs/ build/sphinx/linkcheck -b linkcheck | ||
| python -m sphinx docs/ build/sphinx/html -b linkcheck | ||
| .. _Sphinx: http://sphinx-doc.org/ | ||
| .. _Sphinx: http://sphinx-doc.org | ||
@@ -119,3 +131,3 @@ | ||
| .. _pytest: https://pytest.org/ | ||
| .. _pytest: https://pytest.org | ||
@@ -122,0 +134,0 @@ |
+5
-5
@@ -1,2 +0,1 @@ | ||
| import configparser | ||
| from datetime import date | ||
@@ -6,13 +5,14 @@ import os | ||
| import toml | ||
| import audeer | ||
| config = configparser.ConfigParser() | ||
| config.read(os.path.join('..', 'setup.cfg')) | ||
| config = toml.load(audeer.path('..', 'pyproject.toml')) | ||
| # Project ----------------------------------------------------------------- | ||
| author = config['metadata']['author'] | ||
| project = config['project']['name'] | ||
| author = ', '.join(author['name'] for author in config['project']['authors']) | ||
| copyright = f'2019-{date.today().year} audEERING GmbH' | ||
| project = config['metadata']['name'] | ||
| version = audeer.git_repo_version() | ||
@@ -19,0 +19,0 @@ title = 'Documentation' |
+0
-2
@@ -1,3 +0,1 @@ | ||
| .. audfactory documentation master file | ||
| .. include:: ../README.rst | ||
@@ -4,0 +2,0 @@ |
@@ -7,1 +7,2 @@ audeer | ||
| sphinx-copybutton | ||
| toml |
+1
-1
@@ -96,3 +96,3 @@ Usage | ||
| .. _API key: https://www.jfrog.com/confluence/display/JFROG/User+Profile#UserProfile-APIKey | ||
| .. _API key: https://jfrog.com/help/r/jfrog-platform-administration-documentation/api-key | ||
@@ -99,0 +99,0 @@ |
+65
-381
@@ -1,390 +0,35 @@ | ||
| Metadata-Version: 1.2 | ||
| Metadata-Version: 2.1 | ||
| Name: audfactory | ||
| Version: 1.0.12 | ||
| Version: 1.0.13 | ||
| Summary: Communicate with Artifactory | ||
| Home-page: https://github.com/audeering/audfactory/ | ||
| Author: Johannes Wagner, Hagen Wierstorf | ||
| Author-email: jwagner@audeering.com, hwierstorf@audeering.com | ||
| License: MIT | ||
| Project-URL: Documentation, https://audeering.github.io/audfactory/ | ||
| Description: ========== | ||
| audfactory | ||
| ========== | ||
| Author-email: Hagen Wierstorf <hwierstorf@audeering.com>, Johannes Wagner <jwagner@audeering.com> | ||
| License: MIT License | ||
| |tests| |coverage| |docs| |python-versions| |license| | ||
| Copyright (c) 2018-2021 audEERING GmbH and Contributors | ||
| audfactory communicates with repositories handled by Artifactory_. | ||
| It was written on top of the dohq-artifactory_ Python package, | ||
| and allows you to deploy and download artifacts | ||
| or collect metadata information | ||
| from repositories. | ||
| Authors: | ||
| Johannes Wagner | ||
| Hagen Wierstorf | ||
| Have a look at the installation_ and usage_ instructions. | ||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
| .. _Artifactory: https://jfrog.com/artifactory/ | ||
| .. _dohq-artifactory: https://github.com/devopshq/artifactory | ||
| .. _installation: https://audeering.github.io/audfactory/installation.html | ||
| .. _usage: https://audeering.github.io/audfactory/usage.html | ||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. | ||
| .. badges images and links: | ||
| .. |tests| image:: https://github.com/audeering/audfactory/workflows/Test/badge.svg | ||
| :target: https://github.com/audeering/audfactory/actions?query=workflow%3ATest | ||
| :alt: Test status | ||
| .. |coverage| image:: https://codecov.io/gh/audeering/audfactory/branch/master/graph/badge.svg?token=LGV5O708V3 | ||
| :target: https://codecov.io/gh/audeering/audfactory/ | ||
| :alt: code coverage | ||
| .. |docs| image:: https://img.shields.io/pypi/v/audfactory?label=docs | ||
| :target: https://audeering.github.io/audfactory/ | ||
| :alt: audfactory's documentation | ||
| .. |license| image:: https://img.shields.io/badge/license-MIT-green.svg | ||
| :target: https://github.com/audeering/audfactory/blob/master/LICENSE | ||
| :alt: audfactory's MIT license | ||
| .. |python-versions| image:: https://img.shields.io/pypi/pyversions/audfactory.svg | ||
| :target: https://pypi.org/project/audfactory/ | ||
| :alt: audfactorys's supported Python versions | ||
| Changelog | ||
| ========= | ||
| All notable changes to this project will be documented in this file. | ||
| The format is based on `Keep a Changelog`_, | ||
| and this project adheres to `Semantic Versioning`_. | ||
| Version 1.0.12 (2023-02-17) | ||
| --------------------------- | ||
| * Fixed: ``audfactory.versions()`` | ||
| for server with no access rights | ||
| and ``dohq-artifactory>=0.8`` | ||
| Version 1.0.11 (2023-02-13) | ||
| --------------------------- | ||
| * Fixed: require ``sphinx-audeering-theme>=1.2.1`` | ||
| to ensure the correct theme is used | ||
| Version 1.0.10 (2023-02-13) | ||
| --------------------------- | ||
| * Fixed: support for Python 3.10 | ||
| by requiring ``dohq-artifactory>=0.8.1`` | ||
| Version 1.0.9 (2022-12-23) | ||
| -------------------------- | ||
| * Added: support for Python 3.10 | ||
| * Changed: split API documentation into sub-pages | ||
| for each function | ||
| Version 1.0.8 (2022-01-03) | ||
| -------------------------- | ||
| * Added: Python 3.9 support | ||
| * Removed: Python 3.6 support | ||
| Version 1.0.7 (2021-11-30) | ||
| -------------------------- | ||
| * Changed: extend discussion of authentication | ||
| in usage section of docs | ||
| Version 1.0.6 (2021-09-23) | ||
| -------------------------- | ||
| * Fixed: catch 403 errors inside ``audfactory.versions()`` | ||
| when requesting versions for non-existing paths | ||
| Version 1.0.5 (2021-07-22) | ||
| -------------------------- | ||
| * Fixed: ignore empty strings in ``audfactory.url()`` | ||
| Version 1.0.4 (2021-06-17) | ||
| -------------------------- | ||
| * Changed: expanded the authentication docs for Artifactory | ||
| Version 1.0.3 (2021-03-29) | ||
| -------------------------- | ||
| * Fixed: ``audfactory.versions()`` for missing permissions | ||
| Version 1.0.2 (2021-03-26) | ||
| -------------------------- | ||
| * Fixed: link "Edit on Github" | ||
| Version 1.0.1 (2021-03-26) | ||
| -------------------------- | ||
| * Fixed: Python package metadata | ||
| Version 1.0.0 (2021-03-26) | ||
| -------------------------- | ||
| * Added: support for anonymous Artifactory user access | ||
| * Changed: renamed ``audfactory.artifactory_path()`` to ``audfactory.path()`` | ||
| * Changed: renamed ``audfactory.deploy_artifact()`` to | ||
| ``audfactory.depoy()`` | ||
| * Changed: renamed ``audfactory.download_artifact()`` to | ||
| ``audfactory.download()`` | ||
| * Changed: renamed ``audfactory.server_url()`` to ``audfactory.url()`` | ||
| * Removed: ``audfactory.upload_artifact()`` | ||
| * Removed: ``audfactory.sort_versions()`` | ||
| * Removed: ``audfactory.dependencies()`` | ||
| * Removed: ``audfactory.download_pom()`` | ||
| * Removed: ``audfactory.exclude_dependencies()`` | ||
| * Removed: ``audfactory.include_dependencies()`` | ||
| * Removed: ``audfactory.list_artifacts()`` | ||
| * Removed: ``audfactory.server_pom_url()`` | ||
| * Removed: ``audfactory.transitive_dependencies()`` | ||
| * Removed: ``audfactory.transitive_dependencies_as_string()`` | ||
| * Removed: ``audfactory.pom`` | ||
| Version 0.8.1 (2021-02-09) | ||
| -------------------------- | ||
| * Fixed: use ``audeer.sort_versions()`` in ``audfactory.versions()`` | ||
| Version 0.8.0 (2021-02-09) | ||
| -------------------------- | ||
| * Deprecated: ``audfactory.sort_versions()`` | ||
| * Deprecated: ``audfactory.dependencies()`` | ||
| * Deprecated: ``audfactory.download_pom()`` | ||
| * Deprecated: ``audfactory.exclude_dependencies()`` | ||
| * Deprecated: ``audfactory.include_dependencies()`` | ||
| * Deprecated: ``audfactory.list_artifacts()`` | ||
| * Deprecated: ``audfactory.server_pom_url()`` | ||
| * Deprecated: ``audfactory.transitive_dependencies()`` | ||
| * Deprecated: ``audfactory.transitive_dependencies_as_string()`` | ||
| * Deprecated: ``audfactory.pom`` module | ||
| Version 0.7.2 (2021-01-27) | ||
| -------------------------- | ||
| * Fixed: copyright year in documentation | ||
| Version 0.7.1 (2021-01-27) | ||
| -------------------------- | ||
| * Fixed: sorting of versions for, e.g. ``'10.0.0'`` > ``'9.0.0'`` | ||
| Version 0.7.0 (2021-01-12) | ||
| -------------------------- | ||
| * Added: ``audfactory.checksum()`` | ||
| * Added: ``audfactory.deploy_artifact()`` | ||
| * Added: ``md5``, ``sha1``, ``sha256``, ``parameters`` arguments | ||
| to ``audfactory.upload_artifact()`` | ||
| Version 0.6.3 (2020-10-01) | ||
| -------------------------- | ||
| * Added: official support for Windows | ||
| Version 0.6.2 (2020-09-14) | ||
| -------------------------- | ||
| * Added: extend documentation examples of ``audfactory.Lookup`` | ||
| Version 0.6.1 (2020-09-10) | ||
| -------------------------- | ||
| * Fixed: added documentation for ``audfactory.Lookup.__getitem__()`` | ||
| Version 0.6.0 (2020-09-09) | ||
| -------------------------- | ||
| * Added: static method ``audfactory.Lookup.generate_uid()`` | ||
| to generate UID by hashing a string | ||
| * Fixed: add documentation of attributes for ``audfactory.Lookup`` | ||
| Version 0.5.9 (2020-09-08) | ||
| -------------------------- | ||
| * Added: link to HTML documentation to ``setup.cfg`` | ||
| * Added: cleanup after tests on Artifactory | ||
| Version 0.5.8 (2020-06-22) | ||
| -------------------------- | ||
| * Fixed: repository argument of ``audfactory.list_artifacts()`` | ||
| was ignored before | ||
| Version 0.5.7 (2020-06-22) | ||
| -------------------------- | ||
| * Added: documentation on how to convert ``audfactory.Lookup`` | ||
| to a ``pandas.Dataframe`` | ||
| * Fixed: list string parameters that are not allowed to use as params | ||
| in ``audfactory.Lookup`` | ||
| Version 0.5.6 (2020-06-10) | ||
| -------------------------- | ||
| * Added: ``audfactory.Lookup.columns`` | ||
| * Added: ``audfactory.Lookup.ids`` | ||
| * Added: nice ``repr`` and ``str`` output for ``audfactory.Lookup`` | ||
| * Fixed: check for correct type of lookup parameters | ||
| to avoid storing the same parameter twice in a lookup table | ||
| Version 0.5.5 (2020-06-06) | ||
| -------------------------- | ||
| * Fixed: clear print line without new line | ||
| Version 0.5.4 (2020-06-05) | ||
| -------------------------- | ||
| * Fixed: print line was not cleared at the end of | ||
| ``audfactory.upload_artifact()`` | ||
| and ``audfactory.transitive_dependencies()`` | ||
| Version 0.5.3 (2020-06-02) | ||
| -------------------------- | ||
| * Changed: error message handling in ``audb.download_artifact()`` | ||
| is now handled inside ``dohq-artifactory`` | ||
| * Fixed: broken ``jwt`` dependency due to bug in ``dohq-artifactory`` | ||
| Version 0.5.2 (2020-05-25) | ||
| -------------------------- | ||
| * Fixed: description of ``params`` argument of ``audfactory.Lookup.create()`` | ||
| in the documentation | ||
| Version 0.5.1 (2020-05-20) | ||
| -------------------------- | ||
| * Added: ``audfactory.Lookup`` | ||
| Version 0.5.0 (2020-05-19) | ||
| -------------------------- | ||
| * Added: error messages to ``audb.download_artifact()`` | ||
| * Added: error handling to ``audfactory.download_pom()`` | ||
| * Changed: replace ``re.match()`` by ``re.search()`` inside | ||
| ``audfactory.exclude_dependencies()`` | ||
| and ``audfactory.include_dependencies()`` | ||
| * Changed: ``audfactory.versions()`` now returns empty list if no versions | ||
| are found | ||
| * Fixed: parallel execution of tests | ||
| * Removed: deprecated ``audfactory.rest_api_request()`` | ||
| Version 0.4.2 (2020-05-11) | ||
| -------------------------- | ||
| * Changed: raise error if Artfactory config cannot be found for | ||
| authentication | ||
| Version 0.4.1 (2020-04-22) | ||
| -------------------------- | ||
| * Added: ``audfactory.path_to_group_id()`` | ||
| Version 0.4.0 (2020-04-01) | ||
| -------------------------- | ||
| * Added: test coverage | ||
| * Added: ``audfactory.rest_api_get()`` | ||
| * Added: ``audfactory.`rest_api_search()`` | ||
| * Added: ``audfactory.authentification()`` | ||
| * Deprecated: ``audfactory.rest_api_request()`` | ||
| * Removed: ``audfactory.download_artifacts()`` | ||
| Version 0.3.2 (2020-03-06) | ||
| -------------------------- | ||
| * Fixed: ``audfactory.pom.license()`` now doesn't fail for empty license | ||
| entries | ||
| Version 0.3.1 (2020-02-14) | ||
| -------------------------- | ||
| * Changed: improve progress bars for downloads | ||
| Version 0.3.0 (2020-02-14) | ||
| -------------------------- | ||
| * Added: Python 3.8 support | ||
| * Added: ``audfactory.upload_artifact()`` | ||
| * Added: ``audfactory.download_artifact()`` | ||
| * Changed: add ``repository`` as optional argument instead config value | ||
| * Deprecated: ``audfactory.download_artifacts()`` | ||
| * Removed: Python 3.5 support | ||
| Version 0.2.0 (2020-02-07) | ||
| -------------------------- | ||
| * Added: ``audfactory.sort_versions()`` | ||
| Version 0.1.2 (2020-02-07) | ||
| -------------------------- | ||
| * Changed: add more examples to documentation | ||
| * Fixed: typos in documentation | ||
| Version 0.1.1 (2020-02-07) | ||
| -------------------------- | ||
| * Changed: improve documentation | ||
| Version 0.1.0 (2020-02-06) | ||
| -------------------------- | ||
| * Added: initial release | ||
| .. _Keep a Changelog: | ||
| https://keepachangelog.com/en/1.0.0/ | ||
| .. _Semantic Versioning: | ||
| https://semver.org/spec/v2.0.0.html | ||
| Project-URL: repository, https://github.com/audeering/audfactory/ | ||
| Project-URL: documentation, https://audeering.github.io/audfactory/ | ||
| Keywords: artifactory | ||
| Platform: any | ||
| Classifier: Development Status :: 5 - Production/Stable | ||
@@ -397,6 +42,45 @@ Classifier: Intended Audience :: Science/Research | ||
| 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: Topic :: Scientific/Engineering | ||
| Description-Content-Type: text/x-rst | ||
| License-File: LICENSE | ||
| ========== | ||
| audfactory | ||
| ========== | ||
| |tests| |coverage| |docs| |python-versions| |license| | ||
| audfactory communicates with repositories handled by Artifactory_. | ||
| It was written on top of the dohq-artifactory_ Python package, | ||
| and allows you to deploy and download artifacts | ||
| or collect metadata information | ||
| from repositories. | ||
| Have a look at the installation_ and usage_ instructions. | ||
| .. _Artifactory: https://jfrog.com/artifactory/ | ||
| .. _dohq-artifactory: https://github.com/devopshq/artifactory | ||
| .. _installation: https://audeering.github.io/audfactory/installation.html | ||
| .. _usage: https://audeering.github.io/audfactory/usage.html | ||
| .. badges images and links: | ||
| .. |tests| image:: https://github.com/audeering/audfactory/workflows/Test/badge.svg | ||
| :target: https://github.com/audeering/audfactory/actions?query=workflow%3ATest | ||
| :alt: Test status | ||
| .. |coverage| image:: https://codecov.io/gh/audeering/audfactory/branch/main/graph/badge.svg?token=LGV5O708V3 | ||
| :target: https://codecov.io/gh/audeering/audfactory/ | ||
| :alt: code coverage | ||
| .. |docs| image:: https://img.shields.io/pypi/v/audfactory?label=docs | ||
| :target: https://audeering.github.io/audfactory/ | ||
| :alt: audfactory's documentation | ||
| .. |license| image:: https://img.shields.io/badge/license-MIT-green.svg | ||
| :target: https://github.com/audeering/audfactory/blob/main/LICENSE | ||
| :alt: audfactory's MIT license | ||
| .. |python-versions| image:: https://img.shields.io/pypi/pyversions/audfactory.svg | ||
| :target: https://pypi.org/project/audfactory/ | ||
| :alt: audfactorys's supported Python versions |
+2
-2
@@ -25,3 +25,3 @@ ========== | ||
| :alt: Test status | ||
| .. |coverage| image:: https://codecov.io/gh/audeering/audfactory/branch/master/graph/badge.svg?token=LGV5O708V3 | ||
| .. |coverage| image:: https://codecov.io/gh/audeering/audfactory/branch/main/graph/badge.svg?token=LGV5O708V3 | ||
| :target: https://codecov.io/gh/audeering/audfactory/ | ||
@@ -33,3 +33,3 @@ :alt: code coverage | ||
| .. |license| image:: https://img.shields.io/badge/license-MIT-green.svg | ||
| :target: https://github.com/audeering/audfactory/blob/master/LICENSE | ||
| :target: https://github.com/audeering/audfactory/blob/main/LICENSE | ||
| :alt: audfactory's MIT license | ||
@@ -36,0 +36,0 @@ .. |python-versions| image:: https://img.shields.io/pypi/pyversions/audfactory.svg |
+0
-53
@@ -1,54 +0,1 @@ | ||
| [metadata] | ||
| name = audfactory | ||
| author = Johannes Wagner, Hagen Wierstorf | ||
| author_email = jwagner@audeering.com, hwierstorf@audeering.com | ||
| url = https://github.com/audeering/audfactory/ | ||
| project_urls = | ||
| Documentation = https://audeering.github.io/audfactory/ | ||
| description = Communicate with Artifactory | ||
| long_description = file: README.rst, CHANGELOG.rst | ||
| license = MIT | ||
| license_file = LICENSE | ||
| keywords = artifactory | ||
| platforms = any | ||
| classifiers = | ||
| Development Status :: 5 - Production/Stable | ||
| Intended Audience :: Science/Research | ||
| Intended Audience :: Developers | ||
| License :: OSI Approved :: MIT License | ||
| Operating System :: OS Independent | ||
| Programming Language :: Python | ||
| Programming Language :: Python :: 3 | ||
| Programming Language :: Python :: 3.7 | ||
| Programming Language :: Python :: 3.8 | ||
| Programming Language :: Python :: 3.9 | ||
| Programming Language :: Python :: 3.10 | ||
| Topic :: Scientific/Engineering | ||
| [options] | ||
| packages = find: | ||
| install_requires = | ||
| audeer >=1.11.0 | ||
| dohq-artifactory >=0.8.1 | ||
| setup_requires = | ||
| setuptools_scm | ||
| [tool:pytest] | ||
| addopts = | ||
| --cov=audfactory | ||
| --cov-report term-missing | ||
| --cov-fail-under=100 | ||
| --doctest-plus | ||
| --cov-report xml | ||
| xfail_strict = true | ||
| [flake8] | ||
| exclude = | ||
| .eggs, | ||
| build, | ||
| extend-ignore = | ||
| W503, | ||
| per-file-ignores = | ||
| __init__.py: F401, | ||
| [egg_info] | ||
@@ -55,0 +2,0 @@ tag_build = |
+19
-1
| import os | ||
| import pytest | ||
| import uuid | ||
| import pytest | ||
| import audfactory | ||
@@ -42,1 +43,18 @@ | ||
| cleanup() | ||
| @pytest.fixture(scope='function', autouse=False) | ||
| def no_artifactory_access_rights(): | ||
| current_username = os.environ.get('ARTIFACTORY_USERNAME', False) | ||
| current_api_key = os.environ.get('ARTIFACTORY_API_KEY', False) | ||
| os.environ['ARTIFACTORY_USERNAME'] = 'non-existing-user' | ||
| os.environ['ARTIFACTORY_API_KEY'] = 'non-existing-password' | ||
| yield | ||
| if current_username: | ||
| os.environ["ARTIFACTORY_USERNAME"] = current_username | ||
| else: | ||
| del os.environ['ARTIFACTORY_USERNAME'] | ||
| if current_api_key: | ||
| os.environ['ARTIFACTORY_API_KEY'] = current_api_key | ||
| else: | ||
| del os.environ['ARTIFACTORY_API_KEY'] |
@@ -6,2 +6,3 @@ import os | ||
| import audeer | ||
| import audfactory | ||
@@ -392,1 +393,5 @@ | ||
| assert versions == expected_versions | ||
| def test_versions_no_access(no_artifactory_access_rights): | ||
| assert audfactory.versions(SERVER, REPOSITORY, 'group_id', 'name') == [] |
@@ -8,2 +8,3 @@ import csv | ||
| import audeer | ||
| import audfactory | ||
@@ -10,0 +11,0 @@ |
| name: Flake8 | ||
| on: | ||
| push: | ||
| branches: [ main ] | ||
| pull_request: | ||
| branches: [ main ] | ||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - name: Set up Python 3.8 | ||
| uses: actions/setup-python@v4 | ||
| with: | ||
| python-version: '3.8' | ||
| - name: Install pre-commit hooks | ||
| run: | | ||
| pip install pre-commit | ||
| pre-commit install --install-hooks | ||
| - name: Code style check via pre-commit | ||
| run: | | ||
| pre-commit run --all-files |
-4
| from setuptools import setup | ||
| setup(use_scm_version=True) |
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
40
5.26%1874
0.81%97931
-12.51%