{"id":32561678,"url":"https://github.com/grahamstark/imaworkshop","last_synced_at":"2025-10-29T01:55:26.594Z","repository":{"id":214871954,"uuid":"737561082","full_name":"grahamstark/IMAWorkshop","owner":"grahamstark","description":"This is code for the 2024 IMA Conference Julia Workshop.","archived":false,"fork":false,"pushed_at":"2024-01-12T19:03:32.000Z","size":644,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-06T20:26:23.985Z","etag":null,"topics":["julia","microsimulation","teaching-materials"],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grahamstark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-31T14:25:29.000Z","updated_at":"2024-02-14T10:40:32.000Z","dependencies_parsed_at":"2024-01-13T00:44:48.746Z","dependency_job_id":null,"html_url":"https://github.com/grahamstark/IMAWorkshop","commit_stats":null,"previous_names":["grahamstark/imaworkshop"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/grahamstark/IMAWorkshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grahamstark%2FIMAWorkshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grahamstark%2FIMAWorkshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grahamstark%2FIMAWorkshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grahamstark%2FIMAWorkshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grahamstark","download_url":"https://codeload.github.com/grahamstark/IMAWorkshop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grahamstark%2FIMAWorkshop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281544193,"owners_count":26519554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-28T02:00:06.022Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["julia","microsimulation","teaching-materials"],"created_at":"2025-10-29T01:55:23.053Z","updated_at":"2025-10-29T01:55:26.589Z","avatar_url":"https://github.com/grahamstark.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IMA 2024 Julia Workshop\n\nThis is code for the 2024 IMA Conference Julia Workshop.\n\nIt would be nice if you could have a go at installing Julia ahead of the workshop as it'll save us a wee while. Installing the packages would also be good as an admitted problem with Julia is that [first time loading packages is sometimes slow](https://discourse.julialang.org/t/taking-ttfx-seriously-can-we-make-common-packages-faster-to-load-and-use/74949?page=2).\n\nI've made a [wee video that walks you through the install steps](https://virtual-worlds.scot/imaworkshop/ima-julia-intro.mp4).\n\n## Installing Julia\n\nWe'll be using the latest Julia 1.10, downloadable from [here](https://julialang.org/downloads/).\n\n## Files in this repository\n\nThe files we'll be referring to are in the [src/ directory](https://github.com/grahamstark/IMAWorkshop/tree/main/src). To download them, go to the file and select the \"Download Raw File\" option from the icons on the top right. Alternatively, you can download everything here as a zip file by clicking on the green `Code` icon on the repository home page and selecting `Download ZIP`, or by using a Git client to clone the repository, if that's your thing.\n\n### Installing Packages\n\nMuch of the functionality of Julia comes in packages which have to be installed separately. The file [repl-code.jl](https://github.com/grahamstark/IMAWorkshop/blob/main/src/repl-code.jl) contains code to install all the packages we'll be needing - there are packages for loading data, running regressions, plotting results and calculating inequality measures, and so on. Alteratively, just cut and paste the code below into Julia's repl. It may take a while for Julia to build everything, so this is a good thing to do before the day.\n\n```julia \n# ==== cut and paste === \nusing Pkg # Pkg is the package that manages packages.\n\n# add some packages we'll need.\nPkg.add( \"CSV\" )        # delimited file reader\nPkg.add( \"DataFrames\" ) # tables of data\nPkg.add( \"Downloads\" )  # allow file reading from websites\nPkg.add( \"GLM\" )        # linear regressions\nPkg.add( \"Plots\" )      # simple but powerful graphics package - Makie.jl is an alternative\nPkg.add( \"Pluto\" )      # Beautiful interactive workbooks\nPkg.add( \"PlutoUI\" )    # controls for Pluto\nPkg.add( \"PovertyAndInequalityMeasures\" ) # One of mine! Ginis and the like \nPkg.add( \"StatsBase\" )  # means, medians ..\nPkg.add( \"StatsPlots\")  # specialised plots for data from dataframes\n\n# now we have them installed, bring the packages into our code \nusing CSV\nusing DataFrames\nusing Downloads\nusing GLM\nusing Plots\nusing Pluto\nusing PlutoUI\nusing PovertyAndInequalityMeasures\nusing StatsBase\nusing StatsPlots\n\n# === end copy == \n```\n\n## Links: \n\n* [Example 1 Budget Constraints](https://stb.virtual-worlds.scot/bcd/)\n* [Example 2 TriplePC](https://triplepc.northumbria.ac.uk/)\n* [MIT Introduction to Computational Thinking](https://computationalthinking.mit.edu/Fall23/)\n* [My Main Model Code](https://github.com/grahamstark/ScottishTaxBenefitModel.jl)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrahamstark%2Fimaworkshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrahamstark%2Fimaworkshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrahamstark%2Fimaworkshop/lists"}