{"id":51613371,"url":"https://github.com/stuarthayhurst/libtangle","last_synced_at":"2026-07-12T10:31:13.186Z","repository":{"id":365357343,"uuid":"1257358745","full_name":"stuarthayhurst/libtangle","owner":"stuarthayhurst","description":"C++ library to provide a thread pool and synchronised output helpers","archived":false,"fork":false,"pushed_at":"2026-06-17T01:28:11.000Z","size":56,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-06-17T03:20:48.954Z","etag":null,"topics":["cpp","library","thread-pool"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stuarthayhurst.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"stuarthayhurst","ko_fi":"stuarthayhurst","custom":"https://paypal.me/stuartahayhurst"}},"created_at":"2026-06-02T15:50:52.000Z","updated_at":"2026-06-17T01:28:15.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/stuarthayhurst/libtangle","commit_stats":null,"previous_names":["stuarthayhurst/libtangle"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/stuarthayhurst/libtangle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuarthayhurst%2Flibtangle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuarthayhurst%2Flibtangle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuarthayhurst%2Flibtangle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuarthayhurst%2Flibtangle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stuarthayhurst","download_url":"https://codeload.github.com/stuarthayhurst/libtangle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuarthayhurst%2Flibtangle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35390360,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-12T02:00:06.386Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","library","thread-pool"],"created_at":"2026-07-12T10:31:12.706Z","updated_at":"2026-07-12T10:31:13.181Z","avatar_url":"https://github.com/stuarthayhurst.png","language":"C++","funding_links":["https://github.com/sponsors/stuarthayhurst","https://ko-fi.com/stuarthayhurst","https://paypal.me/stuartahayhurst"],"categories":[],"sub_categories":[],"readme":"## libtangle\n  - C++ library to provide a thread pool and synchronised output helpers\n  - Originally written as part of [Ammonite](https://github.com/stuarthayhurst/ammonite-engine), extracted here\n\n## Building + installing libtangle:\n  - `make library`\n  - `sudo make install`\n  - Optionally, run `sudo make headers` to install the headers\n\ncomment on header installation as optional for dev\n\n## Build system:\n  - ### Targets:\n    - `build` and `library` support `-j[CORE COUNT]`\n    - `make build` - Builds the library and tests\n    - `make library` - Builds `build/libtangle.so`\n    - `make install` - Installs `libtangle.so` to the system\n    - `make headers` - Installs libtangle headers and `tangle.pc` to the system\n    - `make uninstall` - Removes installed library and headers\n      - Custom install locations must be specified the same way as they were installed\n    - `make clean` - Cleans the build area (`build/`)\n  - All targets and optional flags are documented [here](docs/CONTRIBUTING.md#build-system)\n  - Set the environment variable `PREFIX_DIR` to configure the base install path\n    - The `install`, `headers` and `uninstall` targets have additional path options\n\n## Dependencies:\n  - Package names are correct for Debian, other distros may vary\n  - `make`\n  - `pkgconf`\n  - `coreutils`\n  - `python3`\n  - `g++ (16+)` **OR** `clang++ (19+)`\n    - If using clang++, use `CXX=\"clang++\" make [TARGET]`\n      - `USE_LLVM_CPP=true` might be useful for systems without (a new enough) GCC\n    - When swapping between different compilers, run `make clean`\n  - ### Linting:\n    - `clang-tidy (22+)`\n\n## Licence:\n  - This project is available under the terms of the MIT License\n    - These terms can be found in `LICENCE.txt`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuarthayhurst%2Flibtangle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstuarthayhurst%2Flibtangle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuarthayhurst%2Flibtangle/lists"}