HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
trycua
pylume
Python2025–2025
trycua / pylume · Archived

pylume

A lightweight Python library to create, run and manage macOS and Linux virtual machines (VMs) natively on Apple Silicon.

4Distinct people
5Mentions
0Explicit recommenders
63GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A lightweight Python library to create, run and manage macOS and Linux virtual machines (VMs) natively on Apple Silicon.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by 6-hour interval5 dated mentions

Observed mentions: 2025-02-02 11:46:22 UTC to 2025-02-09 14:27:21 UTC.

0122025-02-02 06:00:00 UTC to 2025-02-02 12:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsFeb 2, 06:002025-02-02 12:00:00 UTC to 2025-02-02 18:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-02-02 18:00:00 UTC to 2025-02-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-03 00:00:00 UTC to 2025-02-03 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-03 06:00:00 UTC to 2025-02-03 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-03 12:00:00 UTC to 2025-02-03 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-03 18:00:00 UTC to 2025-02-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 00:00:00 UTC to 2025-02-04 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 06:00:00 UTC to 2025-02-04 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 12:00:00 UTC to 2025-02-04 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 18:00:00 UTC to 2025-02-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-05 00:00:00 UTC to 2025-02-05 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-05 06:00:00 UTC to 2025-02-05 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-05 12:00:00 UTC to 2025-02-05 18:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2025-02-05 18:00:00 UTC to 2025-02-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsFeb 5, 18:002025-02-06 00:00:00 UTC to 2025-02-06 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-06 06:00:00 UTC to 2025-02-06 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-06 12:00:00 UTC to 2025-02-06 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-06 18:00:00 UTC to 2025-02-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-07 00:00:00 UTC to 2025-02-07 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-07 06:00:00 UTC to 2025-02-07 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-07 12:00:00 UTC to 2025-02-07 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-07 18:00:00 UTC to 2025-02-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-08 00:00:00 UTC to 2025-02-08 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-08 06:00:00 UTC to 2025-02-08 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-08 12:00:00 UTC to 2025-02-08 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-08 18:00:00 UTC to 2025-02-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-09 00:00:00 UTC to 2025-02-09 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-09 06:00:00 UTC to 2025-02-09 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-09 12:00:00 UTC to 2025-02-09 18:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsFeb 9, 12:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Feb 2, 06:002025-02-02 06:00:00 UTC2025-02-02 12:00:00 UTC110
Feb 2, 12:002025-02-02 12:00:00 UTC2025-02-02 18:00:00 UTC101
Feb 2, 18:002025-02-02 18:00:00 UTC2025-02-03 00:00:00 UTC000
Feb 3, 00:002025-02-03 00:00:00 UTC2025-02-03 06:00:00 UTC000
Feb 3, 06:002025-02-03 06:00:00 UTC2025-02-03 12:00:00 UTC000
Feb 3, 12:002025-02-03 12:00:00 UTC2025-02-03 18:00:00 UTC000
Feb 3, 18:002025-02-03 18:00:00 UTC2025-02-04 00:00:00 UTC000
Feb 4, 00:002025-02-04 00:00:00 UTC2025-02-04 06:00:00 UTC000
Feb 4, 06:002025-02-04 06:00:00 UTC2025-02-04 12:00:00 UTC000
Feb 4, 12:002025-02-04 12:00:00 UTC2025-02-04 18:00:00 UTC000
Feb 4, 18:002025-02-04 18:00:00 UTC2025-02-05 00:00:00 UTC000
Feb 5, 00:002025-02-05 00:00:00 UTC2025-02-05 06:00:00 UTC000
Feb 5, 06:002025-02-05 06:00:00 UTC2025-02-05 12:00:00 UTC000
Feb 5, 12:002025-02-05 12:00:00 UTC2025-02-05 18:00:00 UTC110
Feb 5, 18:002025-02-05 18:00:00 UTC2025-02-06 00:00:00 UTC000
Feb 6, 00:002025-02-06 00:00:00 UTC2025-02-06 06:00:00 UTC000
Feb 6, 06:002025-02-06 06:00:00 UTC2025-02-06 12:00:00 UTC000
Feb 6, 12:002025-02-06 12:00:00 UTC2025-02-06 18:00:00 UTC000
Feb 6, 18:002025-02-06 18:00:00 UTC2025-02-07 00:00:00 UTC000
Feb 7, 00:002025-02-07 00:00:00 UTC2025-02-07 06:00:00 UTC000
Feb 7, 06:002025-02-07 06:00:00 UTC2025-02-07 12:00:00 UTC000
Feb 7, 12:002025-02-07 12:00:00 UTC2025-02-07 18:00:00 UTC000
Feb 7, 18:002025-02-07 18:00:00 UTC2025-02-08 00:00:00 UTC000
Feb 8, 00:002025-02-08 00:00:00 UTC2025-02-08 06:00:00 UTC000
Feb 8, 06:002025-02-08 06:00:00 UTC2025-02-08 12:00:00 UTC000
Feb 8, 12:002025-02-08 12:00:00 UTC2025-02-08 18:00:00 UTC000
Feb 8, 18:002025-02-08 18:00:00 UTC2025-02-09 00:00:00 UTC000
Feb 9, 00:002025-02-09 00:00:00 UTC2025-02-09 06:00:00 UTC000
Feb 9, 06:002025-02-09 06:00:00 UTC2025-02-09 12:00:00 UTC000
Feb 9, 12:002025-02-09 12:00:00 UTC2025-02-09 18:00:00 UTC202

