Skip to content

autodb

Automatic Database Normalisation for Data Frames

v3.2.4 · Nov 17, 2025 · BSD_3_clause + file LICENSE

Description

Automatic normalisation of a data frame to third normal form, with the intention of easing the process of data cleaning. (Usage to design your actual database for you is not advised.) Originally inspired by the 'AutoNormalize' library for 'Python' by 'Alteryx' (<https://github.com/alteryx/autonormalize>), with various changes and improvements. Automatic discovery of functional or approximate dependencies, normalisation based on those, and plotting of the resulting "database" via 'Graphviz', with options to exclude some attributes at discovery time, or remove discovered dependencies at normalisation time.

Downloads

CRAN

252

Last 30 days

18976th

643

Last 90 days

3.1K

Last year

Trend: +49.1% (30d vs prior 30d)

r2u CRAN

0

Last 30 days

25

Last 90 days

158

Last year

Trend: -100% (30d vs prior 30d)

autoCRAN

7

Last 7 days

44

Last 30 days

0

All-time

autoCRAN-only: this name is served only by autoCRAN, so the count is exact.

CRAN Check Status

13 OK
Show all 13 flavors
Flavor Status
r-devel-linux-x86_64-debian-clang OK
r-devel-linux-x86_64-debian-gcc OK
r-devel-linux-x86_64-fedora-clang OK
r-devel-linux-x86_64-fedora-gcc OK
r-devel-windows-x86_64 OK
r-oldrel-macos-arm64 OK
r-oldrel-macos-x86_64 OK
r-oldrel-windows-x86_64 OK
r-patched-linux-x86_64 OK
r-release-linux-x86_64 OK
r-release-macos-arm64 OK
r-release-macos-x86_64 OK
r-release-windows-x86_64 OK

Check History

OK 13 OK · 0 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Jun 9, 2026
ERROR 12 OK · 0 NOTE · 0 WARNING · 1 ERROR · 0 FAILURE Jun 8, 2026
ERROR r-devel-linux-x86_64-debian-gcc

examples

Running examples in ‘autodb-Ex.R’ failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: gv
> ### Title: Generate Graphviz input text to plot objects
> ### Aliases: gv
> 
> ### ** Examples
> 

...[truncated]...
BLE>>];

  "Time_Chick":FROM_chick -> "Chick":TO_chick;
}
> DiagrammeR::grViz(txt_dschema)
Error in loadNamespace(x) : there is no package called ‘DiagrammeR’
Calls: loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart
Execution halted
OK 13 OK · 0 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Jun 1, 2026
ERROR 12 OK · 0 NOTE · 0 WARNING · 1 ERROR · 0 FAILURE May 30, 2026
ERROR r-release-windows-x86_64

tests

