AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO

Proposal to remove pystring dependency

Open
#2,256 2 comments 0 reactions 0 assignees View on GitHub
dependencies Modernise (C++17) Needs Discussion
Dominant language
C++
Stars
2.1k
Forks
505
PR merge metrics
No merged PRs in 30d

Description

Our current usage of pystring falls into 2 camps

String manipulation e.g. split, startswith, endswith, splitlines, lstrip etc
Filesystem interaction pystring::os::*

I would propose that this be carried out in 3 stages:

1) Replace string functionality with code based on our own StringUtils (add functionality where needed). We already have some tests for replacing the split() behaviour for example.
2) Replace filesystem interaction by calls to std::filesystem (C++17)
3) Remove all pystring from CMake

Contributor guide

Open the contributing guide

Research direction

Start by locating the existing pystring uses and separating string manipulation from filesystem interaction. Review StringUtils and its split() tests, then assess the proposed std::filesystem and CMake changes. Done means the three replacement stages are complete and pystring is removed from CMake.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.