ContextLab / ContextLab/davos

make smuggled package cache values insensitive to argument order & short/long form

Open
#42 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
TeX
Stars
37
Forks
8
PR merge metrics
No merged PRs in 30d

Description

When the same `smuggle` command is multiple times in the same interpreter session, `davos` avoids re-checking the file system for a local, satisfactory package version, unless something about the command has been changed since it was last run (e.g., the requested version, installer program, VCS URL, etc.). This is done by storing a dict item for each smuggled package in `davos.config.smuggled`, where the key is the package name and the value is a string made by `';'.join()`ing the name of the installer program and all arguments supplied in the onion comment (no onion comment results in just `;`).

This is quick and simple, but ideally it would treat variations in argument order & short/long form as matches.

i.e., running:
```python
smuggle foo # pip: -v foo==0.0.1
```
stores:
```python
davos.config.smuggled['foo'] = 'pip;-v;foo==0.0.1'
```
However, neither of the following would be recognized as previously run, despite being equivalent to the existing cached value:
```python
smuggle foo # pip: foo==0.0.1 -v # new value would be 'pip;foo==0.0.1;-v'

smuggle foo # pip: --verbose foo==0.0.1 # new value would be 'pip;--verbose;foo==0.0.1'
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.