Running 'spelling.R' [0s]
  Running 'testthat.R' [529s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(autodb)
  
  Attaching package: 'autodb'
  
  The following object is masked from 'package:stat
...[truncated]...
unterexample:
  [[1]]
    rgp q  wVYbvXt  kCYi  b zwKYz
  1  TRUE     <NA> FALSE NA FALSE
  
  [[2]]
  [1] "b"
  
  [[3]]
  character(0)
  
  [[4]]
  [1] 0
  
  
  [ FAIL 1 | WARN 0 | SKIP 1 | PASS 778 ]
  Error:
  ! Test failures.
  Execution halted
OK 12 OK · 0 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Apr 25, 2026
NOTE 11 OK · 3 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Apr 3, 2026
NOTE r-oldrel-macos-arm64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
NOTE r-oldrel-macos-x86_64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
NOTE r-oldrel-windows-x86_64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
ERROR 10 OK · 3 NOTE · 0 WARNING · 1 ERROR · 0 FAILURE Apr 1, 2026
ERROR r-devel-linux-x86_64-debian-clang

tests

Running ‘spelling.R’ [0s/0s]
  Running ‘testthat.R’ [463s/565s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(autodb)
  
  Attaching package: 'autodb'
  
  The following object is masked from 'pack
...[truncated]...
 q>
  Counterexample:
  [[1]]
  # A tibble: 2 x 1
    q    
    <fct>
  1 <NA> 
  2 FALSE
  
  [[2]]
  [1] "q"
  
  [[3]]
  character(0)
  
  [[4]]
  [1] 0
  
  
  [ FAIL 1 | WARN 0 | SKIP 1 | PASS 778 ]
  Error:
  ! Test failures.
  Execution halted
NOTE r-oldrel-macos-arm64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
NOTE r-oldrel-macos-x86_64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
NOTE r-oldrel-windows-x86_64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
NOTE 11 OK · 3 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 18, 2026
NOTE r-oldrel-macos-arm64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
NOTE r-oldrel-macos-x86_64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
NOTE r-oldrel-windows-x86_64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
ERROR 10 OK · 3 NOTE · 0 WARNING · 1 ERROR · 0 FAILURE Mar 11, 2026
ERROR r-devel-windows-x86_64

tests

Running 'spelling.R' [0s]
  Running 'testthat.R' [575s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(autodb)
  
  Attaching package: 'autodb'
  
  The following object is masked from 'package:stat
...[truncated]...
 J
  1 -1.151791e-04    <NA> -4
  2 -2.498415e-05    TRUE  0
  3 -2.498415e-05   FALSE -1
  
  [[2]]
  [1] "J"
  
  [[3]]
  character(0)
  
  [[4]]
  [1] 0
  
  
  [ FAIL 1 | WARN 0 | SKIP 1 | PASS 778 ]
  Error:
  ! Test failures.
  Execution halted
NOTE r-oldrel-macos-arm64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
NOTE r-oldrel-macos-x86_64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
NOTE r-oldrel-windows-x86_64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
NOTE 11 OK · 3 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 10, 2026
NOTE r-oldrel-macos-arm64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
NOTE r-oldrel-macos-x86_64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb
NOTE r-oldrel-windows-x86_64

installed package size

installed size is 14.3Mb
  sub-directories of 1Mb or more:
    doc  13.7Mb

Code

Structure

Lines of code

26,330

Files

132

Compiled share

0%

Has compiled src

No

Language breakdown

R 8,695 (33%)Tests 13,126 (49.9%)Docs 2,940 (11.2%)Vignettes 1,569 (6%)

API

Exported functions

42

Internal functions

223

Recent export changes

v3.2.4+1 d2
v2.3.1+41 attrs<-, attrs_order<-, dependant<- +38 more

Testing & CI

Has tests

Yes

Test-to-code ratio

1.51

testthat edition

3

CI present

No

CI type

[]

PR gated

No

Docs

Return-value doc rate

100%

\dontrun example ratio

0%

Roxygen coverage

100%

Has pkgdown

No

NEWS present

Yes

Health & Security signals

Informational signals; not verdicts.

on.exit coverage

Unsafe pattern score

0

Dep constraint coverage

Secret pattern count

0

Bundled 3rd-party code

2 items

Portability & License

Min R version

4.1.0

System requirements

C++ standard

License

BSD_3_clause + file LICENSE

License flags

SPDX valid, OSI approved

History

Versions

4

First release

2025-03-19

Latest release

2025-11-17

Avg cadence

85 days

Cold removal rate

Dep drift

1

LOC over versions

v2.3.1: 21,243 LOCv3.0.0: 24,030 LOCv3.1.0: 24,661 LOCv3.2.4: 26,330 LOC

Per-file churn detail lives in the source pipeline: https://github.com/r-observatory/cran-code-metrics.

Version History

5 tracked
new 3.2.4 Mar 10, 2026
updated 3.2.4 ← 3.1.0 diff Nov 16, 2025
updated 3.1.0 ← 3.0.0 diff Sep 17, 2025
updated 3.0.0 ← 2.3.1 diff Jun 24, 2025
new 2.3.1 Mar 18, 2025