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: auvlibrary project intended to be published publicly.private_sample_lib: auvlibrary project never to be published.sample_app: auvapplication project that consumesprivate_sample_appdirectly, and, therefore,public_sample_apptransitively.
- 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 shebangGoals:
- Lint so that incorrectly formatted code fails the build.
Goals:
- Package
sample_appso that it depends onpublic_sample_libnormally, but effectively embedsprivate_sample_libwithin thesample_apppackaged artifact. - Obfuscate the packaged artifact so that it's difficult to reverse engineer
sample_appand the private libraries that it depends on. - Provide
sample_appas WASM and native executables.