Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lorenzoh/moduleinfo.jl
https://github.com/lorenzoh/moduleinfo.jl
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/lorenzoh/moduleinfo.jl
- Owner: lorenzoh
- License: mit
- Created: 2022-02-03T14:41:04.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-08T15:01:28.000Z (almost 2 years ago)
- Last Synced: 2024-11-09T08:02:06.153Z (about 2 months ago)
- Language: Julia
- Homepage: https://lorenzoh.github.io/ModuleInfo.jl
- Size: 1.46 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ModuleInfo.jl
A Julia package that makes it easy to index package data, including information on a package's modules, docstrings, source files, definitions and bindings.
Features:
- index packages, with support for recursively indexing dependencies and caching
- searching and filtering
- use index data with all Tables.jl-compliant data sinks, e.g. DataFrames.jl
- resolve identifiers in a module scope to find the symbol they refer toHere we index `Base` and all its submodules:
```julia-repl
julia> pkgindex = PackageIndex([Base])
PackageIndex(1 package, 42 modules, 203 files, 3847 symbols, 7892 methods, 1267 docstrings, 5385 bindings)
``````julia-repl
julia> DataFrame(pkgindex.modules)
42×3 DataFrame
Row │ id parent package_id
│ String Union… String
─────┼──────────────────────────────────────────────────────────────
1 │ Base Main [email protected]
2 │ Base.BaseDocs Base [email protected]
3 │ Base.BinaryPlatforms Base [email protected]
4 │ Base.BinaryPlatforms.CPUID Base.BinaryPlatforms [email protected]
5 │ Base.Broadcast Base [email protected]
⋮ │ ⋮ ⋮ ⋮
39 │ Base.Sys Base [email protected]
40 │ Base.TOML Base [email protected]
41 │ Base.Threads Base [email protected]
42 │ Base.Unicode Base [email protected]
33 rows omitted
```