NOTE: This is a work-in-progress!
This directory represents a uv
-based python monorepo root. It uses uv
as its
python package & runtime manager. It is intended to be a working example of a monorepo the best practices of which are
requested to be documented via https://github.com/astral-sh/docs/issues/137.
public_sample_lib
: auv
library project intended to be published publicly.private_sample_lib
: auv
library project never to be published.sample_app
: auv
application project that consumesprivate_sample_app
directly, and, therefore,public_sample_app
transitively.
- macOS:
brew install uv
- Linux: verify source, then
curl -LsSf https://astral.sh/uv/install.sh | sh
- Windows: you're on your own.
If desired, follow shell autocompletion steps.
cd sample_app
uv run sample_app.py # or ./sample_app.py, because it's executable with a shebang
Goals:
- Lint so that incorrectly formatted code fails the build.
Goals:
- Package
sample_app
so that it depends onpublic_sample_lib
normally, but effectively embedsprivate_sample_lib
within thesample_app
packaged artifact. - Obfuscate the packaged artifact so that it's difficult to reverse engineer
sample_app
and the private libraries that it depends on. - Provide
sample_app
as WASM and native executables.