Our Supported Projects
Projects we are actively working on, and the key contributions made by current and past Labs team members. Contributors are listed in alphabetical order of first names.
The Array API means other projects can adopt the NumPy API. For example, NumPy doesn’t offer GPU support, but other projects do. The new Array API we are collaboratively introducing, allows users to use the NumPy API, with a middle layer — the new Array API, and then any other backend you might like.
Working on conda-forge is like gardening. Gardens need constant care. If you don’t keep the maintenance work on a garden, it starts to grow wildly and becomes less pretty, eventually some plants might wither. Similarly, with conda-forge, we provide support for API/ABI compatibility, supporting volunteers, reviewing new submissions for packages, and so on.
SciPy has been at the forefront of Quansight’s work. Five Quansighters are maintainers and seven others are contributors supporting the project.
Backlog reducing is useful for several reasons. From the maintainer's side: it helps maintainers maintain, focus on bigger items, and reduces their cognitive load. From the community's side: a lot of scikit-learn's backlog consist of features and bug fixes that the community has been waiting for. Doing triage and backlog reduction is essential and valuable work.
Our Quansight Jovyans are leading the Jupyter accessibility meetings. It is the longest commitment the project had to accessibility, and the largest number of people gathered to collaborate on this topic so far. The work has encouraged more accessibility reviews in the contributing process.
We brought conda and mamba together for the community by integrating the mamba solver into the conda project. Providing much needed community needs, namely, faster solving times and reduced memory consumption. This is especially true for environments so complex that conda wasn't able to handle them anymore.
In 2021, we added the preferences dialog to the UI, giving users a place to select their preferences and persist them across napari sessions. Since then we have continued to add selections to this dialog over the past year, and it’s been great to see the response and appreciation from the napari users community!
Sometimes a small contribution is extremely meaningful to our users. Aaron's Bounds check was a really good addition! It makes it easier to debug your code, and helps users to avoid segmentation faults (segfaults).
Developing the Spyder IDE is a never-ending but incredibly rewarding job, that has led Spyder to become a widely used IDE for scientific programming and data science with Python. Quansight Labs is proud to continuously sustain Spyder’s development, virtually since its inception.
SymPy is quite large with over 1,000 public functions and methods, but the documentation for parts of SymPy is often lacking. Particularly lacking are high-level user guides and tutorials. Aaron's work is writing new documentation, with a focus on these high-level things.
A fundamental tenet of stdlib is decomposability. Every bit of functionality needs to be independently consumable and composable. Accordingly, one of our big initiatives has been the atomization of stdlib, which has really driven adoption of the project by meeting web developers where they are based on their needs and existing workflows and has allowed us to more fully embrace the web platform as a whole.
Quansight Labs views the Cython project as critical infrastructure, and is working to support it more generously.
The cross-project expertise at Quansight has facilitated a collaboration with SciPy and scikit-learn maintainers on consistent user experience for handling array backends. A few exciting things are work-in-progress, the Array API and array dispatching for example, which will enable running scikit-image on GPUs, or use Dask for large data.
Quansight has a long history of working closely with the HoloViz development team. We have been active with several of their libraries, both as users and contributors and we look forward to working with them again. Their communities are welcoming and engaging, and we were proud to be a part of that. It’s a big part of why we recommend Holoviz tools and teach people to use these libraries.
Support for distributed training was added, which users can leverage via a single line of code, and we are striving to provide a more flexible low-level API that can be particularly useful for researchers.
ndindex includes a hypothesis testing suite to ensure testing and correctness. We're particularly proud of making correctness such a high priority for ndindex, and we hope our users appriciate this as well.
Zarr has implementations across several programming languages and is used in multiple research fields. With so many stakeholders, there is still an ongoing conversation about version 3 of the Zarr spec. Despite the possibility of future revisions, we have implemented the current draft Zarr v3 spec for Zarr-Python in order to advance community discussions, and to begin testing with downstream Python projects such as Dask, Xarray and Napari.