Add installer and clean up repo hygiene - #11
Merged
Conversation
The .pyc files under glean_code/ and tests/ were committed before the __pycache__/ ignore rule existed, so .gitignore never applied to them. Removes all 35 tracked artifacts. Also adds two ignore rules: - .metadata_never_index, which stops macOS Spotlight indexing the repo (the tracked .pyc files were hijacking Cmd+Space searches for "glean") - build.noindex/, the zipapp build output directory Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
barkz added a commit
that referenced
this pull request
Aug 16, 2026
* Add a Highlights section to the README Three bullets under the screenshot covering what landed recently, each linked to its PR and squashed merge commit: - installer and macOS Spotlight app (#11, e46d517) - OpenAPI incompatibility audit (#10, f81902d) - repo hygiene and stale-doc fixes (#12, 17199b5) Also adds Highlights to the Contents list. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Rename README 'What you get' section to 'Overview' Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
install.py, a stdlib-only installer, and cleans up repo hygiene.Installer
python3 install.pybuilds a single-file zipapp (~84 KB, no dependencies) andinstalls it as
gleanin~/.local/bin. On macOS it also creates~/Applications/Glean.appand registers it with LaunchServices.That last part fixes a real problem: Spotlight was matching
.pycand.pyzfiles for "glean" and failing with "There is no application set to open the
document", because those file types have no registered handler. Application
bundles always outrank documents in Spotlight, so
Cmd+Space→ "Glean" nowlaunches the REPL in a Terminal window.
Flags:
--cli-only,--dev(launch from the working tree, no rebuild afteredits),
--prefix DIR,--verify,--uninstall.The bundle is self-contained — the launch script and zipapp live in
Contents/Resources/. Uninstall leaves~/.gleancode/alone.Repo hygiene
__pycache__/*.pycartifacts. They were committed before__pycache__/was added to.gitignore, and.gitignorenever appliesretroactively to already-tracked files.
.metadata_never_indexso Spotlight skips the repo.git/in.gitignoreand drops deadbuild/rules — theinstaller stages in a temp directory, so no in-tree build output exists.
Tests
tests/test_install.pyadds 22 tests: the zipapp builds and runs, caches andeditor cruft stay out of the archive, bundle layout and exec bits,
Info.plistparses via
plistliband declaresAPPL, dev vs snapshot launch modes, and argdispatch. Each test redirects at a temp directory, so real user paths are never
touched.
Suite: 699 → 721 tests, passing on Python 3.9.6 and 3.12.7.
Verified by installing from a
git archiveclone containing no ignored files.Docs
README gains an install section with a flag table; project layout and test
count updated.