👋 Welcome to the Julia Packages Data Repository on GitHub!
This repository offers a systematic and consistent mapping of all Julia package names to their Universally Unique Identifiers (UUIDs). Our aim is to maintain an accurate and current record of these essential identifiers which can then be utilized to enhance other datasets, including the Julia package download statistics. This approach offers valuable insights into the Julia package ecosystem, making it easier for users and developers to access and analyze the relevant information.
Thank you for being a part of the Julia Package Data Repository. Explore, and stay informed with the latest in Julia Packages Data. Your support and involvement are greatly appreciated!
The following table provides an overview of the data that can be accessed in this repository.
File Name | Updated | Description |
---|---|---|
julia_package_names.csv | Daily | Matches all current Julia Package Names to their UUID. |
julia_package_requests.csv | Daily | Total request count for all Julia Packages. |
julia_package_requests_by_date.csv | Daily | The request counts by date for all Julia Packages. |
julia_package_requests_by_region.csv | Daily | Total requests for each Julia Package, categorized by geographical region. |
julia_package_requests_by_region_by_date.csv | Daily | Request counts for each Julia Package, split by Geographical Region, and request date. |
There are two methods that can be used to access and download the data files:
-
Click on the link from the table able to access the raw version of the data file. Some of the files are quite large so the data may not show in the screen. This is perfectly fine and will not affect the download at all.
-
Click the "Download" button located at the top right of the screen to download the raw data file to your local machine. If prompted, choose a location to save the file.
- Install the required packages:
using Pkg; Pkg.add(["HTTP", "CSV", "DataFrames"])
- Import the required modules:
using HTTP, CSV, DataFrames
- Create a helper function:
function get_julia_package_data(file_name::String, return_dataframe::Bool=true, download_csv::Bool=false)
url = string("https://raw.githubusercontent.com/analyticsinmotion/julia-packages-data/main/data/", file_name)
response = HTTP.get(url)
response.status == 200 || error("Failed to retrieve data from the URL")
df_julia_package_data = IOBuffer(response.body) |> CSV.File |> DataFrame
download_csv ? CSV.write("julia_package_names.csv", df_julia_package_data) : nothing
return return_dataframe ? df_julia_package_data : nothing
end
- Call the following helper functions
For Julia Package Names
# Variable values of true, true will return the DataFrame within Julia and also export it as a CSV file
file_name = "julia_package_names.csv"
get_julia_package_data(file_name, true, true)
For Julia Package Requests
# Variable values of true, true will return the DataFrame within Julia and also export it as a CSV file
file_name = "julia_package_requests.csv"
get_julia_package_data(file_name, true, true)
For Julia Package Requests by Date
# Variable values of true, true will return the DataFrame within Julia and also export it as a CSV file
file_name = "julia_package_requests_by_date.csv"
get_julia_package_data(file_name, true, true)
For Julia Package Requests by Region
# Variable values of true, true will return the DataFrame within Julia and also export it as a CSV file
file_name = "julia_package_requests_by_region.csv"
get_julia_package_data(file_name, true, true)
For Julia Package Requests by Region by Date
# Variable values of true, true will return the DataFrame within Julia and also export it as a CSV file
file_name = "julia_package_requests_by_region_by_date.csv"
get_julia_package_data(file_name, true, true)
The julia_package_names.csv file contains a list of all current Julia package names along with their corresponding Universally Unique Identifier (UUID).
File Details
Filename: julia_package_names
Extension: .csv
Delimiter: Comma (,)
Header: True
File Schema
Column Name | Data Type | Description |
---|---|---|
package_name | String | The name of the Julia Package |
package_uuid | String | The Universally Unique Identifier (UUID) for the Julia Package |