What Hacker News says

5 sources
We recently open-sourced lume, a CLI built on top Apple's Virtualization and Hypervisor frameworks, built specifically for Apple Silicon to support our future tool-building needs. We're grateful for the overwhelming support from HN and our community on Discord - seeing nearly 2k stars and many open issues in such a short time has been incredible. lume is released under the flexible MIT license and will always remain so to encourage community contributions. Core features: - Run native macOS VMs in 1 command: `lume run macos-sequoia-xcode:latest` - Prebuilt images on https://ghcr.io/trycua (macOS Sequoia, Ubuntu ARM) - Local API server to manage VMs programmatically - A python SDK on [github.com/trycua/pylume](https://github.com/trycua/pylume) What our first users say: - ‘Something like Lume should have been a commodity in the ecosystem muc
Read the rest
h earlier. Thanks for going ahead to change that.’ - ‘I’ve been using Colima for a year now to run desktop docker workloads. It would be nice to be able to remove the extra layer of qemu they use.‘ - ‘Looks interesting! I’ve been playing with UTM to do aarch64 VMs and I even cooked up a little Sinatra server to do some AppleScript to reboot the VM and do some other things on the host. I’ll look at this as a more robust solution as to be completely honest, UTM has left a lot to be desired at least for virtualization.‘ Future directions (as asked by our community and design partners): - Docker-compatible interface for macOS VMs - VM suspension and Snapshot management - GPU passthrough (with Paravirtualized Graphics) - Flexible VM, Images and IPSW locations - Sharing USB devices - Remote SSH commands and more UI automation features Common Questions: How does this differ from lima, UTM and Tart: https://github.com/trycua/lume/issues/10 How to Install macOS from an IPSW Image: https://github.com/trycua/lume/blob/main/docs/FAQ.md#how-to-... How do I install a custom Linux image: https://github.com/trycua/lume/blob/main/docs/FAQ.md#how-do-... Python SDK: [github.com/trycua/pylume](https://github.com/trycua/pylume) Discord for feedback: https://discord.com/invite/5ngXY2Wn
In [dead]
We recently open-sourced lume, a CLI built on top Apple's Virtualization and Hypervisor frameworks, built specifically for Apple Silicon to support our future tool-building needs. We're grateful for the overwhelming support from HN and our community on Discord - seeing nearly 2k stars and many open issues in such a short time has been incredible. lume is released under a flexible MIT license and will always remain so to encourage community contributions. Previous HN post: https://news.ycombinator.com/item?id=42908061 Core features: - Run native macOS VMs in 1 command: lume run macos-sequoia-xcode:latest - Prebuilt images on [ghcr.io/trycua](https://ghcr.io/trycua) (macOS Sequoia, Ubuntu ARM) - Local API server to manage VMs programmatically - A python SDK on [github.com/trycua/pylume](https://github.com/trycua/pylume) What our first users
Read the rest
say: - ‘Something like Lume should have been a commodity in the ecosystem much earlier. Thanks for going ahead to change that.’ - ‘I’ve been using Colima for a year now to run desktop docker workloads. It would be nice to be able to remove the extra layer of qemu they use.‘ - ‘Looks interesting! I’ve been playing with UTM to do aarch64 VMs and I even cooked up a little Sinatra server to do some AppleScript to reboot the VM and do some other things on the host. I’ll look at this as a more robust solution as to be completely honest, UTM has left a lot to be desired at least for virtualization.‘ Future directions (as asked by our community and design partners): - Docker-compatible interface for macOS VMs - VM suspension and Snapshot management - GPU passthrough (with Paravirtualized Graphics) - Flexible VM, Images and IPSW locations - Sharing USB devices - Remote SSH commands and more UI automation features Common Questions: - How does this differ from lima, UTM and Tart: https://github.com/trycua/lume/issues/10 - How to Install macOS from an IPSW Image: https://github.com/trycua/lume/blob/main/docs/FAQ.md#how-to-... - How do I install a custom Linux image: https://github.com/trycua/lume/blob/main/docs/FAQ.md#how-do-... Python SDK: https://github.com/trycua/pylume Discord for feedback: https://discord.com/invite/5ngXY2Wn
In macOS and Linux VMs on Apple Silicon (MIT License)
f-trycua·Feb 5, 2025Submission

Show HN: OSS Python Framework for Running macOS and Linux VMs on Apple Silicon

