Title: Fetch Datasets from the Official Tunisian Data Catalog
Version: 0.1.0
Description: Simplifies access to Tunisian government open data from https://data.gov.tn/fr/. Queries datasets by theme, author, or keywords, retrieves metadata, and gets structured results ready for analysis; all through the official 'CKAN' API.
License: Apache License (≥ 2)
Encoding: UTF-8
Imports: dplyr, fs, glue, httr, httr2, jsonlite, logger, lubridate, purrr, stringr
Depends: R (≥ 4.1.0)
RoxygenNote: 7.3.2
URL: https://github.com/aymennasri/tndata, http://aymennasri.me/tndata/
BugReports: https://github.com/aymennasri/tndata/issues
NeedsCompilation: no
Packaged: 2025-03-18 13:02:55 UTC; aymen
Author: Aymen Nasri [aut, cre, cph]
Maintainer: Aymen Nasri <aymennasrii@proton.me>
Repository: CRAN
Date/Publication: 2025-03-19 13:20:02 UTC

Download Dataset

Description

Downloads a dataset from the Tunisian data catalog API (data.gov.tn).

Usage

download_dataset(title, download_dir, format = NULL)

Arguments

title

Character. Display name of the dataset to download.

download_dir

Character. Directory to save the downloaded dataset at.

format

Character. Format of the dataset to download.

Value

The demanded dataset in the demanded path.

Examples


try({
  download_dataset(
    "Ressources en eau- Gouvernorat de Kasserine",
    format = "xls",
    download_dir = tempdir()
 )
})



List All Authors in the Dataset Catalog

Description

Retrieves a list of all authors who have contributed datasets to the catalog by fetching datasets and extracting unique author information.

Usage

get_authors(max_datasets = 1000)

Arguments

max_datasets

Numeric. Maximum number of datasets to retrieve for author extraction, defaults to 1000.

Value

A tibble (data frame) with the following columns:

name

Character. Name of the author.

count

Numeric. Number of datasets contributed by this author.

Examples

try({
  authors <- get_authors(max_datasets = 100)
  head(authors)
})


List Available Datasets

Description

Fetches datasets by keyword and/or author

Usage

get_datasets(
  keyword = NULL,
  author = NULL,
  organization = NULL,
  max_results = 100
)

Arguments

keyword

Character. Keyword to search for in dataset titles.

author

Character. Author name to filter datasets by.

organization

Character. Organization name to filter datasets by.

max_results

Numeric. Maximum number of datasets to return, defaults to 100.

Value

A tibble (data frame) with the following columns:

title

Character. Title of the dataset.

id

Character. ID of the dataset.

resources

List. A list of tibbles with the following columns:

name

Character. Name of the dataset.

format

Character. Format of the dataset.

url

Character. URL of the dataset.

created

Date. Date the dataset was created.

Examples

try({
  datasets <- get_datasets("agriculture")
  head(datasets)
})


List Dataset Keywords/Tags

Description

Retrieves a list of unique keywords/tags from the Tunisian data catalog API.

Usage

get_keywords(limit = 10, query = NULL)

Arguments

limit

Integer. Maximum number of tags to return (default: 10).

query

Character. Optional search string to filter tags.

Value

A data frame of keywords/tags with counts.

Examples

try({
  get_keywords(limit = 10)
})


List Organizations

Description

Retrieves organizations data from the Tunisian data catalog API (data.gov.tn) using faceted search. This function returns organizations that have published datasets.

Usage

get_organizations(min_count = 1)

Arguments

min_count

Integer. Minimum number of datasets an organization must have to be included in results. Default is 1, meaning only organizations with at least one dataset are returned.

Value

A tibble (data frame) with the following columns:

name

Character. Machine-readable name/identifier of the organization.

display_name

Character. Human-readable name of the organization.

dataset_count

Integer. Number of datasets published by the organization.

Examples

try({
  # Get all organizations with at least 5 datasets
  orgs <- get_organizations(min_count = 5)
  head(orgs)
})


Summarize Dataset Themes

Description

Fetches and summarizes themes (groups) alongside the number of datasets in each theme from the Tunisian data catalog API (data.gov.tn).

Usage

get_themes()

Value

A tibble (data frame) with two columns:

theme

Character. Name of the theme/group.

dataset_count

Numeric. Number of datasets in the theme.

Examples

try({
  themes_summary <- get_themes()
  head(themes_summary)
})

mirror server hosted at Truenetwork, Russian Federation.