{"id":13420362,"url":"https://github.com/mjansson/foundation_lib","last_synced_at":"2026-03-14T01:33:41.812Z","repository":{"id":6366201,"uuid":"7603467","full_name":"mjansson/foundation_lib","owner":"mjansson","description":"Cross-platform public domain foundation library in C providing basic support data types and functions to write applications and games in a platform-independent fashion.","archived":false,"fork":false,"pushed_at":"2023-11-05T16:44:58.000Z","size":6820,"stargazers_count":310,"open_issues_count":2,"forks_count":25,"subscribers_count":29,"default_branch":"main","last_synced_at":"2025-10-10T11:37:25.288Z","etag":null,"topics":["c","cross-platform","platform"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mjansson.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","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":"ROADMAP","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-01-14T11:56:43.000Z","updated_at":"2025-10-06T06:46:26.000Z","dependencies_parsed_at":"2023-02-16T23:16:01.129Z","dependency_job_id":"ccd2cb49-dd17-42bc-a121-a2e0b7404bfb","html_url":"https://github.com/mjansson/foundation_lib","commit_stats":{"total_commits":1643,"total_committers":12,"mean_commits":"136.91666666666666","dds":0.09007912355447356,"last_synced_commit":"7d90581dc602540a9d7e7f65543fc406f93ee758"},"previous_names":["rampantpixels/foundation_lib"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/mjansson/foundation_lib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjansson%2Ffoundation_lib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjansson%2Ffoundation_lib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjansson%2Ffoundation_lib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjansson%2Ffoundation_lib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mjansson","download_url":"https://codeload.github.com/mjansson/foundation_lib/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjansson%2Ffoundation_lib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003712,"owners_count":26083610,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"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":["c","cross-platform","platform"],"created_at":"2024-07-30T22:01:32.083Z","updated_at":"2025-10-10T11:37:25.489Z","avatar_url":"https://github.com/mjansson.png","language":"C","readme":"# Foundation Library  -  Public Domain\n\nThis library provides a cross-platform foundation library in C providing basic support data types and\nfunctions to write applications and games in a platform-independent fashion. It provides:\n\n* Abstractions and unification of basic data types\n* Pluggable memory management\n* Threads and synchronization\n* Atomic operations\n* Timing and profiling\n* Object lifetime management\n* Events processing\n* File system access\n* Dynamic library loading\n* Process spawning\n* Logging, error reporting and asserts\n* String handling in UTF-8 and UTF-16\n* Murmur hasing and statically hashed strings\n* Math support for 32 and 64 bit floats\n* JSON/SJSON parser\n* SHA256/SHA512 digest\n* Application, environment and system queries and control\n* Regular expressions\n* Exception utilities (SEH, signals)\n\nIt is written with the following API design principles in mind:\n\n* Consistent. All functions, parameters and types should follow a well defined pattern in order to make it easy to remember how function names are constructed and how to pass the expected parameters.\n* Orthogonal. A function should not have any side effects, and there should be only one way to perform an operation in the system.\n* Specialized. A function in an API should perform a single task. Functions should not do completely different unrelated tasks or change behaviour depending on the contents of the variables passed in.\n* Compact. The API needs to be compact, meaning the user can use it without using a manual. Note though that \"compact\" does not mean \"small\". A consistent naming scheme makes the API easier to use and remember.\n* Contained. Third party dependencies are kept to an absolute minimum and prefer to use primitive or well-defined data types.\n\nPlatforms and architectures currently supported:\n\n* Windows (x86, x86-64), Vista or later\n* MacOS X (x86-64), 10.7+\n* Linux (x86, x86-64, PPC, ARM)\n* FreeBSD (x86, x86-64, PPC, ARM)\n* iOS (ARMv7, ARMv7s, ARMv8/AArch64), 6.0+\n* Android (ARMv6, ARMv7, ARMv8/AArch64, x86, x86-64, MIPS, MIPS64)\n* Raspberry Pi (ARMv6)\n\nDiscord server for discussions\nhttps://discord.gg/M8BwTQrt6c\n\nThe latest source code maintained by Mattias Jansson is always available at  \n\u003chttps://github.com/mjansson/foundation_lib\u003e\n\nMain branch is used for development. Releases are tags on main branch.\n\u003chttps://github.com/mjansson/foundation_lib/releases\u003e\n\nCross-platform build system uses Ninja  \n\u003chttps://ninja-build.org/\u003e\n\nThis library is put in the public domain; you can redistribute it and/or modify it without any restrictions.\n\n\nCreated by Mattias Jansson ([@maniccoder](https://twitter.com/maniccoder))\n","funding_links":[],"categories":["TODO scan for Android support in followings","C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjansson%2Ffoundation_lib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmjansson%2Ffoundation_lib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjansson%2Ffoundation_lib/lists"}