Skip to content

Handling of run-specific temporary directories when using as library #3431

Description

@stefan6419846

Short Description

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

Possible Labels

  • new feature

Select Category

  • 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions