canonical / canonical/data-science-stack

DSS snap tries to create a `logs` directory in the current working directory

Open
#213 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
37
Forks
10
PR merge metrics
No merged PRs in 30d

Description

### Bug Description

AFAICT, DSS is a strict snap. But, upon running any `dss` command, it tries to create a `logs` directory in the current-working-directory from where the command is run. This is not only not expected, it can cause failures if `dss` does not have access / permissions to write to the current-working-directory.

### To Reproduce

1. `sudo snap install data-science-stack --channel 1.0/edge`
2. `sudo mkdir /tmp/somewhere`
3. `cd /tmp/somewhere`
4. `dss` - Fails

### Environment

- Ubuntu Jammy
`Linux nvidia-dgx-station-c25989 5.15.0-134-generic #145-Ubuntu SMP Wed Feb 12 20:08:39 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux`

### Relevant Log Output

```shell
$ dss
Traceback (most recent call last):
File "/snap/data-science-stack/36/bin/dss", line 5, in
from dss.main import main
File "/snap/data-science-stack/36/lib/python3.10/site-packages/dss/main.py", line 4, in
from dss.create_notebook import create_notebook
File "/snap/data-science-stack/36/lib/python3.10/site-packages/dss/create_notebook.py", line 19, in
from dss.remove_notebook import remove_notebook
File "/snap/data-science-stack/36/lib/python3.10/site-packages/dss/remove_notebook.py", line 8, in
from dss.utils import does_notebook_exist
File "/snap/data-science-stack/36/lib/python3.10/site-packages/dss/utils.py", line 21, in
logger = setup_logger("logs/dss.log")
File "/snap/data-science-stack/36/lib/python3.10/site-packages/dss/logger.py", line 52, in setup_logger
os.makedirs(os.path.dirname(log_file_path))
File "/usr/lib/python3.10/os.py", line 225, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: 'logs'
```

### Additional Context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.