{"id":18440462,"url":"https://github.com/lackhole/ssstl","last_synced_at":"2025-04-07T21:33:14.615Z","repository":{"id":44680852,"uuid":"383221725","full_name":"lackhole/ssstl","owner":"lackhole","description":"SS Standard Template Library. It focuses on implementing high version features for lower versions of C++ ","archived":false,"fork":false,"pushed_at":"2024-06-15T17:58:08.000Z","size":796,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T01:11:49.373Z","etag":null,"topics":["c-plus-plus","cplusplus","cpp","cpp11","cpp14","cpp17","cpp20","modern-cpp","optional","ssstl","stl","type-traits"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lackhole.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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}},"created_at":"2021-07-05T17:45:45.000Z","updated_at":"2024-06-15T17:58:09.000Z","dependencies_parsed_at":"2024-02-23T18:23:35.993Z","dependency_job_id":"bed279a3-1f03-42e6-851b-fb58f802cd6d","html_url":"https://github.com/lackhole/ssstl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lackhole%2Fssstl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lackhole%2Fssstl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lackhole%2Fssstl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lackhole%2Fssstl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lackhole","download_url":"https://codeload.github.com/lackhole/ssstl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247732825,"owners_count":20986935,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["c-plus-plus","cplusplus","cpp","cpp11","cpp14","cpp17","cpp20","modern-cpp","optional","ssstl","stl","type-traits"],"created_at":"2024-11-06T06:30:21.319Z","updated_at":"2025-04-07T21:33:09.600Z","avatar_url":"https://github.com/lackhole.png","language":"C++","readme":"# Note\n## This repository is no longer maintained. Use [`preview`](https://github.com/lackhole/stl-preview) instead.\nhttps://github.com/lackhole/stl-preview\n\n-----\n\n\u003cdiv align=\"center\"\u003e\n  \n# SSSTL\nSS Standard Template Library  \nFocusing on implementing high C++ features for low C++(i.e. You can use `ss::optional\u003cT\u003e` in C++11)  \n*Note: This is personal project*\n\n# Build Status\n[![g++](https://github.com/lackhole/ssstl/actions/workflows/gcc.yml/badge.svg)](https://github.com/lackhole/ssstl/actions/workflows/gcc.yml)\n[![clang++](https://github.com/lackhole/ssstl/actions/workflows/clang.yml/badge.svg)](https://github.com/lackhole/ssstl/actions/workflows/clang.yml)\n[![MSVC](https://github.com/lackhole/ssstl/actions/workflows/msvc.yml/badge.svg)](https://github.com/lackhole/ssstl/actions/workflows/msvc.yml)\n[![Emscripten](https://github.com/lackhole/ssstl/actions/workflows/emscripten.yml/badge.svg)](https://github.com/lackhole/ssstl/actions/workflows/emscripten.yml)\n\u003c/div\u003e\n\n# Code Coverage\n\n\u003c!--- \n100%      : brightgreen\n75% ~ 100%: green\n50% ~ 75% : yellowgreen\n25% ~ 50% : yellow\n0% ~ 25%  : orange\n0%        : red\n---\u003e\n\n* ![](https://img.shields.io/badge/not_possible-grey): Impossible to implement with language itself.\n* ![](https://img.shields.io/badge/C++X-100%25-brightgreen): Implemented features of `C++ X` using `C++ Y`(`Y \u003c= X`).\n* ![](https://img.shields.io/badge/C++N-X%25-green)\n  ![](https://img.shields.io/badge/C++N-X%25-yellowgreen)\n  ![](https://img.shields.io/badge/C++N-X%25-yellow)\n  ![](https://img.shields.io/badge/C++N-X%25-orange)\n  ![](https://img.shields.io/badge/C++N-X%25-red): \n  Implementation in progress.\n\n| Concepts library                              | Feature status      | Notes            |\n|-----------------------------------------------|---------------------|------------------|\n| [concepts](status/concepts.md)                | ![][cpp20]![][p007] |                  |\n\n| Coroutines library                            | Feature status                                                        | Notes            |\n|-----------------------------------------------|-----------------------------------------------------------------------|------------------|\n| coroutine                                     | ![][cpp20]![][p000]                                                         |                  |\n\n| Utilities library                              | Feature status                                                                                      | Notes |\n|------------------------------------------------|-----------------------------------------------------------------------------------------------------|-------|\n| [typeinfo](status/typeinfo.md)                 | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000]                     |       |\n| [typeindex](status/typeindex.md)               | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000]                     |       |\n| [type_traits](status/type_traits.md)           | ![][cpp11]![][p100] ![][cpp14]![][p100] ![][cpp17]![][p100] ![][cpp20]![][p064]                     |       |\n| [bitset](status/bitset.md)                     | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000]                     |       |\n| [functional](status/functional.md)             | ![][cpp11]![][p066] ![][cpp14]![][p100] ![][cpp17]![][p020] ![][cpp20]![][p000] ![][cpp23]![][p100] |       |\n| [utility](status/utility.md)                   | ![][cpp11]![][p100] ![][cpp14]![][p100] ![][cpp17]![][p100] ![][cpp20]![][p096]                     |       |\n| [chrono](status/chrono.md)                     | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000]                     |       |\n| [initializer_list](status/initializer_list.md) | ![][cpp11]![][p100]                                                                                 |       |\n| [tuple](status/tuple.md)                       | ![][cpp11]![][p075] ![][cpp14]![][p100] ![][cpp17]![][p100] ![][cpp20]![][p000]                     |       |\n| [any](status/any.md)                           | ![][cpp17]![][p000] ![][cpp20]![][p000]                                                             |       |\n| [optional](status/optional.md)                 | ![][cpp17]![][p100] ![][cpp20]![][p000]                                                             |       |\n| [variant](status/variant.md)                   | ![][cpp17]![][p000] ![][cpp20]![][p000]                                                             |       |\n| [compare](status/compare.md)                   | ![][unknown_]                                                                                       |       |\n| [version](status/version.md)                   | ![][unknown_]                                                                                       |       |\n| [source_location](status/source_location.md)   | ![][impossib]                                                                                       |       |\n| [stacktrace](status/stacktrace.md)             | ![][impossib]                                                                                       |       |\n| [stacktrace](status/stacktrace.md)             | ![][impossib]                                                                                       |       |\n\n\n| Dynamic memory management                      | Feature status                                                        | Notes            |\n|------------------------------------------------|-----------------------------------------------------------------------|------------------|\n| [new](status/new.md)                           | ![][unknown_]                                                         |                  |\n| [memory](status/memory.md)                     | ![][cpp11024] ![][cpp14]![][p100] ![][cpp17]![][p000] ![][cpp20]![][p000] ![][cpp23033] |                  |\n| [scoped_allocator](status/scoped_allocator.md) | ![][unknown_]                                                         |                  |\n| [memory_resource](status/memory_resource.md)   | ![][unknown_]                                                         |                  |\n\n\n| Numeric limits             | Feature status                                                        | Notes            |\n|----------------------------|-----------------------------------------------------------------------|------------------|\n| [limits](status/limits.md) | ![][unknown_]                                                         |                  |\n\n| Error handling                         | Feature status      | Notes            |\n|----------------------------------------|---------------------|------------------|\n| [exception](status/exception.md)       | ![][cpp11]![][p007] |                  |\n| [stdexcept](status/stdexcept.md)       | ![][cpp11]![][p100] |                  |\n| [system_error](status/system_error.md) | ![][unknown_]       |                  |\n| [cerrno](status/cerrno.md)             | ![][unknown_]       |                  |\n\n| Strings library                      | Feature status                                                                  | Notes |\n|--------------------------------------|---------------------------------------------------------------------------------|-------|\n| [string](status/string.md)           | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [string_view](status/string_view.md) | ![][cpp17]![][p000] ![][cpp20]![][p000]                                         |       |\n| [charconv](status/charconv.md)       | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [format](status/format.md)           | ![][cpp20]![][p000]                                                             |       |\n\n| Containers library                       | Feature status                                                                  | Notes |\n|------------------------------------------|---------------------------------------------------------------------------------|-------|\n| [array](status/array.md)                 | ![][cpp11]![][p100] ![][cpp14]![][p100] ![][cpp17]![][p100] ![][cpp20]![][p050] |       |\n| [vector](status/vector.md)               | ![][cpp11]![][p017] ![][cpp20]![][p000]                                         |       |\n| [deque](status/deque.md)                 | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [list](status/list.md)                   | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [forward_list](status/forward_list.md)   | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [set](status/set.md)                     | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [map](status/map.md)                     | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [unordered_set](status/unordered_set.md) | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [unordered_map](status/unordered_map.md) | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [stack](status/stack.md)                 | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [queue](status/queue.md)                 | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [span](status/span.md)                   | ![][cpp20]![][p000]                                                             |       |\n\n| Iterators library              | Feature status                                                                  | Notes |\n|--------------------------------|---------------------------------------------------------------------------------|-------|\n| [iterator](status/iterator.md) | ![][cpp11]![][p038] ![][cpp14]![][p100] ![][cpp17]![][p100] ![][cpp20]![][p006] |       |\n\n| Ranges library                                | Feature status                                                        | Notes            |\n|-----------------------------------------------|-----------------------------------------------------------------------|------------------|\n| [ranges](status/ranges.md)                    | ![][cpp20]![][p000]                                                         |                  |\n\n| Algorithms library               | Feature status                                              | Notes |\n|----------------------------------|-------------------------------------------------------------|-------|\n| [algorithm](status/algorithm.md) | ![][cpp11]![][p015] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [execution](status/execution.md) | ![][unknown_]                                               |       |\n\n| Numerics library               | Feature status                                                                  | Notes |\n|--------------------------------|---------------------------------------------------------------------------------|-------|\n| [complex](status/complex.md)   | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [valarray](status/valarray.md) | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [random](status/random.md)     | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [numeric](status/numeric.md)   | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [ratio](status/ratio.md)       | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n| [bit](status/bit.md)           | ![][unknown_]                                                                   |       |\n| [numbers](status/numbers.md)   | ![][cpp20]![][p000]                                                             |       |\n\n| Localization library         | Feature status                                                        | Notes            |\n|------------------------------|-----------------------------------------------------------------------|------------------|\n| [locale](status/locale.md)   | ![][unknown_]                                                         |                  |\n| [codecvt](status/codecvt.md) | ![][deprecat]                                                         |                  |\n\n| Input/Output library               | Feature status                                                        | Notes            |\n|------------------------------------|-----------------------------------------------------------------------|------------------|\n| [iosfwd](status/iosfwd.md)         | ![][unknown_]                                                         |                  |\n| [ios](status/ios.md)               | ![][unknown_]                                                         |                  |\n| [istream](status/istream.md)       | ![][unknown_]                                                         |                  |\n| [ostream](status/ostream.md)       | ![][unknown_]                                                         |                  |\n| [iostream](status/iostream.md)     | ![][unknown_]                                                         |                  |\n| [fstream](status/fstream.md)       | ![][unknown_]                                                         |                  |\n| [sstream](status/sstream.md)       | ![][unknown_]                                                         |                  |\n| [syncstream](status/syncstream.md) | ![][unknown_]                                                         |                  |\n| [spanstream](status/spanstream.md) | ![][unknown_]                                                         |                  |\n| [strstream](status/strstream.md)   | ![][deprecat]                                                         |                  |\n| [iomanip](status/iomanip.md)       | ![][unknown_]                                                         |                  |\n| [streambuf](status/streambuf.md)   | ![][unknown_]                                                         |                  |\n\n| Filesystem library                 | Feature status                                                        | Notes            |\n|------------------------------------|-----------------------------------------------------------------------|------------------|\n| [filesystem](status/filesystem.md) | ![][impossib]                                                         |                  |\n\n| Regular Expression library | Feature status                                                                  | Notes |\n|----------------------------|---------------------------------------------------------------------------------|-------|\n| [regex](status/regex.md)   | ![][cpp11]![][p000] ![][cpp14]![][p000] ![][cpp17]![][p000] ![][cpp20]![][p000] |       |\n\n| Atomic Operations library  | Feature status                                                        | Notes            |\n|----------------------------|-----------------------------------------------------------------------|------------------|\n| [atomic](status/atomic.md) |  ![][unknown_]                                                        |                  |\n\n| Thread support library                             | Feature status                                                        | Notes            |\n|----------------------------------------------------|-----------------------------------------------------------------------|------------------|\n| [thread](status/thread.md)                         |  ![][unknown_]                                                        |                  |\n| [stop_token](status/stop_token.md)                 |  ![][unknown_]                                                        |                  |\n| [mutex](status/mutex.md)                           |  ![][unknown_]                                                        |                  |\n| [shared_mutex](status/shared_mutex.md)             |  ![][unknown_]                                                        |                  |\n| [future](status/future.md)                         |  ![][unknown_]                                                        |                  |\n| [condition_variable](status/condition_variable.md) |  ![][unknown_]                                                        |                  |\n| [semaphore](status/semaphore.md)                   |  ![][unknown_]                                                        |                  |\n| [latch](status/latch.md)                           |  ![][unknown_]                                                        |                  |\n| [barrier](status/barrier.md)                       |  ![][unknown_]                                                        |                  |\n\n\n[impossib]: https://img.shields.io/badge/not_possible-grey\n[unknown_]: https://img.shields.io/badge/unknown-grey\n[deprecat]: https://img.shields.io/badge/deprecated-grey\n\n[legacy]: https://img.shields.io/badge/legacy-555555\n[cpp11]: https://img.shields.io/badge/C++11-555555\n[cpp14]: https://img.shields.io/badge/C++14-555555\n[cpp17]: https://img.shields.io/badge/C++17-555555\n[cpp20]: https://img.shields.io/badge/C++20-555555\n[cpp23]: https://img.shields.io/badge/C++23-555555\n[cpp26]: https://img.shields.io/badge/C++26-555555\n\n[p000]: https://img.shields.io/badge/0%25-red\n[p001]: https://img.shields.io/badge/1%25-orange\n[p002]: https://img.shields.io/badge/2%25-orange\n[p003]: https://img.shields.io/badge/3%25-orange\n[p004]: https://img.shields.io/badge/4%25-orange\n[p005]: https://img.shields.io/badge/5%25-orange\n[p006]: https://img.shields.io/badge/6%25-orange\n[p007]: https://img.shields.io/badge/7%25-orange\n[p008]: https://img.shields.io/badge/8%25-orange\n[p009]: https://img.shields.io/badge/9%25-orange\n[p010]: https://img.shields.io/badge/10%25-orange\n[p011]: https://img.shields.io/badge/11%25-orange\n[p012]: https://img.shields.io/badge/12%25-orange\n[p013]: https://img.shields.io/badge/13%25-orange\n[p014]: https://img.shields.io/badge/14%25-orange\n[p015]: https://img.shields.io/badge/15%25-orange\n[p016]: https://img.shields.io/badge/16%25-orange\n[p017]: https://img.shields.io/badge/17%25-orange\n[p018]: https://img.shields.io/badge/18%25-orange\n[p019]: https://img.shields.io/badge/19%25-orange\n[p020]: https://img.shields.io/badge/20%25-orange\n[p021]: https://img.shields.io/badge/21%25-orange\n[p022]: https://img.shields.io/badge/22%25-orange\n[p023]: https://img.shields.io/badge/23%25-orange\n[p024]: https://img.shields.io/badge/24%25-orange\n[p025]: https://img.shields.io/badge/25%25-yellow\n[p026]: https://img.shields.io/badge/26%25-yellow\n[p027]: https://img.shields.io/badge/27%25-yellow\n[p028]: https://img.shields.io/badge/28%25-yellow\n[p029]: https://img.shields.io/badge/29%25-yellow\n[p030]: https://img.shields.io/badge/30%25-yellow\n[p031]: https://img.shields.io/badge/31%25-yellow\n[p032]: https://img.shields.io/badge/32%25-yellow\n[p033]: https://img.shields.io/badge/33%25-yellow\n[p034]: https://img.shields.io/badge/34%25-yellow\n[p035]: https://img.shields.io/badge/35%25-yellow\n[p036]: https://img.shields.io/badge/36%25-yellow\n[p037]: https://img.shields.io/badge/37%25-yellow\n[p038]: https://img.shields.io/badge/38%25-yellow\n[p039]: https://img.shields.io/badge/39%25-yellow\n[p040]: https://img.shields.io/badge/40%25-yellow\n[p041]: https://img.shields.io/badge/41%25-yellow\n[p042]: https://img.shields.io/badge/42%25-yellow\n[p043]: https://img.shields.io/badge/43%25-yellow\n[p044]: https://img.shields.io/badge/44%25-yellow\n[p045]: https://img.shields.io/badge/45%25-yellow\n[p046]: https://img.shields.io/badge/46%25-yellow\n[p047]: https://img.shields.io/badge/47%25-yellow\n[p048]: https://img.shields.io/badge/48%25-yellow\n[p049]: https://img.shields.io/badge/49%25-yellow\n[p050]: https://img.shields.io/badge/50%25-yellowgreen\n[p051]: https://img.shields.io/badge/51%25-yellowgreen\n[p052]: https://img.shields.io/badge/52%25-yellowgreen\n[p053]: https://img.shields.io/badge/53%25-yellowgreen\n[p054]: https://img.shields.io/badge/54%25-yellowgreen\n[p055]: https://img.shields.io/badge/55%25-yellowgreen\n[p056]: https://img.shields.io/badge/56%25-yellowgreen\n[p057]: https://img.shields.io/badge/57%25-yellowgreen\n[p058]: https://img.shields.io/badge/58%25-yellowgreen\n[p059]: https://img.shields.io/badge/59%25-yellowgreen\n[p060]: https://img.shields.io/badge/60%25-yellowgreen\n[p061]: https://img.shields.io/badge/61%25-yellowgreen\n[p062]: https://img.shields.io/badge/62%25-yellowgreen\n[p063]: https://img.shields.io/badge/63%25-yellowgreen\n[p064]: https://img.shields.io/badge/64%25-yellowgreen\n[p065]: https://img.shields.io/badge/65%25-yellowgreen\n[p066]: https://img.shields.io/badge/66%25-yellowgreen\n[p067]: https://img.shields.io/badge/67%25-yellowgreen\n[p068]: https://img.shields.io/badge/68%25-yellowgreen\n[p069]: https://img.shields.io/badge/69%25-yellowgreen\n[p070]: https://img.shields.io/badge/70%25-yellowgreen\n[p071]: https://img.shields.io/badge/71%25-yellowgreen\n[p072]: https://img.shields.io/badge/72%25-yellowgreen\n[p073]: https://img.shields.io/badge/73%25-yellowgreen\n[p074]: https://img.shields.io/badge/74%25-yellowgreen\n[p075]: https://img.shields.io/badge/75%25-green\n[p076]: https://img.shields.io/badge/76%25-green\n[p077]: https://img.shields.io/badge/77%25-green\n[p078]: https://img.shields.io/badge/78%25-green\n[p079]: https://img.shields.io/badge/79%25-green\n[p080]: https://img.shields.io/badge/80%25-green\n[p081]: https://img.shields.io/badge/81%25-green\n[p082]: https://img.shields.io/badge/82%25-green\n[p083]: https://img.shields.io/badge/83%25-green\n[p084]: https://img.shields.io/badge/84%25-green\n[p085]: https://img.shields.io/badge/85%25-green\n[p086]: https://img.shields.io/badge/86%25-green\n[p087]: https://img.shields.io/badge/87%25-green\n[p088]: https://img.shields.io/badge/88%25-green\n[p089]: https://img.shields.io/badge/89%25-green\n[p090]: https://img.shields.io/badge/90%25-green\n[p091]: https://img.shields.io/badge/91%25-green\n[p092]: https://img.shields.io/badge/92%25-green\n[p093]: https://img.shields.io/badge/93%25-green\n[p094]: https://img.shields.io/badge/94%25-green\n[p095]: https://img.shields.io/badge/95%25-green\n[p096]: https://img.shields.io/badge/96%25-green\n[p097]: https://img.shields.io/badge/97%25-green\n[p098]: https://img.shields.io/badge/98%25-green\n[p099]: https://img.shields.io/badge/99%25-green\n[p100]: https://img.shields.io/badge/100%25-brightgreen\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flackhole%2Fssstl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flackhole%2Fssstl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flackhole%2Fssstl/lists"}