-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Blog post about moving rattler to the conda organization #211
Merged
Merged
Changes from 2 commits
Commits
Show all changes
20 commits
Select commit
Hold shift + click to select a range
18e0e04
start blog post for rattler move to conda org
wolfv f381a00
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] b1d85a5
Update blog/2024-09-23-rattler-to-conda.mdx
wolfv 712a6e0
Update blog/2024-09-23-rattler-to-conda.mdx
wolfv e8a89a5
Update blog/2024-09-23-rattler-to-conda.mdx
wolfv 241963f
Update blog/2024-09-23-rattler-to-conda.mdx
wolfv 89b44d9
Update blog/2024-09-23-rattler-to-conda.mdx
wolfv b6741cc
Update blog/2024-09-23-rattler-to-conda.mdx
wolfv b50386f
Update blog/2024-09-23-rattler-to-conda.mdx
wolfv 28d80b1
Update blog/2024-09-23-rattler-to-conda.mdx
wolfv 02dea13
Update blog/2024-09-23-rattler-to-conda.mdx
wolfv 0ddf03c
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 1716053
remove double sentence
wolfv 859987a
update blog post
wolfv 0afe99f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] e33cfa8
..
wolfv ca6bede
re-add slug
wolfv 9091eef
fix capitalization
wolfv d2f93eb
..
wolfv d32dc01
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,80 @@ | ||||||
--- | ||||||
title: "Rattler is moving to the conda organization" | ||||||
slug: "rattler-moving-to-conda-org" | ||||||
wolfv marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
authors: [wolfv, baszalmstra] | ||||||
tags: [announcement] | ||||||
description: Rattler, a set of Rust libraries for managing conda environments, is moving to the conda organization. | ||||||
image: img/blog/2024-09-rattler/banner.png | ||||||
--- | ||||||
|
||||||
We're happy to announce that Rattler, a suite of essential Rust crates for Conda package management, has officially joined the Conda Community organization. This move marks a significant milestone in the evolution of the Conda ecosystem. The Conda Community is a multi-stakeholder organization for the Conda ecosystem, and the defining body that sets forth new standards. | ||||||
|
||||||
## What is `rattler`? | ||||||
|
||||||
The rattler crates were originally conceived by [Bas Zalmstra](https://github.com/baszalmstra) and further developed at [prefix.dev](https://prefix.dev). | ||||||
wolfv marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
Originally created by Bas Zalmstra, rattler is a collection of Rust crates that provide powerful tools for handling Conda packages. | ||||||
wolfv marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
Its key features include: | ||||||
|
||||||
- A clean, expressive API for Rust developers | ||||||
- Well-designed Python bindings and documentation | ||||||
- The fastest SAT solver in the Conda ecosystem | ||||||
wolfv marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
Rattler's functionality spans from reading index metadata and searching packages to resolving, downloading, installing, and even writing packages. At [prefix.dev](https://prefix.dev) all next-generation tools for the Conda ecosystem are built upon rattler, such as: | ||||||
|
||||||
- [Pixi](https://pixi.sh): A modern package manager for Conda & PyPI packages | ||||||
- [rattler-build](https://prefix-dev.github.io/rattler-build)): A new and very fast tool for building Conda packages with a community-designed, revamped recipe format | ||||||
wolfv marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
## Adoption and Python bindings | ||||||
|
||||||
Rattler is already widely used to build custom tooling (as is done by large organizations such as [Palantir](https://www.palantir.com/docs/foundry/announcements/2024-06/), [QuantCo](https://github.com/quantco/pixi-pack) and the [Chicago Trading Company](https://github.com/AaronOpfer/conda_curation) among others). | ||||||
|
||||||
The Python bindings to rattler, originally developed by [Tarun Pratap Singh](https://github.com/Wackyator) are one of the easiest way to programmatically deal with Conda packages. They can be installed from [`conda-forge`](https://prefix.dev/channels/conda-forge/packages/py-rattler) or [`pypi`](https://pypi.org/project/py-rattler/)! | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
Let's have a look at an example: | ||||||
|
||||||
```python | ||||||
import asyncio | ||||||
import tempfile | ||||||
from rattler import solve, install, VirtualPackage | ||||||
|
||||||
async def main() -> None: | ||||||
# Let's solve the environment | ||||||
print("started solving the environment") | ||||||
solved_records = await solve( | ||||||
# Channels to use for solving | ||||||
channels=["conda-forge"], | ||||||
# The specs to solve for | ||||||
specs=["python ~=3.12.0", "pip", "requests 2.31.0"], | ||||||
wolfv marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
# Virtual packages define the specifications of the environment | ||||||
virtual_packages=VirtualPackage.detect(), | ||||||
) | ||||||
print("solved required dependencies") | ||||||
|
||||||
# Install the packages into a new environment (or updates it if it already existed). | ||||||
env_path = tempfile.mkdtemp() | ||||||
await install( | ||||||
records=solved_records, | ||||||
target_prefix=env_path, | ||||||
) | ||||||
|
||||||
print(f"created environment: {env_path}") | ||||||
|
||||||
if __name__ == "__main__": | ||||||
asyncio.run(main()) | ||||||
``` | ||||||
|
||||||
## The move to the Conda Community | ||||||
|
||||||
By joining the Conda Community, Rattler now falls under community governance. This transition opens up new opportunities for the wider Conda ecosystem to leverage and contribute to this powerful toolset. The development continues to be led by the team at prefix.dev, ensuring ongoing innovation and support. | ||||||
wolfv marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
## What is the Conda Community | ||||||
wolfv marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
The Conda Community is an open source software community that is engaged in the development of the tooling around conda packages. Members of the conda community are employees of prefix.dev, Anaconda, Quansight, NVidia, Voltron Data and other companies that have a vested interest in the Conda ecosystem. | ||||||
wolfv marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
If you are a tool developer and interested in the capabilities of rattler or py-rattler, you can find the documentation here: | ||||||
wolfv marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
- [Rust documentation for rattler](https://docs.rs/rattler). Note: each create has its own documentation. | ||||||
wolfv marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
- [Documentation for the Python bindings to rattler](https://conda.github.io/rattler/py-rattler/) | ||||||
|
||||||
You can find the authors of rattler on the [prefix.dev Discord](https://discord.gg/kKV8ZxyzY4) - feel free to connect and ask questions! We are – of course – also active on the Conda community channels (such as Element). | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Link to https://conda.org/community#chat here.
wolfv marked this conversation as resolved.
Show resolved
Hide resolved
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please include the date in the slug (or remove this line so the filename is used instead).