Skip to content

Instantly share code, notes, and snippets.

@aplavin
Created January 22, 2025 02:50
Show Gist options
  • Save aplavin/4643471069ae2fed8356ebcd73d419d2 to your computer and use it in GitHub Desktop.
Save aplavin/4643471069ae2fed8356ebcd73d419d2 to your computer and use it in GitHub Desktop.
startup.jl with BasicAutoloads for many useful packages
insert!(LOAD_PATH, 2, mktempdir())
if isinteractive()
import BasicAutoloads
BasicAutoloads.register_autoloads([
# dev tools:
["@btime", "@benchmark"] => :(using BenchmarkTools),
["@b", "@be"] => :(using Chairmarks),
["@descend", "@descend_code_typed", "@descend_code_warntype"] => :(using Cthulhu),
["@test", "@testset", "@test_broken", "@test_deprecated", "@test_logs", "@test_nowarn", "@test_skip", "@test_throws", "@test_warn", "@inferred"] => :(using Test),
["TestEnv"] => :(using TestEnv),
["@trace"] => :(using TraceFuns),
# generally useful packages:
["@optic", "@o", "@set", "@modify"] => :(using Accessors),
["KeyedArray", "KeyedVector"] => :(using AxisKeys),
["constructorof", "getproperties", "getfields", "setproperties"] => :(using ConstructionBase),
["@p"] => :(using DataPipes),
["flatmap", "filtermap", "mapview", "group", "groupview", "groupmap", "group_vg", "groupview_vg", "groupmap_vg", "findonly", "filteronly", "filterfirst", "uniqueonly"] => :(using DataManipulation),
["Date", "Time", "DateTime"] => :(using Dates),
["mjd", "julian_day", "yeardecimal", "*ₜ", "/ₜ"] => :(using DateFormats),
["Dictionary", "dictionary"] => :(using Dictionaries),
["Circular"] => :(using DirectionalStatistics),
["innerjoin", "leftjoin", "rightjoin", "outerjoin"] => :(using FlexiJoins),
["..", "Interval", "@iv_str"] => :(using IntervalSets),
["dot", "norm", "normalize", "Symmetric", "Diagonal", "eigen", "eigvals", "eigvecs"] => :(using LinearAlgebra),
["@f_str"] => :(using PyFormattedStrings),
["SVector", "@SVector"] => :(using StaticArrays),
["mean", "median", "std", "cor", "cov", "quantile"] => :(using Statistics),
["geomean", "harmmean", "percentile", "weights"] => :(using StatsBase),
["StructArray"] => :(using StructArrays),
["@u_str", "ustrip", "upreferred"] => :(using Unitful),
# specialized packages:
["DictArray"] => :(using DictArrays),
["ℙ"] => :(using DistributionsExtra),
["VOTables"] => :(using VOTables),
["TAPService", "VizierCatalog"] => :(using VirtualObservatory),
["VLBI", "VLBIData"] => :(using VLBIData),
])
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment