- Allow accepting or rejecting based on
tool_typeby @mvdbeek (PR #167) - Uplift to uv + py310 and parallelize tests by @nuwang (PR #185)
- Update fastapi requirement from <0.119 to <0.121 by @dependabot[bot] (PR #179)
- Add explain flag and merged config dump by @nuwang (PR #184)
- Resubmit lint fix by @abretaud (PR #187)
- Bump setuptools minimum version to 77.0.0 by @nsoranzo (PR #178)
- Fix how inheritance chains are handled between multiple config files by @nuwang (PR #180)
- Fix invalid referrer type by @nuwang (PR #177)
- Match TPVConfig model, return list, not set of strings by @mvdbeek (PR #170)
- Allow floats in GPU related fields by @mvdbeek (PR #173)
- Fix comments under tools: key by @mvdbeek (PR #171)
- Remove the duplicated docs section by @martenson (PR #164)
- Remove pipe synthax only available from py3.10 by @nagoue (PR #165)
- Implement basic version of resource requirements by @mvdbeek (PR #166)
- Fix jinja template missed in packaging step by @nuwang (PR #162)
- Enhancement for dryrun: add --roles and --history-tags arguments by @cat-bro (PR #142)
- Fix test by @bernt-matthias (PR #144)
- Add posibility to load multiple configs from xml job config by @bernt-matthias (PR #143)
- config file combinations by @bernt-matthias (PR #145)
- Fix monitoring of rules in OSX tmpdir by @mvdbeek (PR #147)
- Add pydantic support by @nuwang (PR #136)
- Reformat codebase by @nuwang (PR #137)
- Allow loading tpv rules directly from YAML. by @jmchilton (PR #146)
- Avoid regex, use like in concurrent_job_count_for_tool by @mvdbeek (PR #148)
- Fix inheritance across config files by @nuwang (PR #150)
- Add type checking support to linter by @nuwang (PR #151)
- Add linting support for unexpected fields by @nuwang (PR #152)
- Wrap tool version comparision in a function that checks for None by @cat-bro (PR #155)
- Modernize setup to use pyproject.toml by @nuwang (PR #156)
- Add support for linting multi file tpv configs by @nuwang (PR #158)
- Fix linting of multi-line return type by @nuwang (PR #160)
- Update v3 docs by @nuwang (PR #157)
- Fix tests by @nuwang (PR #138)
- Add lint warning for tools with cores and no mem by @natefoo (PR #140)
- Update shared db short link by @nuwang (PR #128)
- Improved docs by @nuwang (PR #126)
- Add optional slow tests by @nuwang (PR #66)
- Fix get_dataset_size for datasets with null file_size column by @mvdbeek (PR #116)
- Add contributing doc and update readme by @afgane (PR #122)
- Add readthedocs configuration by @nuwang (PR #121)
- Add to to_dict functions to Destination and TagSetManager classes by @pauldg (PR #119)
- Add a helper to get the object store ids and the datasets size for every dataset in a job by @sanjaysrikakulam (PR #125)
- Fix legacy version parsing by using Galaxy's version parsing if available by @bgruening (PR #112)
- Fix E721 for type comparison by @mvdbeek (PR #113)
- Add two tests around destination inheritance (one fails) + fix by @cat-bro, @nuwang (PR #110)
- fix resubmission tests by @bernt-matthias (PR #78)
- Fix issue with how default inheritance is applied to multiple files by @nuwang (PR #105)
- Fix evaluation to support resource clamping by @nuwang (PR #107)
- When regex compilation fails, log what was attempting to be compiled by @natefoo (PR #97)
- Add helper for tool version equality comparison by @sanjaysrikakulam (PR #98)
- Match cores, mem and gpus whenever they are defined by @kysrpex (PR #99)
- Modify linter to flag regex errors by @nuwang (PR #102)
- Create dependabot.yml by @nuwang (PR #103)
- Add id to mock_galaxy.User by @kysrpex (PR #96)
- Fix dry run tool version by @cat-bro (PR #94)
- Fix formatter ordering of inherits field by @nuwang (PR #90)
- Add helpers for tool version comparison by @cat-bro (PR #91)
- Fix dry run user by @cat-bro (PR #92)
- Failing test for pulsar user scenario by @cat-bro and @nuwang (PR #93)
- A role rule has no access to a tool's scheduling tags by @cat-bro (PR #89)
- Add helper for checking entity tags within a tpv rule by @cat-bro (PR #86)
- Remove condition from tpv packaging by @nuwang (PR #87)
- refactor: remove unnecessary overrides of superclass __init__ by @nuwang (PR #88)
- Automatically convert envs to string, but make sure params are preserved by @nuwang (PR #73)
- Fix indentation by @bernt-matthias in (PR #76)
- Convert env to a list compatible with Galaxy job conf by @natefoo in (PR #79)
- Fix missing app.config.is_set() in mock config for dry-run by @natefoo in (PR #80)
- Refactor and fix dryrun by @nuwang in (PR #82)
- Add initializer to handle empty sequence when reducing by @nuwang in (PR #84)
- create __init__.py in tpv core test folder by @bgruening (PR #70)
- Add a tpv dry-run subcommand by @natefoo (PR #52)
- Simplify TPV by disambiguating terms by @nuwang (PR #58)
- Additional context params by @nuwang (PR #62)
- Use only TPV defined destinations, ignoring job_conf by @nuwang (PR #63)
- Add support for abstract entities by @nuwang (PR #64)
- Add destination min accepted by @nuwang (PR #67)
- Shared rules inheritance test by @cat-bro (PR #68)
- Update github actions by @nuwang (PR #69)
- Avoid deepcopying loader when cloning entities (PR #54)
- Change remaining uses of pyyaml to ruaml.yaml (PR #51)
- Automatic PyPi deployment action (#43)
- Added support for the execute block to change entity properties
- Added link to TPV shared database.
- Added tpv format command for prettying and ordering tpv tool lists
- Support for overriding destination name
- Fix some bugs in context variable handling
- Misc. bug fixes and refactoring
- vortex package and cli renamed to tpv for consistency.
- All matching entity regexes are applied, not just the first. Order of application is in the order of definition.
- When a particular entity type is matched, its definitions are cached, so that future lookups are O(1).
- Support for job resubmission handling, with integration tests for Galaxy,
- Allow destinations to be treated as regular entities, with support for rules and expressions.
- Support for global and local context variables that can be referenced in expressions.
- Improved support for complex jobs param types like dicts and lists, which are now recursively evaluated.
- The "match" clause has been deprecated and renamed to "if", for easier readability of rules.
- When no default mapping for a tool exists, choose the first available destination for a simpler initial experience.
- A sample config file has been added to provide a starting point for new TPV users.
- Initial PyPi release of total-perspective-vortex.
- Basic usage docs and examples.
- 94% test coverage.