Building on the momentum of lume, we’re excited to share pylume, a new Python library that makes it easier to manage macOS and Linux virtual machines (VMs) on Apple Silicon directly from your Python code. pylume extends lume's command-line functionality to Python, giving developers the ability to integrate VM management into their Python scripts or applications. Why pylume? While lume makes managing VMs via the command line simple, pylume brings those features to Python, allowing developers to control VMs directly from their code. Here’s why pylume might be useful: • Native Python API: Manage VMs directly with Python code. For example: python import asyncio from pylume import PyLume, ImageRef, VMRunOpts async def main(): async with PyLume() as pylume: # Pull an image image = ImageR
Read the rest
ef("macos-sequoia-xcode", "latest", "ghcr.io", "trycua") await pylume.pull_image(image, "lume-vm") # Run the VM await pylume.run_vm("lume-vm") # Get VM details vm_details = await pylume.get_vm("lume-vm") print("VM Details:", vm_details) # Stop the VM await pylume.stop_vm("lume-vm") if __name__ == '__main__': asyncio.run(main()) • Supports macOS & Linux VMs: Quickly set up prebuilt images from any Github registries with minimal setup time. • Configurability: Adjust VM settings like networking, storage, and more, directly from Python. • One-liner VM Creation: Launch VMs in a single line of code, just like you would with Lume’s CLI. Installation: pip install pylume Why Python? • Automation: Python is great for automation, and with libraries like pyautogui for UI automation, integrating VM management into your workflows allows for testing and automation across different OS environments without needing physical machines. • CI/CD Integration: Pylume can be easily added to CI/CD pipelines to automate testing of software across different operating systems or versions on Apple Silicon. • Testing & Development: Quickly set up isolated environments for testing or development, which is particularly useful for cross-platform development or system-level testing. Feedback & Future Directions: We’d love to hear how you're using pylume! Here’s what we’re working on next: • Enhanced Automation: Adding more tools to simplify and automate complex VM workflows. • More Prebuilt Images: Expanding support for additional OS images and offering pre-built customizations for specific use cases. Links: • Pylume GitHub Repo: https://github.com/trycua/pylume • Lume CLI GitHub Repo: https://github.com/trycua/lume We look forward to your feedback, suggestions, or any issues you come across!
5 points · Open discussion
Yes, lume relies on Apple's Virtualization framework and can run BSD on a Mac with Apple silicon: https://wiki.freebsd.org/AppleSilicon I'll definitely document the option in the README, thanks! On Lima: - Lima focuses on Linux VMs and doesn't support managing macOS VMs. - It is more of a container-oriented way of spinning up Linux VMs. We're still debating whether to go in that direction with lume, but the good news is that it would mostly require tweaking the hooks to expose lume’s core to adopt the containerd standard. I’d love to hear your thoughts - would you find it useful to have a Docker-like interface for starting macOS workloads? Similarly to: https://github.com/qemus/qemu-docker - Still many dependencies on QEMU, which doesn't play well with Apple silicon - while we opted to support only M chips (80-90% of the market cap today)
Read the rest
by relying on the latest Apple Virtualization.Framework bits. On Tart: - We share some similarities when it comes to tart's command-line interface. We extend it and make it more accessible to different frameworks and languages with our local server option (lume serve). We have also an interface for python today: https://github.com/trycua/pylume - Going forward, we'd like to focus more on creating tools around developers, creating tools for automation and extending the available images in our ghcr registry. Stay tuned for more updates next week! - Lastly, lume is licensed under MIT, so you’re free to use it for commercial purposes. Tart, on the other hand, currently uses a Fair Source license.
In Show HN: Lume – OS lightweight CLI for MacOS and Linux VMs on Apple Silicon
GreenGames·Feb 2, 2025Submission

Show HN: Lume – OS lightweight CLI for MacOS and Linux VMs on Apple Silicon

We just open-sourced Lume - a tool we built after hitting walls with existing virtualization options on Apple Silicon. No GUI, no complex stacks - just a single binary that lets you spin up macOS or Linux VMs via CLI or API. Why we built Lume: - Run native macOS VMs in 1 command, using Apple Virtualization.Framework: `lume run macos-sequoia-vanilla:latest` - Prebuilt images on https://ghcr.io/trycua (macOS, Ubuntu on ARM) - API server to manage VMs programmatically `POST /lume/vms` - A python SDK on github.com/trycua/pylume Run prebuilt macOS images in just 1 step: lume run macos-sequoia-vanilla:latest How to Install: brew tap trycua/lume brew install lume You can also download the `lume.pkg.tar.gz` archive from the latest release https://github.com/trycua/lume/releases, extract it, and install the package manually. Local API Server: `lum
Read the rest
e` exposes a local HTTP API server that listens on `http://localhost:3000/lume`, enabling automated management of VMs. lume serve For detailed API documentation, please refer to API Reference(https://github.com/trycua/lume/blob/main/docs/API-Reference....). HN devs - would love raw feedback on the API design and whether this solves your Apple Silicon VM pain points. What would make you replace UTM/Multipass/Docker Desktop with this? Repo: https://github.com/trycua/lume Python SDK: github.com/trycua/pylume Discord for direct feedback: https://discord.gg/8p56E2KJ
309 points · Open discussion

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.