-
Notifications
You must be signed in to change notification settings - Fork 38
/
README.Rmd
109 lines (80 loc) · 4.09 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
ckanr
=====
```{r echo=FALSE}
knitr::opts_chunk$set(
comment = "#>",
collapse = TRUE,
warning = FALSE,
message = FALSE
)
```
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![R-check](https://github.com/ropensci/ckanr/workflows/R-check/badge.svg)](https://github.com/ropensci/ckanr/actions/)
[![rstudio mirror downloads](https://cranlogs.r-pkg.org/badges/ckanr?color=FAB657)](https://github.com/r-hub/cranlogs.app)
[![cran version](https://www.r-pkg.org/badges/version/ckanr)](https://cran.r-project.org/package=ckanr)
[![Coverage](https://img.shields.io/codecov/c/github/ropensci/ckanr/master)](https://app.codecov.io/gh/ropensci/ckanr)
`ckanr` is an R client for the CKAN API.
## Description
CKAN is an open source set of tools for hosting and providing data on the web. (CKAN users could include non-profits, museums, local city/county governments, etc.).
`ckanr` allows users to interact with those CKAN websites to create, modify, and manage datasets, as well as search and download pre-existing data, and then to proceed using in R for data analysis (stats/plotting/etc.). It is meant to be as general as possible, allowing you to work with any CKAN instance.
Get started: <https://docs.ropensci.org/ckanr/>
## Installation
Stable CRAN version
```{r eval=FALSE}
install.packages("ckanr")
```
Development version
```{r eval=FALSE}
install.packages("remotes")
remotes::install_github("ropensci/ckanr")
```
```{r}
library('ckanr')
```
Note: the default base CKAN URL is set to <https://data.ontario.ca/>
Functions requiring write permissions in CKAN additionally require a privileged
CKAN API key.
You can change this using `ckanr_setup()`, or change the URL using the `url`
parameter in each function call.
To set one or both, run:
```{r}
ckanr_setup() # restores default CKAN url to https://data.ontario.ca/
ckanr_setup(url = "https://data.ontario.ca/")
ckanr_setup(url = "https://data.ontario.ca/", key = "my-ckan-api-key")
```
## ckanr package API
There are a suite of CKAN things (package, resource, etc.) that each have a set of functions in this package. The functions for each CKAN thing have an S3 class that is returned from most functions, and can be passed to most other functions (this also facilitates piping). The following is a list of the function groups for certain CKAN things, with the prefix for the functions that work with that thing, and the name of the S3 class:
+ Packages (aka packages) - `package_*()` - `ckan_package`
+ Resources - `resource_*()` - `ckan_resource`
+ Related - `related_*()` - `ckan_related`
+ Users - `user_*()` - `ckan_user`
+ Groups - `group_*()` - `ckan_group`
+ Tags - `tag_*()` - `ckan_tag`
+ Organizations - `organization_*()` - `ckan_organization`
+ Groups - `group_*()` - `ckan_group`
+ Users - `user_*()` - `ckan_user`
+ Related items - `related_*()` - `ckan_related`
The S3 class objects all look very similar; for example:
```r
<CKAN Resource> 8abc92ad-7379-4fb8-bba0-549f38a26ddb
Name: Data From Digital Portal
Description:
Creator/Modified: 2015-08-18T19:20:59.732601 / 2015-08-18T19:20:59.657943
Size:
Format: CSV
```
All classes state the type of object, have the ID to the right of the type, then have a varying set of key-value fields deemed important. This printed object is just a summary of an R list, so you can index to specific values (e.g., `result$description`). If you feel there are important fields left out of these printed summaries, let us know.
> note: Many examples are given in brief for readme brevity
## Contributors
(alphabetical)
* Florian Mayer
* Francisco Alves
* Imanuel Costigan
* Scott Chamberlain
* Sharla Gelfand
* Wush Wu
## Meta
* Please [report any issues or bugs](https://github.com/ropensci/ckanr/issues).
* License: MIT
* Get citation information for `ckanr` in R doing `citation(package = 'ckanr')`
* Please note that this package is released with a [Contributor Code of Conduct](https://ropensci.org/code-of-conduct/). By contributing to this project, you agree to abide by its terms.