Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lorenzoh/moduleinfo.jl


https://github.com/lorenzoh/moduleinfo.jl

Last synced: about 2 months ago
JSON representation

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 to

Here 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
```