1. 18 Jun, 2022 14 commits
  2. 17 Jun, 2022 8 commits
  3. 16 Jun, 2022 2 commits
    • David Runge's avatar
      Improve documentation for CompressionTypeEnum · e35b5179
      David Runge authored
      repod/common/enums.py:
      Improve the documentation for CompressionTypeEnum to reflect that it is
      now a string based enum with values representing possible file suffixes.
      e35b5179
    • David Runge's avatar
      Rename config helper functions · 707fa43c
      David Runge authored
      repod/config/settings.py:
      Remove the leading underscore from all config helper functions. It
      serves no purpose and they are not exposed when importing from
      repod.config.
      707fa43c
  4. 15 Jun, 2022 6 commits
    • David Runge's avatar
      Use default management repo directory · e823fe2b
      David Runge authored
      repod/config/settings.py:
      Use `repod.config.defaults.MANAGEMENT_REPO` as default directory for the
      `ManagementRepo` model.
      e823fe2b
    • David Runge's avatar
      Remove duplicate models now part of config module · 36ce7cb1
      David Runge authored
      repod/models/config.py:
      Remove config models, as they are now part of repod.config.settings.
      
      repod/models/__init__.py:
      Remove exposure of (now non-existent) config models.
      
      tests/test_models.py:
      Remove tests for config models.
      36ce7cb1
    • David Runge's avatar
      Move settings-only models to config module · 291dd5a6
      David Runge authored
      repod/config/settings.py:
      Copy `Architecture`, `Directory`, `ManagementRepo`, `PackagePool`,
      `PackageRepo`, `SourcePool` to repod.config.settings as they are only
      used in that context.
      
      tests/config/test_settings.py:
      Copy tests for added models.
      291dd5a6
    • David Runge's avatar
      move s · bc39ebd2
      David Runge authored
      bc39ebd2
    • David Runge's avatar
      Consolidate code with new config location · 7cd040aa
      David Runge authored
      repod/config/__init__.py:
      Add init file to expose the `repod.config.settings.Settings`.
      
      repod/config/settings.py:
      Turn imports from `repod.config.defaults` and `repod.models` into
      top-level imports.
      
      repod/files/__init__.py:
      Turn imports from `repod.config.defaults` into top-level imports.
      
      tests/config/test_config.py:
      Adapt import location for `repod.config.settings`.
      7cd040aa
    • David Runge's avatar
      Move configuration related files · a7fcb1a3
      David Runge authored
      Move the configuration related files config.py and defaults.py to a
      dedicated config module to be able to expose only parts of the
      functionality when importing it.
      Move tests to dedicated location for config.
      a7fcb1a3
  5. 14 Jun, 2022 10 commits
    • David Runge's avatar
      Add documentation for .PKGINFO files · 6aa2f8f8
      David Runge authored
      docs/packages/contents.rst:
      Add documentation about .PKGINFO files, including JSON schema for
      PkgInfo.
      6aa2f8f8
    • David Runge's avatar
      Export PkgInfo JSON schema when creating docs · dee3ddc4
      David Runge authored
      tox.ini:
      Also export the PkgInfo JSON schema when creating documentation.
      dee3ddc4
    • David Runge's avatar
      Add .PKGINFO parser · 8f0402bf
      David Runge authored
      repod/files/pkginfo.py:
      Add a .PKGINFO parser, which fully validates files of version 1 and of
      version 2 (with pkgtype).
      
      tests/files/test_pkginfo.py:
      Add unit and integration tests for .PKGINFO parser.
      8f0402bf
    • David Runge's avatar
      Add enums and regexes for pkgtype and extend fixtures · 55d7fbde
      David Runge authored
      repod/common/enums.py:
      Add `PkgTypeEnum` to distinguish different types of pkgtype values.
      Add `pkg_types_for_pkgtype_regex()` to provide a string for the PKGTYPE
      regular expression.
      
      repod/common/regex.py:
      Add the `PKGTYPE` regular expression, which makes use of
      `repod.common.enums.pkg_types_for_pkgtype_regex`.
      
      tests/common/test_regex.py:
      Add tests for PKGTYPE regular expression.
      
      tests/conftest.py:
      Add defaults and specific fixtures for pkgtype.
      Add fixtures for default version.
      Add fixtures for creating .PKGINFO strings and files of version one and
      two.
      55d7fbde
    • David Runge's avatar
      Add SchemaVersionV2 model · 4cb77f1e
      David Runge authored
      repod/common/models.py:
      Add the pydantic model `SchemaVersionV2` to track a schema version two
      in composite models.
      4cb77f1e
    • David Runge's avatar
      Add poetry to packages for readthedocs · f97720a0
      David Runge authored
      .readthedocs.yaml:
      Also install poetry so that all required packages can be installed using
      tox and poetry.
      f97720a0
    • David Runge's avatar
      Use pyalpm's vercmp if it is available · f2419590
      David Runge authored
      repod/common/models.py:
      Attempt to import pyalpm's `vercmp()` and use it in `PkgVer.vercmp()`
      and `Version.vercmp()` instead of the builtin implementation if it is
      available.
      
      tests/common/test_models.py:
      Parametrize tests for `PkgVer.vercmp()` and `Version.vercmp()` further
      so that they can run against pyalpm's `vercmp()` and the builtin
      implementation.
      f2419590
    • David Runge's avatar
      Use poetry in tox again · e2247235
      David Runge authored
      tox.ini:
      Call poetry in tox.ini again, as this way we can ensure to install
      all packages based on the lock file.
      Additionally, this allows to properly and selectively install extras,
      required e.g. by the coverage target (as to not install pyalpm for all
      targets).
      
      .gitlab-ci.yml:
      Install python-poetry to test environment.
      
      pyproject.toml:
      Add setuptools to build requirements because of bug in pip:
      https://github.com/pypa/pip/issues/6100
      e2247235
    • David Runge's avatar
      Add pyalpm as optional extra · fcdf8ad6
      David Runge authored
      pyproject.toml:
      Add pyalpm as optional extra feature.
      
      poetry.lock:
      Update poetry lock file.
      fcdf8ad6
    • David Runge's avatar
      Remove pyalpm from project requirements · 005066dc
      David Runge authored
      pyproject.toml:
      Remove pyalpm from project requirements
      
      poetry.lock:
      Update poetry lock file to not include pyalpm anymore.
      005066dc