| CARVIEW |
glean: A system for collecting, deriving and working with facts about source code.
library glean:glass-lib
Modules
- Glean
- Glass
- Glean.Glass.Annotations
- Glean.Glass.Attributes
- Glean.Glass.Attributes.Class
- Glean.Glass.Attributes.SymbolKind
- Glean.Glass.Base
- Glean.Glass.Comments
- Glean.Glass.Config
- Glean.Glass.Describe
- Glean.Glass.Digest
- Glean.Glass.Env
- Handler
- Glean.Glass.Handler.Cxx
- Glean.Glass.Handler.Documents
- Glean.Glass.Handler.Symbols
- Glean.Glass.Handler.Utils
- Glean.Glass.Logging
- Glean.Glass.Main
- Glean.Glass.NameSearch
- Glean.Glass.Neighborhood
- Glean.Glass.Options
- Glean.Glass.Path
- Pretty
- Glean.Glass.Pretty.Angle
- Glean.Glass.Pretty.Cxx
- Glean.Glass.Pretty.Fbthrift
- Glean.Glass.Pretty.Flow
- Glean.Glass.Pretty.Hack
- Glean.Glass.Pretty.Haskell
- Glean.Glass.Pretty.Java
- Glean.Glass.Pretty.LSIF
- Glean.Glass.Pretty.Python
- Glean.Glass.Pretty.SCIP
- Glean.Glass.Query
- Glean.Glass.Query.Cxx
- Glean.Glass.Range
- Glean.Glass.RepoMapping
- Glean.Glass.Repos
- Glean.Glass.Search
- Glean.Glass.Search.Angle
- Glean.Glass.Search.Buck
- Glean.Glass.Search.Class
- Glean.Glass.Search.Cxx
- Glean.Glass.Search.Erlang
- Glean.Glass.Search.Flow
- Glean.Glass.Search.GraphQL
- Glean.Glass.Search.Hack
- Glean.Glass.Search.Haskell
- Glean.Glass.Search.Java
- Glean.Glass.Search.Kotlin
- Glean.Glass.Search.LSIF
- Glean.Glass.Search.Pp
- Glean.Glass.Search.Python
- Glean.Glass.Search.SCIP
- Glean.Glass.Search.Thrift
- Glean.Glass.SearchRelated
- Glean.Glass.SnapshotBackend
- Glean.Glass.SourceControl
- Glean.Glass.SymbolId
- Glean.Glass.SymbolId.Angle
- Glean.Glass.SymbolId.Buck
- Glean.Glass.SymbolId.CSharp
- Glean.Glass.SymbolId.Class
- Glean.Glass.SymbolId.Cxx
- Glean.Glass.SymbolId.Cxx.Parse
- Glean.Glass.SymbolId.Erlang
- Glean.Glass.SymbolId.Fbthrift
- Glean.Glass.SymbolId.Flow
- Glean.Glass.SymbolId.GraphQL
- Glean.Glass.SymbolId.Hack
- Glean.Glass.SymbolId.Hs
- Glean.Glass.SymbolId.Java
- Glean.Glass.SymbolId.LSIF
- Glean.Glass.SymbolId.Pp
- Glean.Glass.SymbolId.Python
- Glean.Glass.SymbolId.SCIP
- Glean.Glass.SymbolKind
- Glean.Glass.SymbolMap
- Glean.Glass.SymbolSig
- Glean.Glass.Tracer
- Glean.Glass.Tracing
- Glean.Glass.Utils
- Glean.Glass.Visibility
- Glean.Glass.XRefs
- Glass
library glean:if-glass-hs
Modules
- Glean
- Glass
- GlassService
- Glean.Glass.GlassService.Client
- Glean.Glass.GlassService.Service
- Glean.Glass.Types
- GlassService
- Glass
library glean:lib
Modules
- Glean
- Util
- Glean.Util.CxxXRef
- Glean.Util.Declarations
- Glean.Util.PredMap
- Glean.Util.PredSet
- Glean.Util.Range
- Glean.Util.Same
- Glean.Util.ShowSchemaId
- Glean.Util.ToAngle
- Glean.Util.XRefs
- Write
- Glean.Write.SimpleAsync
- Util
library glean:lib-derive
Modules
- Glean
- Glean.Derive
library glean:schema
Modules
- Glean
- Schema
- Glean.Schema.Anglelang
- Glean.Schema.Anglelang.Types
- Glean.Schema.Buck
- Glean.Schema.Buck.Types
- Glean.Schema.Builtin
- Glean.Schema.Builtin.Types
- Glean.Schema.Code
- Glean.Schema.Code.Types
- Glean.Schema.CodeAnglelang
- Glean.Schema.CodeAnglelang.Types
- Glean.Schema.CodeBuck
- Glean.Schema.CodeBuck.Types
- Glean.Schema.CodeCsharp
- Glean.Schema.CodeCsharp.Types
- Glean.Schema.CodeCxx
- Glean.Schema.CodeCxx.Types
- Glean.Schema.CodeDataswarm
- Glean.Schema.CodeDataswarm.Types
- Glean.Schema.CodeErlang
- Glean.Schema.CodeErlang.Types
- CodeFbthrift
- Glean.Schema.CodeFbthrift.Types
- CodeFlow
- Glean.Schema.CodeFlow.Types
- Glean.Schema.CodeGraphql
- Glean.Schema.CodeGraphql.Types
- Glean.Schema.CodeHack
- Glean.Schema.CodeHack.Types
- Glean.Schema.CodeHs
- Glean.Schema.CodeHs.Types
- Glean.Schema.CodeJava
- Glean.Schema.CodeJava.Types
- Glean.Schema.CodeKotlin
- Glean.Schema.CodeKotlin.Types
- Glean.Schema.CodeLsif
- Glean.Schema.CodeLsif.Types
- Glean.Schema.CodePp
- Glean.Schema.CodePp.Types
- Glean.Schema.CodePython
- Glean.Schema.CodePython.Types
- CodeScip
- Glean.Schema.CodeScip.Types
- Glean.Schema.Codemarkup
- Glean.Schema.Codemarkup.Types
- Glean.Schema.CodemarkupAnglelang
- Glean.Schema.CodemarkupAnglelang.Types
- Glean.Schema.CodemarkupBuck
- Glean.Schema.CodemarkupBuck.Types
- Glean.Schema.CodemarkupCsharp
- Glean.Schema.CodemarkupCsharp.Types
- Glean.Schema.CodemarkupCxx
- Glean.Schema.CodemarkupCxx.Types
- Glean.Schema.CodemarkupDataswarm
- Glean.Schema.CodemarkupDataswarm.Types
- Glean.Schema.CodemarkupErlang
- Glean.Schema.CodemarkupErlang.Types
- Glean.Schema.CodemarkupFlow
- Glean.Schema.CodemarkupFlow.Types
- Glean.Schema.CodemarkupGraphql
- Glean.Schema.CodemarkupGraphql.Types
- Glean.Schema.CodemarkupHack
- Glean.Schema.CodemarkupHack.Types
- Glean.Schema.CodemarkupHaskell
- Glean.Schema.CodemarkupHaskell.Types
- Glean.Schema.CodemarkupLsif
- Glean.Schema.CodemarkupLsif.Types
- Glean.Schema.CodemarkupPp
- Glean.Schema.CodemarkupPp.Types
- Glean.Schema.CodemarkupPython
- Glean.Schema.CodemarkupPython.Types
- Glean.Schema.CodemarkupScip
- Glean.Schema.CodemarkupScip.Types
- Glean.Schema.CodemarkupSearch
- Glean.Schema.CodemarkupSearch.Types
- Glean.Schema.CodemarkupTypes
- Glean.Schema.CodemarkupTypes.Types
- Glean.Schema.Csharp
- Glean.Schema.Csharp.Types
- Glean.Schema.Cxx1
- Glean.Schema.Cxx1.Types
- Glean.Schema.Dataswarm
- Glean.Schema.Dataswarm.Types
- Glean.Schema.Digest
- Glean.Schema.Digest.Types
- Glean.Schema.Erlang
- Glean.Schema.Erlang.Types
- Fbthrift
- Glean.Schema.Fbthrift.Types
- Glean.Schema.Flow
- Glean.Schema.Flow.Types
- Glean.Schema.Glass
- Glean.Schema.Glass.Types
- Glean.Schema.GleanTest
- Glean.Schema.GleanTest.Types
- Glean.Schema.Graphql
- Glean.Schema.Graphql.Types
- Glean.Schema.Hack
- Glean.Schema.Hack.Types
- Glean.Schema.Hs
- Glean.Schema.Hs.Types
- JavaAlpha
- Glean.Schema.JavaAlpha.Types
- Glean.Schema.JavakotlinAlpha
- Glean.Schema.JavakotlinAlpha.Types
- Glean.Schema.KotlinAlpha
- Glean.Schema.KotlinAlpha.Types
- Glean.Schema.Lsif
- Glean.Schema.Lsif.Types
- LsifTypes
- Glean.Schema.LsifTypes.Types
- Glean.Schema.Pp1
- Glean.Schema.Pp1.Types
- Glean.Schema.Python
- Glean.Schema.Python.Types
- Scip
- Glean.Schema.Scip.Types
- Glean.Schema.SearchAnglelang
- Glean.Schema.SearchAnglelang.Types
- Glean.Schema.SearchBuck
- Glean.Schema.SearchBuck.Types
- Glean.Schema.SearchCode
- Glean.Schema.SearchCode.Types
- Glean.Schema.SearchCxx
- Glean.Schema.SearchCxx.Types
- Glean.Schema.SearchErlang
- Glean.Schema.SearchErlang.Types
- Glean.Schema.SearchHack
- Glean.Schema.SearchHack.Types
- Glean.Schema.SearchHs
- Glean.Schema.SearchHs.Types
- Glean.Schema.SearchPp
- Glean.Schema.SearchPp.Types
- Glean.Schema.Src
- Glean.Schema.Src.Types
- SymbolidCxx
- Glean.Schema.SymbolidCxx.Types
- SymbolidJava
- Glean.Schema.SymbolidJava.Types
- SymbolidKotlin
- Glean.Schema.SymbolidKotlin.Types
- Glean.Schema.Sys
- Glean.Schema.Sys.Types
- Glean.Schema.Anglelang
- Schema
library glean:interprocess
Modules
- Glean
- Interprocess
- Glean.Interprocess.Counters
- Glean.Interprocess.Worklist
- Interprocess
library glean:client-cpp
library glean:client-hs-local
Modules
- Glean
- Glean.LocalOrRemote
library glean:client-hs
Modules
- Glean
- Glean.Angle
- Glean.Haxl
- Glean.Haxl.Repos
- Glean.Remote
- Glean.Repo
- Util
- Glean.Util.ShellPrint
- Glean.Write
library glean:db
Modules
- Glean
- Backend
- Glean.Backend.Local
- Glean.Backend.Logging
- Database
- Glean.Database.Backup
- Glean.Database.Backup.Backend
- Glean.Database.Backup.Locator
- Glean.Database.Backup.Mock
- Glean.Database.BatchLocation
- Glean.Database.Catalog
- Glean.Database.Catalog.Filter
- Local
- Glean.Database.Catalog.Local.Files
- Glean.Database.Catalog.Local.Memory
- Glean.Database.Catalog.Store
- Glean.Database.Close
- Glean.Database.CompletePredicates
- Glean.Database.Config
- Glean.Database.Create
- Glean.Database.Data
- Glean.Database.Delete
- Glean.Database.Env
- Glean.Database.Exception
- Glean.Database.Finish
- Glean.Database.Janitor
- Glean.Database.List
- Glean.Database.Logger
- Glean.Database.Meta
- Glean.Database.Open
- Glean.Database.Ownership
- Glean.Database.PredicateStats
- Glean.Database.Repo
- Glean.Database.Restore
- Glean.Database.Retention
- Glean.Database.Schema
- Glean.Database.Schema.ComputeIds
- Glean.Database.Schema.Types
- Glean.Database.Storage
- Glean.Database.Storage.Memory
- Glean.Database.Storage.RocksDB
- Glean.Database.Trace
- Glean.Database.Types
- Glean.Database.Validate
- Write
- Glean.Database.Write.Batch
- Glean.Database.Writes
- Glean.Database.Backup
- Glean.Dump
- Glean.Logger
- Glean.Logger.Database
- Glean.Logger.Server
- Query
- Glean.Query.BindOrder
- Glean.Query.Codegen
- Glean.Query.Codegen.QueryRegs
- Glean.Query.Codegen.Types
- Glean.Query.Derive
- Glean.Query.Expand
- Glean.Query.Flatten
- Glean.Query.Flatten.Types
- Glean.Query.Incremental
- Glean.Query.JSON
- Glean.Query.Opt
- Glean.Query.Prune
- Glean.Query.Reorder
- Glean.Query.Transform
- Glean.Query.Typecheck
- Glean.Query.Typecheck.Monad
- Glean.Query.Typecheck.Types
- Glean.Query.Typecheck.Unify
- Glean.Query.UserQuery
- Glean.Query.Vars
- Write
- Glean.Write.JSON
- Backend
library glean:core
Modules
- Glean
- Angle
- Glean.Angle.Hash
- Glean.Angle.Lexer
- Glean.Angle.Parser
- Glean.Angle.Types
- Backend
- Glean.Backend.Retry
- Glean.Backend.Types
- Glean.Display
- Glean.FFI
- Query
- Glean.Query.Angle
- Glean.Query.Thrift
- Glean.Query.Thrift.Internal
- Glean.RTS
- Glean.RTS.Builder
- Bytecode
- Glean.RTS.Bytecode.Code
- Glean.RTS.Bytecode.Disassemble
- Gen
- Glean.RTS.Bytecode.Gen.Instruction
- Glean.RTS.Bytecode.Gen.Issue
- Glean.RTS.Bytecode.Gen.Version
- Glean.RTS.Bytecode.Supply
- Glean.RTS.Constants
- Foreign
- Glean.RTS.Foreign.Benchmarking
- Glean.RTS.Foreign.Bytecode
- Glean.RTS.Foreign.Define
- Glean.RTS.Foreign.FactSet
- Glean.RTS.Foreign.Inventory
- Glean.RTS.Foreign.JSON
- Glean.RTS.Foreign.Lookup
- Glean.RTS.Foreign.LookupCache
- Glean.RTS.Foreign.Ownership
- Glean.RTS.Foreign.Query
- Glean.RTS.Foreign.Stacked
- Glean.RTS.Foreign.Stats
- Glean.RTS.Foreign.Subst
- Glean.RTS.Foreign.Thrift
- Glean.RTS.Foreign.Typecheck
- Glean.RTS.Set
- Glean.RTS.Term
- Glean.RTS.Traverse
- Glean.RTS.Typecheck
- Glean.RTS.Types
- Repo
- Glean.Repo.Text
- Schema
- Glean.Schema.Evolve
- Glean.Schema.Resolve
- Glean.Schema.Types
- Glean.Schema.Util
- Glean.Typed
- Glean.Typed.Binary
- Glean.Typed.Build
- Glean.Typed.BuildFact
- Glean.Typed.Fact
- Glean.Typed.Id
- Glean.Typed.Predicate
- Glean.Typed.Prim
- Write
- Glean.Write.Async
- Glean.Write.Options
- Glean.Write.SendAndRebaseQueue
- Glean.Write.SendBatch
- Glean.Write.SendQueue
- Glean.Write.Stats
- Angle
library glean:util
Modules
- Glean
- Impl
- Glean.Impl.ConfigProvider
- Glean.Impl.TestConfigProvider
- Glean.Impl.ThriftService
- Util
- Glean.Util.Bisect
- Glean.Util.ConfigProvider
- Glean.Util.Disk
- Glean.Util.IO
- Glean.Util.Metric
- Glean.Util.Mutex
- Glean.Util.Observed
- Glean.Util.Periodic
- Glean.Util.Process
- Glean.Util.RetryChannelException
- Glean.Util.RetryRecvTimeout
- Glean.Util.Service
- Glean.Util.ShardManager
- Glean.Util.Some
- Glean.Util.ThriftService
- Glean.Util.ThriftSource
- Glean.Util.Throttle
- Glean.Util.Trace
- Glean.Util.TransitiveClosure
- Glean.Util.ValueBuffer
- Glean.Util.Vector
- Glean.Util.Warden
- Impl
library glean:rts
library glean:if-internal-hs
Modules
- Glean
- Internal
- Glean.Internal.Types
- Internal
library glean:if-index-hs
Modules
- Glean
- Index
- GleanIndexingService
- Glean.Index.GleanIndexingService.Client
- Glean.Index.GleanIndexingService.Service
- Glean.Index.Types
- GleanIndexingService
- Index
library glean:if-glean-hs
Modules
- Glean
- GleanService
- Glean.GleanService.Client
- Glean.GleanService.Service
- Glean.Types
- GleanService
library glean:if-fb303-hs
Modules
- Fb303
- FacebookService
- Fb303.FacebookService.Client
- Fb303.FacebookService.Service
- Fb303.Types
- FacebookService
- Fb303Core
- BaseService
- Fb303Core.BaseService.Client
- Fb303Core.BaseService.Service
- Fb303Core.Types
- BaseService
library glean:config
Modules
- Glean
- ClientConfig
- Glean.ClientConfig.Types
- ServerConfig
- Glean.ServerConfig.Types
- Service
- Glean.Service.Types
- ClientConfig
library glean:stubs
Modules
- Facebook
- Facebook.Fb303
- Facebook.Service
- Glean
- Glean.BuildInfo
- Datasource
- Scribe
- Glean.Datasource.Scribe.Write
- Scribe
- Glean.Index
- Glean.Init
- Server
- Glean.Server.PublishShards
- Glean.Username
- ServiceData
- ServiceData.GlobalStats
- ServiceData.Types
- TestRunner
Flags
Automatic Flags
| Name | Description | Default |
|---|---|---|
| clang | Disabled | |
| opt | Disabled | |
| benchmarks | Disabled | |
| clang-tests | Enabled | |
| hack-tests | Enabled | |
| typescript-tests | Enabled | |
| python-tests | Enabled | |
| dotnet-tests | Enabled | |
| go-tests | Disabled | |
| rust-tests | Enabled | |
| java-lsif-tests | Disabled | |
| flow-tests | Enabled | |
| fbthrift | Disabled | |
| use-folly-clib | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- glean-0.1.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 0.1.0.0 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | aeson, aeson-pretty, ansi-terminal, array (>=0.5.2.0 && <0.6), async (>=2.2.1 && <2.3), attoparsec (>=0.13.2.3 && <0.15), attoparsec-aeson (>=2.1 && <2.3), base (>=4.11.1 && <4.19), binary (>=0.8.5.1 && <0.9), bytestring (>=0.10.8.2 && <0.12), clock, containers, contravariant (>=1.5 && <1.6), criterion (<1.7), criterion-measurement, data-default, deepseq (>=1.4.3.0 && <1.5), directory (>=1.3.1.5 && <1.4), exceptions (>=0.10.0 && <0.11), extra, fb-util, filepath (>=1.4.2 && <1.5), folly-clib (>0), fuzzy, ghc, ghc-compact, ghc-prim (>=0.5.2.0 && <0.11), glean, Glob, hashable (>=1.2.7.0 && <1.6), haskeline (>=0.7.3 && <0.9), haxl (>=2.1.2.0 && <2.6), hie-compat (<0.3.1.2), hiedb (>=0.6 && <0.7), hinotify (>=0.4.1 && <0.5), http-types, HUnit, IntervalMap, json, mangle, microlens, monad-control, mtl (>=2.2.2 && <2.4), network, network-uri (>=2.6.1.0 && <2.7), optparse-applicative, parsec (>=3.1.13.0 && <3.2), pretty, prettyprinter (>=1.2.1 && <1.8), prettyprinter-ansi-terminal, primitive, process (>=1.6.3.0 && <1.7), process-extras, proto-lens, proto-lens-runtime, random, regex-base, regex-pcre, safe, safe-exceptions, scientific, SHA, split, statistics, stm (>=2.5.0.0 && <2.6), STMonadTrans, tar (>=0.5.1.0 && <0.6), tasty, tasty-hunit-adapter, template-haskell, temporary, text (>=1.2.3.0 && <2.2), text-show, thrift-cpp-channel, thrift-haxl, thrift-http, thrift-lib, thrift-server, time (>=1.8.0.2 && <1.13), transformers (>=0.5.6 && <0.7), unix (>=2.7.2.2 && <2.9), unordered-containers (>=0.2.9.0 && <0.3), uri-encode, utf8-string, uuid, vector (>=0.12.0.1 && <0.14), vector-algorithms, wai, warp, yaml [details] |
| License | BSD-3-Clause |
| Copyright | (c) Facebook, All Rights Reserved |
| Author | Facebook, Inc. |
| Maintainer | Glean-team@fb.com |
| Uploaded | by SimonMarlow at 2025-07-14T13:09:08Z |
| Home page | https://github.com/facebookincubator/Glean |
| Bug tracker | https://github.com/facebookincubator/Glean/issues |
| Distributions | |
| Executables | factset-bench, compile-bench, makefact-bench, rename-bench, query-bench, glass-democlient, glass-symbol, glass-server, hie-indexer, hack-derive, glean-hyperlink, glean, glean-server, disassemble, gen-bytecode-hs, gen-bytecode-cpp, gen-schema |
| Downloads | 31 total (4 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs not available [build log] All reported builds failed as of 2025-07-14 [all 2 reports] |
Readme for glean-0.1.0.0
[back to package description]Glean
Glean is a system for working with facts about source code. You can use it for:
-
Collecting and storing detailed information about code structure. Glean is designed around an efficient storage model that enables storing information about code at scale.
-
Querying information about code, to power tools and experiences from online IDE features to offline code analysis.
Status
Glean is pre-release software. There are many rough edges; there are limited language indexers available initially; the build system is not as smooth as we would like. However, we want to make it available for you to experiment with and contribute to.
We'd love to hear feedback! If you run into problems or have suggestions please file an issue.
Language coverage
There is currently full support for:
We also support the SCIP or LSIF code indexing formats, for:
Custom indexers for these languages exist but aren't in the open source release yet; we hope to make these available in the future:
- Python
- Java
- Kotlin
- Erlang
- Thrift
- Buck and Bazel
- C#
License
Glean is licensed under a BSD LICENSE.
Contributing
We'd love to have your help developing Glean. Please submit pull requests on github, and note that we need contributors to sign the Contributor license agreement before we can accept your pull request.
Style guide: for Haskell code, we use hlint to check for style issues. Lines
wrap at 80 columns. Code should be -Wall clean. For C++, code should compile
with Clang or GCC.
How to contact the Glean team
- Visit the project GitHub repo to view the source code, open issues or pull requests.
- Join the Glean Discord server. You can join the server via this invitation.
Building
See Building Glean.
Docker demo
For demo of the react codebase with hyperlinks powered by glean run
docker run -ti -p8888:8888 ghcr.io/facebookincubator/glean/demo
Try out on your own codebase with a .flowconfig by running
docker run -ti -p8888:8888 -v __YOUR_CODE_DIR__:/glean_demo/code ghcr.io/facebookincubator/glean/demo
Play round using the glean binaries in a shell by running
docker run -ti -p8888:8888 ghcr.io/facebookincubator/glean/demo shell