aboutcode-org / aboutcode-org/scancode-toolkit

Handling of run-specific temporary directories when using as library

未关闭
#3,431 3 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
new feature
主要语言
Python
星标
2.6k
派生
791
平均合并
1 天 12 小时
30 天内合并 PR
5

描述

## Short Description

Running *scancode* as a library will generate run-specific temporary directories, which are never cleaned up.

## Possible Labels

- new feature

## Select Category

- [X] Enhancement
- [ ] Add License/Copyright
- [ ] Scan Feature
- [ ] Packaging
- [ ] Documentation
- [ ] Expand Support
- [ ] Other

## **Describe the Update**

There is a documented/automated way to clean the temporary directories after each run (or it happens automatically) as soon as they are not used any more.

## **How This Feature will help you/your organization**

Writing custom wrappers around *scancode* functionality without using the CLI requires manual cleanup of temporary directories, which seems to be undocumented and might unnecessarily use/block space on the hard drive.

## **Possible Solution/Implementation Details**

There should be clear documentation for the public(?) API in `scancode.api` that manual cleanup as in https://github.com/nexB/scancode-toolkit/blob/a29ae817d95296146ba8ac5bd94ed043d541cdc6/src/scancode/cli.py#L1021-L1035 is required.

Alternatively, *scancode* should automatically register the corresponding directories for cleanup during exit or provide a corresponding context manager to simplify usage.

## **Example/Links if Any**

I am currently using `atexit.register(fileutils.delete, scancode_config.scancode_temp_dir)` in every parallel processing unit after noticing the behavior.

## **Can you help with this Feature**

Maybe. I am not sure about general use cases, but for now *scancode* does not seem to have any explicit documentation on library usage or on a public API anyway.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。