uv/crates
Charlie Marsh a53f697f62
Use tracing for user-facing output (#63)
The setup is now as follows:

- All user-facing logging goes through `tracing` at an `info` leve.
(This excludes messages that go to `stdout`, like the compiled
`requirements.txt` file.)
- We have `--quiet` and `--verbose` command-line flags to set the
tracing filter and format defaults. So if you use `--verbose`, we
include timestamps and targets, and filter at `puffin=debug` level.
- However, we always respect `RUST_LOG`. So you can override the
_filter_ via `RUST_LOG`.

For example: the standard setup filters to `puffin=info`, and doesn't
show timestamps or targets:

<img width="1235" alt="Screen Shot 2023-10-08 at 3 41 22 PM"
src="54ca4db6-c66a-439e-bfa3-b86dee136e45">

If you run with `--verbose`, you get debug logging, but confined to our
crates:

<img width="1235" alt="Screen Shot 2023-10-08 at 3 41 57 PM"
src="c5c1af11-7f7a-4038-a173-d9eca4c3630b">

If you want verbose logging with _all_ crates, you can add
`RUST_LOG=debug`:

<img width="1235" alt="Screen Shot 2023-10-08 at 3 42 39 PM"
src="0b5191f4-4db0-4db9-86ba-6f9fa521bcb6">

I think this is a reasonable setup, though we can see how it feels and
refine over time.

Closes https://github.com/astral-sh/puffin/issues/57.
2023-10-08 15:46:06 -04:00
..
gourgeist Use local copy of gourgeist (#62) 2023-10-08 18:45:08 +00:00
install-wheel-rs Store unzipped wheels in a cache (#49) 2023-10-08 04:04:48 +00:00
pep440-rs Use local versions of PEP 440 and PEP 508 crates (#32) 2023-10-07 00:16:44 +00:00
pep508-rs Use local versions of PEP 440 and PEP 508 crates (#32) 2023-10-07 00:16:44 +00:00
platform-host Use local copy of install-wheel-rs (#34) 2023-10-07 01:43:55 +00:00
platform-tags Use local copy of install-wheel-rs (#34) 2023-10-07 01:43:55 +00:00
puffin-cli Use tracing for user-facing output (#63) 2023-10-08 15:46:06 -04:00
puffin-client Cache environment marker lookups (#55) 2023-10-08 05:31:19 +00:00
puffin-installer Use tracing for user-facing output (#63) 2023-10-08 15:46:06 -04:00
puffin-interpreter Cache environment marker lookups (#55) 2023-10-08 05:31:19 +00:00
puffin-package Skip already-installed dependencies during sync command (#43) 2023-10-07 19:26:45 +00:00
puffin-resolver Use tracing for user-facing output (#63) 2023-10-08 15:46:06 -04:00
wheel-filename Use local copy of install-wheel-rs (#34) 2023-10-07 01:43:55 +00:00
README.md Use local copy of install-wheel-rs (#34) 2023-10-07 01:43:55 +00:00

Crates

pep440-rs

Utilities for interacting with Python version numbers and specifiers.

pep508-rs

Utilities for interacting with PEP 508 dependency specifiers.

platform-host

Functionality for detecting the current platform (operating system, architecture, etc.).

platform-tags

Functionality for parsing and inferring Python platform tags as per PEP 425.

puffin-cli

Command-line interface for the Puffin package manager.

puffin-client

Client for interacting with PyPI-compatible HTTP APIs.

puffin-installer

Functionality for installing Python packages into a virtual environment.

puffin-interpreter

Functionality for detecting and leveraging the current Python interpreter.

puffin-package

Types and functionality for working with Python packages, e.g., parsing wheel files.

puffin-resolver

Functionality for resolving Python packages and their dependencies.

wheel-filename

Functionality for parsing wheel filenames as per PEP 427.