Add uv-workspace crate with settings discovery and deserialization (#3007)

## Summary

This PR adds basic struct definitions along with a "workspace" concept
for discovering settings. (The "workspace" terminology is used to match
Ruff; I did not invent it.)

A few notes:

- We discover any `pyproject.toml` or `uv.toml` file in any parent
directory of the current working directory. (We could adjust this to
look at the directories of the input files.)
- We don't actually do anything with the configuration yet; but those
PRs are large and I want this to be reviewed in isolation.
This commit is contained in:
Charlie Marsh 2024-04-16 13:56:47 -04:00 committed by GitHub
parent c0efeeddf6
commit 295b58ad37
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 433 additions and 20 deletions

View file

@ -3,6 +3,7 @@ use uv_auth::{self, KeyringProvider};
/// Keyring provider type to use for credential lookup.
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
#[cfg_attr(feature = "clap", derive(clap::ValueEnum))]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
pub enum KeyringProviderType {
/// Do not use keyring for credential lookup.
#[default]