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.
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.
Better configuration for less
Write complex configurations. Modular, correct and boilerplate-free.
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.
The universal code formatter
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.
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.
Python dependency checker
FawltyDeps is a dependency checker for Python that finds undeclared and/or unused 3rd-party dependencies in your Python project. The name is inspired by the Monty Python-adjacent Fawlty Towers sitcom.
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 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.
Shell rules for Bazel
This project extends Bazel with a toolchain for common shell commands.
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.
A tool for visualising and exploring Bazel Skyframe graphs. Has support for arbitrary dot graphs too.