AcademySoftwareFoundation / AcademySoftwareFoundation/rez
add Application class
- 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
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