Open Source Mindset
Tweag's goal is to democratize state-of-the-art technologies by promoting or developing new open-source frameworks, programming languages, and tools.
We strive to improve developer experience (DX) and data-centric workflows (MLOps). Our engineers are the creators of Nickel, a generic configuration language, and among the top contributors to Nix, Haskell, and Bazel.
We execute the open-source mindset by taking a community-centric approach, addressing bottlenecks to community growth, and engaging in its governance.
Matching the Software Development Lifecycle
We bring together incredibly talented engineers, who are well respected within their communities of practice to contribute something interesting and novel to each step in the SDLC. Alongside the track record of our consulting organization, that means we bring unparalleled skill to your most pressing challenges.
Nix
Many thought leaders of the Nix community are Tweagers. Together with our clients, we contribute much of the technical roadmap, from better reproducibility and performance to new use cases and developer tools.
Nickel
Better configuration for less
Write complex configurations. Modular, correct and boilerplate-free.
rules_haskell
Haskell rules for Bazel
Bazel automates building and testing software. It scales to very large multi-language projects. This project extends Bazel with build rules for Haskell. Get started building your own project using these rules with the setup script below.
Topiary
The universal code formatter
Rust, Tree-sitter
Topiary is a tool in the Tree-sitter ecosystem, designed for formatter authors and formatter users. Authors can create a formatter without having to write their own engine or even their own parser.
Bazel
We were among the first outside of Google to adopt Bazel. We are recognized community experts. We have contributed key features and new programming language support to Bazel. We did this for ourselves and now we can do it for you.
Haskell
We are among the top contributors to GHC, a mature, state-of-the-art compiler for Haskell. Choosing Haskell is a path to more correct, scalable code for industries where mistakes matter. We created language interop with Java, JavaScript, C and R, we make Haskell run in your browser, and do the heavy lifting in your analytics pipelines.
Discover more
HaskellR
The full power of R in Haskell
The HaskellR project provides an environment for efficiently processing data using Haskell or R code, interchangeably. HaskellR allows Haskell functions to seamlessly call R functions and vice versa.
rules_nixpkgs
Rules for importing Nixpkgs packages into Bazel
Use Nix and the Nixpkgs package set to import external dependencies (like system packages) into Bazel hermetically. If the version of any dependency changes, Bazel will correctly rebuild targets, and only those targets that use the external dependencies that changed.
rules_sh
Shell rules for Bazel
This project extends Bazel with a toolchain for common shell commands.
Linear base
Standard library for linear types in Haskell
Linear base is a standard library for developing applications with linear types. It is named linear-base to be an analog to the original base package that ships with GHC. The purpose of linear-base is to provide the minimal facilities you need to write practical Linear Haskell code, i.e., Haskell code that uses the -XLinearTypes language extension.
Skyscope
A tool for visualising and exploring Bazel Skyframe graphs. Has support for arbitrary dot graphs too.