Binding a mojo version of rust uuid.
🐝 binding uuid-rs for mojo 🔥
Mojo Version
MIT License
Pixi Badge
Contributors Welcome
简体中文 | English
| Project | Package | Host | Rank | Description |
|---|---|---|---|---|
| ✅ uuid-ffi | libuuid_ffi | prefix.dev | ⭐️⭐️⭐️ | uuid-rs ffi package |
| ✅ uuid | uuid | prefix.dev | ⭐️⭐️⭐️⭐️ | uuid-mojo package |
- Import dependencies:
# First add 2 channel sources, including uuid-ffi package and uuid package channels = [ "https://conda.modular.com/max-nightly", "https://repo.prefix.dev/better-ffi", # contains uuid-ffi package "https://repo.prefix.dev/better-mojo", # contains uuid mojo package "conda-forge", ] # Add 2 dependency packages, including uuid-ffi package and uuid package [dependencies] mojo = ">=1.0.0b2.dev2026052215,<2" # FFI dependency libuuid_ffi = ">=0.2.4,<0.3" # Mojo package dependency uuid = ">=0.2.5,<0.3"
- ✅ Simple example:
import uuid def test_uuid() raises: # implement style 1: var id = uuid.uuid_v4() # auto free memory var id2 = uuid.uuid_v7() # auto free memory # implement style 2: var id3 = uuid.gen_uuid_v4() var id4 = uuid.gen_uuid_v7() # auto free memory print(id) print(id2) print(id3) print(id4) def main() raises: test_uuid()
- ✅ Complete example examples/try-uuid
- Includes complete package dependency import methods
# install dependencies pixi install # run pixi run mojo src/main.mojo
- Install Taskfile: build tool
- Install Rust
- Install pixi
- Install rattler-build: package management tool, compile + publish rust binary packages
- Install mojo
task setup
- ✅ Build and debug uuid-ffi package
# run examples task ffi:r # build uuid-ffi package task ffi:b # release uuid-ffi package task ffi:rel
- ✅ Build and debug uuid examples
# run examples
task uuid:r
# release task release:rs task release:mojo # publish to prefix.dev task publish:ffi task publish:mojo
- ✅ Compile and release Linux version, based on
orbstackvirtual machine- Note: each time you need to publish the ffi library for
3 OS versionsto prefix.dev first, then publish the uuid package. (dependency order)
- Note: each time you need to publish the ffi library for
# list available virtual machines orbctl list # connect to linux-aarch64 architecture virtual machine, execute compile + publish orbctl run -m u22dev # connect to linux-64 architecture virtual machine, execute compile + publish orbctl run -m u22build