astral-uv:zb/auth-async

Last commit made on 2024-04-17
Get this branch:
git clone -b zb/auth-async https://git.launchpad.net/astral-uv

Branch merges

Branch information

Name:
zb/auth-async
Repository:
lp:astral-uv

Recent commits

cbd9653... by Zanie Blue <email address hidden>

Update the credentials cache to use an async mutex

01532d9... by Zanie Blue <email address hidden>

Add integration test coverage for netrc authentication (#3068)

Closes https://github.com/astral-sh/uv/issues/2465

aea8b0a... by Charlie Marsh <email address hidden>

Rename `--compile` to `--compile-bytecode` (#3102)

## Summary

With an alias for backwards compatibility. It's clearer and matches the
setting in the TOML configuration (where `compile` was deemed too
vague).

67d879d... by Charlie Marsh <email address hidden>

Add integration tests for configuration discovery (#3082)

f846fdc... by Charlie Marsh <email address hidden>

Add negation flags to the CLI (#3050)

## Summary

Now that we can pick up configuration values from persistent files, we
need to enable users to _disable_ those values from the CLI. For
example, if a user has `emit_index_url = true` in the configuration
file, they should be able to do `--no-emit-index-url` on the
command-line. This PR adds support for such negations, following the
same patterns we use in Ruff.

dfccdb0... by Charlie Marsh <email address hidden>

Enable global configuration files (#3049)

## Summary

Enables `uv` to read configuration from (e.g.)
`/Users/crmarsh/.config/uv/uv.toml` on macOS and Linux, and
`C:\Users\Charlie\AppData\Roaming\uv\uv.toml` on Windows.

This differs slightly from Ruff, which uses the `Application Support`
directory on macOS. But I've deviated here. based on the preferences
expressed in https://github.com/astral-sh/ruff/issues/10739.

c6e75f8... by Charlie Marsh <email address hidden>

Add `--config-file` support (#3047)

## Summary

Users can now pass a config file on the command line, e.g., with
`--config-file /path/to/file.py`.

7fb2bf8... by Charlie Marsh <email address hidden>

Add JSON Schema support (#3046)

## Summary

This PR adds JSON Schema support. The setup mirrors Ruff's own.

7c5b13c... by Zanie Blue <email address hidden>

Add integration test coverage for keyring authentication (#3067)

Closes https://github.com/astral-sh/uv/issues/2464

e5d4ea5... by Charlie Marsh <email address hidden>

Merge workspace settings with CLI settings (#3045)

## Summary

This PR adds the structs and logic necessary to respect settings from
the workspace. It's a ton of code, but it's mostly mechanical. And,
believe it or not, I pulled out a few refactors in advance to trim down
the code and complexity.

The highlights are:

- All CLI arguments are now `Option`, so that we can detect whether they
were provided (i.e., we can't let Clap fill in the defaults).
- We now have a `*Settings` struct for each command, which merges the
CLI and workspace options (e.g., `PipCompileSettings`).

I've only implemented `PipCompileSettings` for now. If approved, I'll
implement the others prior to merging, but it's very mechanical and I
both didn't want to do the conversion prior to receiving feedback _and_
realized it would make the PR harder to review.