{"repo":"maelstrom-software/maelstrom","free":true,"listed":false,"github":"https://github.com/maelstrom-software/maelstrom","clone":"git clone https://github.com/maelstrom-software/maelstrom.git","description":"Maelstrom is a fast Rust, Go, and Python test runner that runs every test in its own container. Tests are either run locally or distributed to a clustered job runner.","language":"Rust","stars":733,"topics":["containers","distributed-systems","rust","testing","cargo-subcommand","pytest","python","go","golang"],"license":"Apache-2.0","category":"deployment-docker-iac","readme_excerpt":"Maelstrom is a suite of tools for running tests in isolated micro-containers locally on your machine or distributed across arbitrarily large clusters. Maelstrom currently has test runners for Rust, Go, and Python, with more on the way. You might use Maelstrom to run your tests because: It's easy. Maelstrom provides drop-in replacements for cargo test , go test , and pytest . In most cases, it just works with your existing tests with minimal configuration. It's reliable. Maelstrom runs every test isolated in its own lightweight container, eliminating confusing errors caused by inter-test or implicit test-environment dependencies. It's scalable. Maelstrom can be run as a cluster. You can add more worker machines to linearly increase test throughput. It's clean. Maelstrom has built a rootless container implementation (not relying on Docker or RunC) from scratch, in Rust, optimized to be low-overhead and start quickly. It's fast. In most cases, Maelstrom is faster than cargo test or go test , even without using clustering. Maelstrom’s test-per-process model is inherently slower than pytest ’s shared-process model, but Maelstrom provides test isolation at a low performance cost. While our focus thus far has been on running tests, Maelstrom's underlying job execution system is general-purpose. We provide a command line utility to run arbitrary commands, as well a gRPC-based API and Rust bindings for programmatic access and control. The project is currently Linux-only (x86 and ARM),","default_branch":null,"files":null,"tree":[],"storefront":"/r/maelstrom-software","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/maelstrom-software/maelstrom/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}