<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>QuantCo Engineering Blog</title><description>A developer blog by QuantCo engineers.</description><link>https://tech.quantco.com/</link><item><title>Pull Requests Go Both Ways: Exploiting a Flaw in GitHub Actions Deployment Protection Rules</title><link>https://tech.quantco.com/blog/github-actions-environments/</link><guid isPermaLink="true">https://tech.quantco.com/blog/github-actions-environments/</guid><description>We discovered and responsibly disclosed a vulnerability in GitHub Actions that allowed any collaborator to bypass deployment branch protections and access environment secrets and OIDC tokens — even if none of the repository&apos;s workflows use pull_request_target.</description><pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate><category>github</category><category>security</category><category>github-actions</category><category>vulnerability</category></item><item><title>diffly — A utility package for comparing polars data frames</title><link>https://tech.quantco.com/blog/diffly/</link><guid isPermaLink="true">https://tech.quantco.com/blog/diffly/</guid><description>Introducing diffly, a polars-native Python package to summarize and explore data differences.</description><pubDate>Fri, 06 Feb 2026 00:00:00 GMT</pubDate><category>python</category><category>polars</category><category>data</category></item><item><title>Making the conda(-forge) ecosystem ready for cybersecurity regulations</title><link>https://tech.quantco.com/blog/conda-regulation-support/</link><guid isPermaLink="true">https://tech.quantco.com/blog/conda-regulation-support/</guid><description>We outline the efforts we bring into the conda(-forge) ecosystem to ensure it provides the basic requirements to meet the foudations of many (cyber) regulations</description><pubDate>Thu, 10 Jul 2025 00:00:00 GMT</pubDate><category>conda</category><category>regulation</category><category>eu</category><category>cra</category></item><item><title>dataframely — A declarative, 🐻‍❄️-native data frame validation library</title><link>https://tech.quantco.com/blog/dataframely/</link><guid isPermaLink="true">https://tech.quantco.com/blog/dataframely/</guid><description>We present dataframely, a declarative data frame validation library with first-class support for polars data frames.</description><pubDate>Wed, 16 Apr 2025 00:00:00 GMT</pubDate><category>python</category><category>polars</category><category>data validation</category></item><item><title>Debugging Automated Conda-Forge Feedstock Updates</title><link>https://tech.quantco.com/blog/debug-feedstock-updates/</link><guid isPermaLink="true">https://tech.quantco.com/blog/debug-feedstock-updates/</guid><description>The autotick-bot is a crucial part of the conda-forge packaging ecosystem, but lacked local debugging capabilities. Learn how we addressed this and how to debug your feedstock&apos;s updates.</description><pubDate>Fri, 14 Mar 2025 00:00:00 GMT</pubDate><category>conda</category><category>conda-forge</category><category>autotick-bot</category><category>packaging</category></item><item><title>Automated License Checking for Conda Projects</title><link>https://tech.quantco.com/blog/conda-deny/</link><guid isPermaLink="true">https://tech.quantco.com/blog/conda-deny/</guid><description>How we automatically check our software for license compliance.</description><pubDate>Thu, 24 Oct 2024 00:00:00 GMT</pubDate><category>conda</category><category>license-checking</category><category>pixi</category></item><item><title>Defining ONNX graphs with ndonnx</title><link>https://tech.quantco.com/blog/ndonnx/</link><guid isPermaLink="true">https://tech.quantco.com/blog/ndonnx/</guid><description>ndonnx is an ONNX-backed Python array library that implements the Array API standard. It aims to simplify the transfer of models from research to production.</description><pubDate>Tue, 01 Oct 2024 00:00:00 GMT</pubDate><category>onnx</category><category>array-api</category><category>numpy</category><category>ndonnx</category></item><item><title>Defining ONNX graphs with Spox</title><link>https://tech.quantco.com/blog/spox/</link><guid isPermaLink="true">https://tech.quantco.com/blog/spox/</guid><description>Spox provides an efficient and Pythonic way to define ONNX graphs.</description><pubDate>Tue, 03 Sep 2024 00:00:00 GMT</pubDate><category>onnx</category><category>python</category><category>mlops</category><category>spox</category><category>array-api</category><category>ndonnx</category></item><item><title>Easily compare tabular data with TabularDelta - powered by SQLCompyre</title><link>https://tech.quantco.com/blog/tabular-delta/</link><guid isPermaLink="true">https://tech.quantco.com/blog/tabular-delta/</guid><description>TabularDelta reports table comparisons in different formats for various types of tables and use cases.</description><pubDate>Wed, 14 Aug 2024 00:00:00 GMT</pubDate><category>python</category><category>pandas</category><category>polars</category><category>sqlalchemy</category><category>data</category></item><item><title>Persisting and running machine learning models with ONNX</title><link>https://tech.quantco.com/blog/persisting-models-with-onnx/</link><guid isPermaLink="true">https://tech.quantco.com/blog/persisting-models-with-onnx/</guid><description>Introduction into ONNX, an open-source specification that allows us to persist the state of a trained model as well as its inference logic.</description><pubDate>Fri, 09 Aug 2024 00:00:00 GMT</pubDate><category>onnx</category><category>python</category><category>mlops</category><category>spox</category><category>array-api</category><category>ndonnx</category></item><item><title>MetaLearners for CATE estimation</title><link>https://tech.quantco.com/blog/metalearners/</link><guid isPermaLink="true">https://tech.quantco.com/blog/metalearners/</guid><description>Estimating Conditional Average Treatment Effects with the metalearners library</description><pubDate>Fri, 12 Jul 2024 00:00:00 GMT</pubDate><category>python</category><category>causal-inference</category></item><item><title>Shipping conda environments to production using pixi</title><link>https://tech.quantco.com/blog/pixi-production/</link><guid isPermaLink="true">https://tech.quantco.com/blog/pixi-production/</guid><description>We show how we ship conda environments into production using the pixi package manager. To do that, we introduce a tool called pixi-pack.</description><pubDate>Thu, 11 Jul 2024 00:00:00 GMT</pubDate><category>python</category><category>conda</category><category>pixi</category><category>packaging</category></item><item><title>How QuantCo automatically keeps hundreds of repositories up-to-date</title><link>https://tech.quantco.com/blog/automatic-repo-updating/</link><guid isPermaLink="true">https://tech.quantco.com/blog/automatic-repo-updating/</guid><description>We built a tool to automatically keep all of our repositories up-to-date with the latest best practices and dependency versions.</description><pubDate>Tue, 18 Jun 2024 00:00:00 GMT</pubDate><category>github</category><category>automation</category></item><item><title>High-performance and user-friendly GLMs with glum 3</title><link>https://tech.quantco.com/blog/glum-v3/</link><guid isPermaLink="true">https://tech.quantco.com/blog/glum-v3/</guid><description>The new glum release introduces a formula interface that simplifies preprocessing and offers various enhancements for categorical and mixed sparse and dense data.</description><pubDate>Fri, 07 Jun 2024 00:00:00 GMT</pubDate><category>python</category><category>performance</category><category>glm</category></item><item><title>Automatically transform complex python methods to polars expressions</title><link>https://tech.quantco.com/blog/polarify/</link><guid isPermaLink="true">https://tech.quantco.com/blog/polarify/</guid><description>Tired of writing complicated Polars expressions? polarIFy automatically translates your easy-to-read Python methods into efficient Polars expressions!</description><pubDate>Fri, 25 Aug 2023 00:00:00 GMT</pubDate><category>polars</category><category>python</category><category>ast</category><category>compilers</category></item><item><title>Introducing the multiregex library</title><link>https://tech.quantco.com/blog/multiregex/</link><guid isPermaLink="true">https://tech.quantco.com/blog/multiregex/</guid><description>In this post we discuss how we improved the runtime performance of a text mining step in a machine learning pipeline by a factor of 12.</description><pubDate>Sun, 31 Jul 2022 00:00:00 GMT</pubDate><category>python</category><category>performance</category><category>regex</category></item><item><title>Optimize pickling disk space for deploying scikit-learn trees to production</title><link>https://tech.quantco.com/blog/dtype-reduction-sklearn/</link><guid isPermaLink="true">https://tech.quantco.com/blog/dtype-reduction-sklearn/</guid><description>We present an open source library to shrink pickled scikit-learn and lightgbm models. We will provide insights of how pickling ML models work and how to improve the disk representation. With this approach, we can reduce the deployment size of machine learning applications up to 6x.</description><pubDate>Thu, 23 Jun 2022 00:00:00 GMT</pubDate><category>sklearn</category><category>python</category><category>compression</category><category>pickling</category></item><item><title>Datajudge: A library for data tests across data sources</title><link>https://tech.quantco.com/blog/datajudge/</link><guid isPermaLink="true">https://tech.quantco.com/blog/datajudge/</guid><description>Datajudge is a Python library for expressing and testing expectations against data from database.</description><pubDate>Mon, 20 Jun 2022 00:00:00 GMT</pubDate><category>data</category><category>tests</category></item><item><title>UI component sharing for enterprises</title><link>https://tech.quantco.com/blog/enterprise-ui-components/</link><guid isPermaLink="true">https://tech.quantco.com/blog/enterprise-ui-components/</guid><description>How to properly set up a React UI component library and share it across your organization.</description><pubDate>Thu, 19 May 2022 00:00:00 GMT</pubDate><category>ui</category></item><item><title>Fixing a Snowflake performance issue around introspection</title><link>https://tech.quantco.com/blog/snowflake-testsuite-performance/</link><guid isPermaLink="true">https://tech.quantco.com/blog/snowflake-testsuite-performance/</guid><description>When running the integration test suite of a data validation tool against a Snowflake instance, we saw a massive slow-down compared to Postgres or MS SQL.</description><pubDate>Thu, 12 May 2022 00:00:00 GMT</pubDate><category>snowflake</category><category>python</category><category>sqlalchemy</category><category>integration-tests</category></item><item><title>conda support in pre-commit</title><link>https://tech.quantco.com/blog/conda-in-pre-commit/</link><guid isPermaLink="true">https://tech.quantco.com/blog/conda-in-pre-commit/</guid><description>Developing code involves several tasks that are simple yet repetitive. This includes styling your code (we use `black`) and checking for common issues. These tasks can be easily automated.</description><pubDate>Tue, 10 Mar 2020 00:00:00 GMT</pubDate><category>conda</category><category>python</category><category>pre-commit</category></item></channel></rss>