Skip to content

Commit

Permalink
Merge branch 'feature/pixi-global' into docs/pixi-global-manifest
Browse files Browse the repository at this point in the history
  • Loading branch information
ruben-arts authored Oct 9, 2024
2 parents e5911e1 + 876ae69 commit 53d8e18
Show file tree
Hide file tree
Showing 88 changed files with 2,318 additions and 759 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test_exports.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: checkout repo
uses: actions/checkout@v4
- name: setup micromamba
uses: mamba-org/setup-micromamba@v1.9.0
uses: mamba-org/setup-micromamba@v2.0.0
- name: Download binary from build
uses: actions/download-artifact@v4
with:
Expand Down
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

### [0.32.1] - 2024-10-08
#### Fixes
- Bump Rust version to `1.81` by @wolfv in [#2227](https://github.com/prefix-dev/pixi/pull/2227)

#### Documentation
- Pixi-pack, docker, devcontainer by @pavelzw in [#2220](https://github.com/prefix-dev/pixi/pull/2220)

### [0.32.0] - 2024-10-08
#### ✨ Highlights

The biggest fix in this PR is the move to the latest rattler as it came with some major bug fixes for macOS and Rust 1.81 compatibility.

#### Changed
- Correctly implement total ordering for dependency provider by @tdejager in [rattler/#892](https://github.com/conda/rattler/pull/892)

#### Fixed
- Fixed self-clobber issue when up/down grading packages by @wolfv in [rattler/#893](https://github.com/conda/rattler/pull/893)
- Check environment name before returning not found print by @ruben-arts in [#2198](https://github.com/prefix-dev/pixi/pull/2198)
- Turn off symlink follow for task cache by @ruben-arts in [#2209](https://github.com/prefix-dev/pixi/pull/2209)


### [0.31.0] - 2024-10-03
#### ✨ Highlights
Thanks to our maintainer @baszamstra!
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ authors:
name-particle: de
family-names: Jager
email: [email protected]
repository-code: 'https://github.com/prefix-dev/pixi/releases/tag/v0.31.0'
url: 'https://pixi.sh/v0.31.0'
repository-code: 'https://github.com/prefix-dev/pixi/releases/tag/v0.32.1'
url: 'https://pixi.sh/v0.32.1'
abstract: >-
A cross-platform, language agnostic, package/project
management tool for development in virtual environments.
Expand Down
46 changes: 23 additions & 23 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 9 additions & 9 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -90,16 +90,16 @@ typed-path = "0.9.1"

# Rattler crates
file_url = "0.1.4"
rattler = { version = "0.27.14", default-features = false }
rattler_cache = { version = "0.2.5", default-features = false }
rattler_conda_types = { version = "0.28.1", default-features = false }
rattler = { version = "0.27.15", default-features = false }
rattler_cache = { version = "0.2.6", default-features = false }
rattler_conda_types = { version = "0.28.2", default-features = false }
rattler_digest = { version = "1.0.1", default-features = false }
rattler_lock = { version = "0.22.26", default-features = false }
rattler_lock = { version = "0.22.27", default-features = false }
rattler_networking = { version = "0.21.4", default-features = false }
rattler_repodata_gateway = { version = "0.21.16", default-features = false }
rattler_shell = { version = "0.22.3", default-features = false }
rattler_solve = { version = "1.0.10", default-features = false }
rattler_virtual_packages = { version = "1.1.6", default-features = false }
rattler_repodata_gateway = { version = "0.21.17", default-features = false }
rattler_shell = { version = "0.22.4", default-features = false }
rattler_solve = { version = "1.1.0", default-features = false }
rattler_virtual_packages = { version = "1.1.7", default-features = false }

# Bumping this to a higher version breaks the Windows path handling.
url = "2.5.0"
Expand Down Expand Up @@ -142,7 +142,7 @@ license.workspace = true
name = "pixi"
readme.workspace = true
repository.workspace = true
version = "0.31.0"
version = "0.32.1"

[features]
default = ["rustls-tls"]
Expand Down
3 changes: 2 additions & 1 deletion crates/pixi_consts/src/consts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ pub const PYPROJECT_MANIFEST: &str = "pyproject.toml";
pub const PROJECT_LOCK_FILE: &str = "pixi.lock";
pub const CONFIG_FILE: &str = "config.toml";
pub const PIXI_DIR: &str = ".pixi";
pub const PIXI_VERSION: &str = "0.31.0";
pub const PIXI_VERSION: &str = "0.32.1";
pub const PREFIX_FILE_NAME: &str = "pixi_env_prefix";
pub const ENVIRONMENTS_DIR: &str = "envs";
pub const SOLVE_GROUP_ENVIRONMENTS_DIR: &str = "solve-group-envs";
Expand Down Expand Up @@ -41,6 +41,7 @@ lazy_static! {
pub static ref TASK_STYLE: Style = Style::new().blue();
pub static ref PLATFORM_STYLE: Style = Style::new().yellow();
pub static ref ENVIRONMENT_STYLE: Style = Style::new().magenta();
pub static ref EXPOSED_NAME_STYLE: Style = Style::new().yellow();
pub static ref FEATURE_STYLE: Style = Style::new().cyan();
pub static ref SOLVE_GROUP_STYLE: Style = Style::new().cyan();
pub static ref DEFAULT_PYPI_INDEX_URL: Url = Url::parse("https://pypi.org/simple").unwrap();
Expand Down
5 changes: 5 additions & 0 deletions crates/pixi_manifest/src/manifests/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ impl TomlManifest {
Self(document)
}

/// Get or insert a top-level item
pub fn get_or_insert<'a>(&'a mut self, key: &str, item: Item) -> &'a Item {
self.0.entry(key).or_insert(item)
}

/// Retrieve a mutable reference to a target table `table_name`
/// in dotted form (e.g. `table1.table2`) from the root of the document.
/// If the table is not found, it is inserted into the document.
Expand Down
2 changes: 1 addition & 1 deletion crates/pixi_pty/src/unix/pty_session.rs
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ impl PtySession {
/// Returns number of written bytes.
pub fn send_line(&mut self, line: &str) -> io::Result<usize> {
let mut len = self.send(line)?;
len += self.process_stdin.write(&[b'\n'])?;
len += self.process_stdin.write(b"\n")?;
Ok(len)
}

Expand Down
19 changes: 15 additions & 4 deletions crates/pixi_utils/src/executable_utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ mod tests {
#[case::python_windows("python.exe", "python")]
#[case::python3_windows("python3.exe", "python3")]
#[case::python312_windows("python3.12.exe", "python3.12")]
#[case::package010_windows("package0.1.0.bat", "package0.1.0")]
#[case::bash("bash", "bash")]
#[case::zsh59("zsh-5.9", "zsh-5.9")]
#[case::python_312config("python3.12-config", "python3.12-config")]
Expand All @@ -105,9 +106,19 @@ mod tests {
assert_eq!(result, expected);
}

#[test]
fn test_strip_executable_extension() {
let result = strip_executable_extension("python3.12".to_string());
assert_eq!(result, "python3.12");
#[rstest]
#[case::bash("bash", "bash")]
#[case::zsh59("zsh-5.9", "zsh-5.9")]
#[case::python_312config("python3.12-config", "python3.12-config")]
#[case::python3_config("python3-config", "python3-config")]
#[case::package010("package0.1.0", "package0.1.0")]
#[case::x2to3("2to3", "2to3")]
#[case::x2to3312("2to3-3.12", "2to3-3.12")]
fn test_strip_executable_extension(#[case] path: &str, #[case] expected: &str) {
let result = strip_executable_extension(path.into());
assert_eq!(result, expected);
// Make sure running it twice doesn't break it
let result = strip_executable_extension(result);
assert_eq!(result, expected);
}
}
19 changes: 14 additions & 5 deletions docs/Community.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,23 @@ When you want to show your users and contributors that they can use pixi in your
- [MODFLOW 6](https://github.com/MODFLOW-USGS/modflow6): USGS modular hydrological model
- QuantCo:
- [glum](https://github.com/quantco/glum): High performance Python GLMs with all the features!
- [tabmat](https://github.com/quantco/tabmat): Efficient matrix representations for working with tabular data
- [pixi-pack](https://github.com/quantco/pixi-pack): A tool to pack and unpack conda environments created with pixi
- [polarify](https://github.com/Quantco/polarify): Simplifying conditional Polars Expressions with Python 🐍 🐻‍❄️
- [datajudge](https://github.com/Quantco/datajudge): Assessing whether data from database complies with reference information
- [ndonnx](https://github.com/Quantco/ndonnx): ONNX-backed array library that is compliant with the Array API standard
- [multiregex](https://github.com/Quantco/multiregex): Quickly match many regexes against a string
- [polarify](https://github.com/quantco/polarify): Simplifying conditional Polars Expressions with Python 🐍 🐻‍❄️
- [copier-template-python-open-source](https://github.com/quantco/copier-template-python-open-source): Copier template for python projects using pixi
- [datajudge](https://github.com/quantco/datajudge): Assessing whether data from database complies with reference information
- [ndonnx](https://github.com/quantco/ndonnx): ONNX-backed array library that is compliant with the Array API standard
- [multiregex](https://github.com/quantco/multiregex): Quickly match many regexes against a string
- [slim-trees](https://github.com/quantco/slim-trees): Pickle your ML models more efficiently for deployment 🚀
- [metalearners](https://github.com/Quantco/metalearners): MetaLearners for CATE estimation
- [sqlcompyre](https://github.com/quantco/sqlcompyre): Compare SQL tables and databases
- [metalearners](https://github.com/quantco/metalearners): MetaLearners for CATE estimation
- [ndonnx](https://github.com/quantco/ndonnx): ONNX-backed array library that is compliant with the Array API standard
- [tabulardelta](https://github.com/quantco/tabulardelta): Simplify table comparisons
- [pydiverse.pipedag](https://github.com/pydiverse/pydiverse.pipedag): A library for data pipeline orchestration optimizing high development iteration speed
- [pydiverse.transform](https://github.com/pydiverse/pydiverse.transform): Pipe based dataframe manipulation library that can also transform data on SQL databases

- [pixi-pycharm](https://github.com/pavelzw/pixi-pycharm): Conda shim for PyCharm that proxies pixi
- [pixi-diff-to-markdown](https://github.com/pavelzw/pixi-diff-to-markdown): Generate markdown summaries from pixi update
- [jiaxiyang/cpp_project_guideline](https://github.com/jiaxiyang/cpp_project_guideline): Guide the way beginners make their c++ projects.
- [karelze/tclf](https://github.com/KarelZe/tclf): A python library for trade classification⚡
- [hex-inc/vegafusion](https://github.com/hex-inc/vegafusion): Serverside scaling of Vega and Altair visualizations in Rust, Python, WASM, and Java
Expand Down
2 changes: 1 addition & 1 deletion docs/advanced/github_actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ We created [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) to
```yaml
- uses: prefix-dev/[email protected]
with:
pixi-version: v0.31.0
pixi-version: v0.32.1
cache: true
auth-host: prefix.dev
auth-token: ${{ secrets.PREFIX_DEV_TOKEN }}
Expand Down
Loading

0 comments on commit 53d8e18

Please sign in to comment.