Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP | updated website #25

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ deps/src/
Manifest.toml

/.quarto/
/_site/
/_site/
Empty file removed .nojekyll
Empty file.
7 changes: 0 additions & 7 deletions 404.qmd

This file was deleted.

5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
```sh
quarto preview . --port 3000 --no-browser
```

https://coolors.co/fefeff-c74042-bc2021-803ba1-b690ca-6cad5f-2a8a14
13 changes: 0 additions & 13 deletions _extensions/pat-alt/julia/_extension.yml

This file was deleted.

50 changes: 0 additions & 50 deletions _extensions/pat-alt/julia/custom.scss

This file was deleted.

11 changes: 0 additions & 11 deletions _extensions/pat-alt/julia/revealjs.scss

This file was deleted.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions _freeze/blog/posts/dummy/index/execute-results/html.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"hash": "7d5dad8f3ee7be424d689c2679bf2562",
"result": {
"engine": "julia",
"markdown": "---\ntitle: \"Dummy Post\"\ndescription: \"Post description\"\nauthor: \"Foobar\"\ndate: \"6/22/2024\"\ntoc: true\nengine: julia\ncategories:\n - news\n - code\n - analysis\n---\n\n\n\n\n# Seciton 1\n\nSmall dummy blog post\n\n\n\n\n::: {#2 .cell execution_count=1}\n``` {.julia .cell-code}\n2 + 2\n```\n\n::: {.cell-output .cell-output-display execution_count=1}\n```\n4\n```\n:::\n:::\n\n\n\n::: {#4 .cell execution_count=1}\n``` {.julia .cell-code}\nprintln(2 + 2)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n4\n```\n:::\n:::\n\n\n\n\n\n\n# Section 2\n\n# Section 3\n\n",
"supporting": [
"index_files"
],
"filters": [],
"includes": {}
}
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"hash": "55d28893470821c6ce2b9a35078cfa9b",
"result": {
"engine": "julia",
"markdown": "---\ntitle: \"GSoC '24: IPUMS.jl Small Project\"\ndescription: \"A summary of my project for Google Summer of Code\"\nauthor: \"Michela Rocchetti\"\ndate: \"8/26/2024\"\ntoc: true\nengine: julia\nimage: false\ncategories:\n - gsoc\n - geospatial \n - census\n---\n\n\n\n\n# Hello! 👋\n\nHi! I am Michela, I have a Master's degree in Physics of Complex Systems and I am currently working as a software engineer in Rome, where I am from. \nDuring my studies, I became interested in the use of modeling and AI methods to improve healthcare and how these tools can be used to better understand how cultural and social backgrounds influence the health of individuals. \nI am also interested in the computational modeling of the brain and the human body and its implications for a better understanding of certain pathological conditions. \n\nWith these motivations in mind, I heard about Google Summer of Code. \nSince I had studied Julia in some courses and given that the language is expanding rapidly, I decided to find a project within Julia. \nAs a result, I found the project of [Jacob Zelko (@TheCedarPrince)](https://jacobzelko.com) to start this experience. \n\n> If you want to learn more about me, you can connect with me here: [**LinkedIn**](https://www.linkedin.com/in/michela-rocchetti-261793218/), [**GitHub**](https://github.com/MichelaRocchetti)\n\n# Project Description \n\n*IPUMS* is the \"world's largest available single database of census microdata\", providing survey and census data from around the world. \nIt includes several projects that provide a wide variety of datasets.\nThe information and data collected by *IPUMS* are useful for comparative research, as well as for the analysis of individuals in their life contexts.\nThese data can be used to create a more comprehensive dataset that will facilitate research on the social determinants of health for different types of diseases, social communities, and geographical areas. \n\n![](./IPUMS_grid_logo.png)\n\n> To learn more about IPUMS, visit the [website](https://www.ipums.org) \n\n# Tasks and Goals\nThe primary objectives of this proposal are to:\n\n1. Develop a native Julia package to interact with the APIs available around the datasets *IPUMS* provides.\n\n2. Provide useful utilities within this package for manipulating *IPUMS* datasets.\n\n3. Compose this package with the wider Julia ecosystem to enable novel research in health, economics, and more. \n\nTo achieve this, the work was distributed as follows:\n\n1. Expand some of the functionality developed in `ipumsr` *IPUMS* NHGIS\n - Create a link between OpenAPI documentation and the functions internally used in IPUMS.jl:\n updating already present functions, determining if updating is needed, and testing them\n - Develop functionality similar to the get_metadata_nghis function present in ipumsr\n\n2. Update *IPUMS* documentation\n - Set up and deploy DocumenterVitepress.jl \n - Write a blog post on how IPUMS.jl can be composed within the ecosystem.\n\n\n# How the work was done\n\nThe first task was to migrate documents from Documenter to DocumenterVitepress.This issue aims to support the significant refactoring underway across JuliaHealth, aimed at improving the discoverability and cohesion of the JuliaHealth ecosystem, particularly about documentation. This issue is intended to create a more attractive entry point for new Julia users interested in health research within the Julia community.\nTo accomplish this task, a dependency of DocumenterVitepress was added to the docs directory of the IPUMS.jl repository. \nOnce this was done, the Documenter.jl make.jl file was migrated into a DocumenterVitepress.jl make.jl file. Working on the make.jl file, the pages structure were added to the web page explaining the IPUMS.jl package. With this in mind, those were added:\n 1. Home: to explain the main purpose of the package\n 2. Workflows: to explain the working process\n 3. How to: to give general information \n 4. Tutorials: to show how to use IPUMS.jl \n 5. Examples: some examples of activities\n 6. Mission: to explain why the package is useful for the community\n 7. References: references used to write the pages.\n\nThis first task takes some time, especially setting up GitHub and cloning the repository locally. At this point, my experience with GitHub was really limited and I had to learn how to use the Git environment from scratch, for example how to do continuous integration (to commit code to a shared repository), documentation release and merge, and local testing. I found the support of my mentors and searching for material online was really helpful. \n\nThe second task was to update the documentation of IPUMS.jl by modifying the functionality within the model folder in the IPUMS.jl folder. The main aim of this task was to\na description of the function and its attributes, an example of possible implementation and result, and finally to show how to use it. The documentation to be updated as of several types of functions:\n 1. Data extract\n 2. Data set\n 3. Data Table\n 4. Time series table\n 5. Error\n 6. Shapefile.\n Each of these macro-categories (from 1 to 4) contains a set of functions, each signaling the different expected output and specific purpose.\n Information about what each function does, and the meaning of each specific input variable, has been found on the *IPUMS* website and references have been made in the written documentation.\n\n# How to work with IPUMS\n After writing down the description of the function and the inputs, examples were formulated, starting from the *IPUMS* website: when you register at [IPUMS](https://uma.pop.umn.edu/usa/user/new), an API key is given. \nwhich is used, among other things, to run pre-written code on the website. This code contains examples of these functions, and these examples \nhave been adapted by changing some input values and adapting them to work in the Julia framework. The latter task was done by simply rewriting some structures, such as dictionaries, maps, or lists, in the\nJulia language. \nHere is a small guide on how to set up working with the API:\n1. Create an *IPUMS* account\n2. Log in to your account \n3. Copy the API key, which can be obtained from the [website](https://account.ipums.org/api_keys)\n4. Use the key to run the code that is already available on the [*IPUMS* Developer Portal](https://developer.ipums.org/docs/v2/reference/), where you will also find information about the variables and packages.\n\n# Functions testing\n\n A final task was to test the functions in the 'api_IPUMSAPI.jl' file. In this file, the function to be tested and other functions are defined and the most important ones are extracted to be available in the\n available throughout the framework. Some of the functions to be tested were the following:\n \n 1. `metadata_nhgis_data_tables_get`\n 2. `metadata_nhgis_datasets_dataset_data_tables_data_table_get`\n 3. `metadata_nhgis_datasets_dataset_get`\n 4. `metadata_nhgis_datasets_get`\n\n Before working on the Julia files, testing and understanding the original R function was done using R studio. \n\n![](./rstudio.png)\n\nEach function was then tested using the API key from the *IPUMS* registration as well as other input examples taken from the documentation or the *IPUMS* website. \nor from the *IPUMS* website. All functions were displayed successfully, giving the expected result, so it can be concluded that the translation from R to Julia is successful.\n\n\n\n\n::: {#2 .cell execution_count=0}\n``` {.julia .cell-code}\nusing IPUMS\nusing OpenAPI\n\napi_key = \"insert your key here\"\n\nversion = \"2\"\npage_number = 1\npage_size = 2500\n#media_type = \n\napi = IPUMSAPI(\"https://api.ipums.org\", Dict(\"Authorization\" => api_key));\n\nres1 = metadata_nhgis_data_tables_get(api, version)\n\nres2 = metadata_nhgis_datasets_dataset_get(api, \"2022_ACS1\", \"2\");\n\nres3 = metadata_nhgis_datasets_dataset_data_tables_data_table_get(api, \"2022_ACS1\",\"B01001\", \"2\");\n\nres4 = metadata_nhgis_datasets_get(api, \"2\");\n```\n:::\n\n\n\n\n\n\nAn example of the output is: \n\n\n\n\n```{json}\n. . .\n\n{\n \"name\": \"NT1\",\n \"nhgisCode\": \"AAA\",\n \"description\": \"Total Population\",\n \"universe\": \"Persons\",\n \"sequence\": 1,\n \"datasetName\": \"1790_cPop\",\n \"nVariables\": [\n 1\n ]\n}\n\n. . .\n```\n\n\n\n\n# Accomplished Goals and Future Development\n\nThe project was a 90-hour small project and during this time the documentation was completed and the testing of the metadata function was done, as well as the migration from Documenter.jl to DocumenterVitepress.jl.\nDuring these months some things took longer than I expected because of some problems that occurred, so some things were missing in relation to the original plan. However, this time was useful for learning new things: \n - I saw how to work with a package under development, how to work with large datasets, and how to write documentation \n - I had the opportunity to better understand how to work with Git and GitHub\n - I learned some new things about R, which was a completely unknown language to me. \n - I deepened my knowledge of Julia, a language I had worked with during my time at university.\n - I had the chance to work on a large open-source project, to be part of a large community, and to learn how to communicate with it efficiently. \n\nA special thanks goes to my mentors, Jacob Zelko and Krishna Bhogaonker, for helping me through this process.\n\nFuture developments of this work could include deepening the work that my mentors and I have started, with the possibility of integrating this package with other machine learning packages in Julia and, from there, doing new analyses of the data in terms of social and geographical implications for health.\n\n",
"supporting": [
"Michela_JSoC_files"
],
"filters": [],
"includes": {}
}
}
Loading