- download a project in a suitable language that claims to do what you need
- read its list of direct dependencies
- implement your own thing using those same libraries
- write your own replacement for any of those libraries that seem more trouble than they're worth.
Indications for when this is likely to go well:
- the top-level piece of software has grown its own configuration language
- the the top-level piece of software has dozens of options for tuning its behaviour
- the maintainers of the top-level piece of software have spun parts of it out as libraries, and they're being used by other people.