-
Notifications
You must be signed in to change notification settings - Fork 7
File layout
Zoran Simic edited this page Jul 5, 2023
·
5 revisions
File structure at <base>
installation folder, example ~/.local/bin
::
tree <base>/ # PickleyConfig.base: Base for pickley installs (same folder as pickley)
├─ .pk/ # PickleyConfig.meta: Folder where pickley will manage installations
│ ├─ .cache/ # PickleyConfig.cache: Internal cache folder, can be scrapped any time
│ │ ├─ tox.latest # Latest version as determined by querying pypi
│ │ └─ tox.ping # PackageSpec.ping_path: Ping file used to throttle auto-upgrade checks
│ ├─ audit.log # Activity is logged here
│ ├─ config.json # Optional configuration provided by user
│ ├─ tox.lock # Lock while installation is in progress
│ ├─ tox.manifest.json # PackageSpec.manifest_path: Metadata on current installation
│ └─ tox-2.9.1/ # PackageSpec.active_install_path: Venv containing actual installation
│ ├─ bin/...
│ └─ .manifest.json # Metadata on this installation
├─ pickley -> .pk/pickley-4.0.0/... # pickley itself
└─ tox -> .pk/tox-2.9.1/... # PackageSpec.exe_path(): symlink or self-upgrading wrapper
Pickley tracks what it installed via files in <base>/.pickley/
via a number of files.
/.pickley//.manifest.json contains info as to what is currently installed and some info about when/how it was installed::
{
"entrypoints": {
"tox": "tox:cmdline",
"tox-quickstart": "tox._quickstart:main"
},
"install_info": {
"args": "-P3.9 -dwrap install tox==1.2.3",
"timestamp": "2020-11-01 12:51:01",
"vpickley": "2.3.0"
},
"pinned": "1.2.3",
"settings": {
"delivery": "wrap",
"index": "https://pypi-mirror.mycompany.net/pypi",
"python": "/usr/bin/python3"
},
"version": "1.2.3"
}
/.pickley/.cache/.latest contains info about which version was determined to be
the latest for a given package, this is used to put a cooldown on query pypi via the
auto-upgrade
command::
{
"index": "https://pypi-mirror.mycompany.net/pypi",
"install_info": {
"args": "auto-upgrade mgit",
"timestamp": "2020-11-01 12:51:39",
"vpickley": "2.3.0"
},
"source": "latest",
"version": "1.2.1"
}