You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
boB Rudis 92e55c3d05
new srht build
2 years ago
.vscode Added better jpeg + new lzip, 7-zip, wasm, pcap, avro, parquet detections 3 years ago
R length 1 3 years ago
inst new built-in MIME types and improvements enabling alternate db 3 years ago
man parameter docs 3 years ago
tests cran 3 years ago
tools new built-in MIME types and improvements enabling alternate db 3 years ago
.Rbuildignore sourcehut build test 2 years ago
.build.yml new srht build 2 years ago
.gitignore initial commit 6 years ago
.travis.yml cran 3 years ago
DESCRIPTION length 1 3 years ago
LICENSE cran 3 years ago
NAMESPACE new built-in MIME types and improvements enabling alternate db 3 years ago NEWS 3 years ago
README.Rmd new srht build 2 years ago new srht build 2 years ago
appveyor.yml badges 3 years ago NEWS 3 years ago
wand.Rproj pkg rename 6 years ago

Project Status: Active – The project has reached a stable, usablestate and is being activelydeveloped. Signedby Signed commit% Linux buildStatus Windows buildstatus CoverageStatus cranchecks CRANstatus Minimal RVersion License


Retrieve Magic Attributes from Files and Directories


MIME types are shorthand descriptors for file contents and can be determined from “magic” bytes in file headers, file contents or intuited from file extensions. Tools are provided to perform curated “magic” tests as well as mapping MIME types from a database of over 1,800 extension mappings.


The header checking is minimal (i.e. nowhere near as comprehensive as libmagic) but covers quite a bit of ground. If there are content-check types from magic sources that you would like coded into the package, please file an issue and include the full line(s) from that linked that you would like mapped.

What’s Inside The Tin

The following functions are implemented:

  • get_content_type: Discover MIME type of a file based on contents
  • guess_content_type: Guess MIME type from filename (extension)
  • simplemagic_mime_db: File extension-to-MIME mapping data frame


install.packages("wand", repos = "")
# or
# or
# or
# or
# or

NOTE: To use the ‘remotes’ install options you will need to have the {remotes} package installed.



# current verison
## [1] '0.6.0'
list.files(system.file("extdat", package="wand"), full.names=TRUE) %>% 
      fil = basename(.x),
      mime = list(get_content_type(.x))
  }) %>% 
## # A tibble: 85 x 2
##    fil                        mime                                                             
##    <chr>                      <chr>                                                            
##  1 actions.csv                application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
##  2 actions.txt                application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
##  3 actions.xlsx               application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
##  4 test_128_44_jstereo.mp3    audio/mp3                                                        
##  5 test_excel_2000.xls        application/msword                                               
##  6 test_excel_spreadsheet.xml application/xml                                                  
##  7 test_excel_web_archive.mht message/rfc822                                                   
##  8 test_excel.xlsm            application/zip                                                  
##  9 test_excel.xlsx            application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
## 10 test_nocompress.tif        image/tiff                                                       
## # … with 75 more rows

wand Metrics

Lang # Files (%) LoC (%) Blank lines (%) # Lines (%)
R 7 0.78 154 0.61 59 0.78 70 0.71
JSON 1 0.11 80 0.32 0 0.00 0 0.00
Rmd 1 0.11 17 0.07 17 0.22 29 0.29

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.