AcademySoftwareFoundation / AcademySoftwareFoundation/rez

add Application class

Open
#1,043 3 comments 0 reactions 0 assignees View on GitHub
api enhancement
Dominant language
Python
Stars
1.1k
Forks
374
Avg merge
9d 12h
Merged PRs (30d)
5

Description

Related: https://github.com/nerdvegas/rez/issues/809, https://github.com/nerdvegas/rez/issues/1033

Currently some rez state is stored globally. Specifically:
* Package / package repo cached state. Specifically, rez will not see newly released packages until you either start a new python session, or explicitly call `clear_caches`.
* The config is global.

It would be better to introduce the concept of an 'application instance'. This would allow you to manage multiple different configurations of rez within the one py proc for eg. Backwards compatibility would be achieved by there being a default global app instance.

Note that I don't think this is technically a difficult thing to do, but it would touch a lot of code and be fairly disruptive. It would probably take a while to implement this change.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by reading related issues #809 and #1033, then map the globally stored package, repository, and configuration state; done means rez supports multiple configurations in one Python process while retaining a default global instance for compatibility.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.