{"id":23634906,"url":"https://github.com/karmakrafts/kMMIO","last_synced_at":"2025-11-08T23:30:34.460Z","repository":{"id":269708614,"uuid":"885598619","full_name":"karmakrafts/Multiplatform-mman","owner":"karmakrafts","description":"Lightweight wrapper around mman for Linux, Windows and macOS.","archived":false,"fork":false,"pushed_at":"2025-02-16T00:40:30.000Z","size":208,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-16T01:19:49.662Z","etag":null,"topics":["api","kotlin","kotlin-library","kotlin-multiplatform","kotlin-native","library","linux","macos","memory","memory-management","memory-mapped-file","memory-mapping","mingw","mmio","osx","windows"],"latest_commit_sha":null,"homepage":"https://git.karmakrafts.dev/kk/multiplatform-mman","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karmakrafts.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":"2024-11-08T22:56:16.000Z","updated_at":"2025-02-16T00:45:36.000Z","dependencies_parsed_at":"2025-02-16T01:18:58.219Z","dependency_job_id":"c965efc8-8fb8-420e-91fa-7e0060dfdd4f","html_url":"https://github.com/karmakrafts/Multiplatform-mman","commit_stats":null,"previous_names":["karmakrafts/multiplatform-mman"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmakrafts%2FMultiplatform-mman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmakrafts%2FMultiplatform-mman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmakrafts%2FMultiplatform-mman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmakrafts%2FMultiplatform-mman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karmakrafts","download_url":"https://codeload.github.com/karmakrafts/Multiplatform-mman/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239565649,"owners_count":19660154,"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":["api","kotlin","kotlin-library","kotlin-multiplatform","kotlin-native","library","linux","macos","memory","memory-management","memory-mapped-file","memory-mapping","mingw","mmio","osx","windows"],"created_at":"2024-12-28T05:28:30.772Z","updated_at":"2025-11-08T23:30:34.421Z","avatar_url":"https://github.com/karmakrafts.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Multiplatform mman\n[![](https://git.karmakrafts.dev/kk/multiplatform-mman/badges/master/pipeline.svg)](https://git.karmakrafts.dev/kk/multiplatform-mman/-/pipelines)\n[![](https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Ffiles.karmakrafts.dev%2Fmaven%2Fio%2Fkarma%2Fmman%2Fmultiplatform-mman%2Fmaven-metadata.xml)](https://git.karmakrafts.dev/kk/multiplatform-mman/-/packages)\n\nLightweight wrapper around mman for Kotlin/Native to allow for easy MMIO.\n\n### Platform support\n\n* Windows x64\n* Linux x64\n* Linux arm64\n* macOS x64\n* macOS arm64\n* iOS x64\n* iOS arm64\n* Android Native x64\n* Android Native arm64\n* Android Native arm32\n\n### How to use it\n\nFirst, add a dependency on the library:\n\n```kotlin\nrepositories {\n    maven(\"https://files.karmakrafts.dev/maven\")\n}\n\nkotlin {\n    sourceSets {\n        commonMain {\n            dependencies {\n                implementation(\"io.karma.mman:multiplatform-mman:\u003cversion\u003e\")\n            }\n        }\n    }\n}\n```\n\nAfterwards, you can access all APIs from any native source set:\n\n```kotlin\nimport io.karma.mman.AccessFlags\nimport io.karma.mman.AccessFlags.Companion\nimport io.karma.mman.MemoryRegion\n\nfun main() {\n    MemoryRegion.map(path, AccessFlags.READ + AccessFlags.WRITE).use {\n        it.asSource() // Consume data through a kotlinx.io.Source\n        it.asSink() // Produce data through a kotlinx.io.Sink\n    }\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarmakrafts%2FkMMIO","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarmakrafts%2FkMMIO","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarmakrafts%2FkMMIO/lists"}