SlideShare a Scribd company logo
1 of 13
Download to read offline
DESCRIPTION
Метеданные пакета
Разбираемся с основными полями
Алексей Селезнёв
Мой telegram канал
Задача файла DESCRIPTION—
хранить важные метаданные о
вашем пакете.
Минимальный пример файла DESCRIPTION
Опции пакета usethis
Title и Descripton
• Title представляет собой однострочное описание пакета и часто отображается в листинге
пакета. Это должен быть обычный текст (без разметки), каждое слово должно начинаться с
заглавной буквы, и НЕ заканчивающийся точкой. Будьте краткими: списки часто урезают
заголовок до 65 символов.
• Description более подробное описание, чем заголовок. Вы можете использовать несколько
предложений, но вы ограничены одним абзацем. Если ваше описание занимает несколько
строк (а так и должно быть!), ширина каждой строки не должна превышать 80 символов.
Отступ последующих строк с 4 пробелами.
Authors@R
• Функция person() имеет четыре основных аргумента:
• Имя, указанное первыми двумя аргументами given и family (обычно они задаются по положению, а не
по имени).
• email, который является абсолютным требованием для сопровождающего. Важно отметить, что это
адрес, который CRAN использует, чтобы сообщить вам, нужно ли исправить ваш пакет, чтобы остаться
в CRAN.
• Один или несколько трехбуквенных кодов, определяющих расширение role. Вот самые важные роли, о
которых нужно знать:
• cre: создатель или сопровождающий, человек, которого вы должны беспокоить, если у вас есть проблемы.
• aut: авторы, внесшие значительный вклад в разработку пакета.
• ctb: участники, те, кто внес меньший вклад, например патчи.
• cph: правообладатель. Это используется для перечисления дополнительных правообладателей, которые не
являются авторами, как правило, компаний, таких как работодатель одного или нескольких авторов.
• fnd : спонсор, люди или организации, предоставившие финансовую поддержку для разработки пакета.
URL и BugReports
• Поле URL обычно используется для рекламы веб-сайта пакета и для ссылки на
общедоступный репозиторий исходных кодов, где происходит разработка.
• BugReports это URL-адрес, по которому следует отправлять отчеты об ошибках, например,
как раздел issues GitHub.
License
• Поле License является обязательным и должно указывать лицензию вашего пакета в
стандартной форме, распознаваемой R. Важно понимать, что это, по сути, машиночитаемое
License поле.
• Наиболее удобный способ установки лицензии в файле DESCRIPTION предоставляют
следующие функции:
• use_mit_license() – если вам нужна лицензия, чтобы люди могли использовать ваш код с
минимальными ограничениями
• use_gpl_license() - если вам нужна лицензия с авторским левом, чтобы все производные и пакеты
вашего кода также имели открытый исходный код
• use_cc0_license() - если ваш пакет в основном содержит данные, а не код, и вам нужны минимальные
ограничения
• use_ccby_license() – если ваш пакет содержит только данные, но вы хотите указания вашего авторства
• use_proprietary_license() - если вы не хотите делать свой код открытым (На CRAN не пустят)
Imports, Suggests, …
• Пакеты, перечисленные в, Imports необходимы вашим пользователям во время выполнения
и будут установлены (или потенциально обновлены), когда пользователи установят ваш
пакет через install.packages().
• Пакеты, перечисленные в, Suggests либо необходимы для задач разработки, либо могут
разблокировать дополнительные возможности пакета для ваших пользователей.
Другие поля
• Version – Версия вашего пакета, удобный способ сообщить на какой версии разработки находится
ваш пакет.
• LazyData – актуален если ваш пакет делает данные доступными для пользователя. Если вы
укажете LazyData: true, наборы данных загружаются отложенно, что делает их более доступными,
т. е. пользователям не нужно использовать data().
• Encoding – Описывает кодировку файлов вашего пакета.
• Collate - управляет порядком получения файлов R.
• VignetteBuilder - перечисляет любой пакет, который нужен вашему пакету в качестве механизма
виньетирования.
• SystemRequirements - Здесь вы описываете зависимости, внешние по отношению к R. Это обычное
текстовое поле, которое, например, фактически не устанавливает и не проверяет что-либо,
поэтому вам может потребоваться включить дополнительные сведения об установке в файл
README.
Пользовательские поля
• Существует также некоторая гибкость для создания собственных полей для добавления
дополнительных метаданных. В самом узком смысле единственным ограничением
является то, что вы не должны переназначать официальные имена полей, используемые R.
Вы также должны ограничить себя допустимыми английскими словами, чтобы имена полей
не помечались проверкой орфографии.
• На практике, если вы планируете отправлять в CRAN, мы рекомендуем, чтобы имя любого
настраиваемого поля начиналось с Config/.
СПАСИБО ЗА ВНИМАНИЕ

More Related Content

Similar to DESCRIPTION.pdf

Протокол HTTP. Клиент-серверная модель взаимодействия. Servlet API
Протокол HTTP. Клиент-серверная модель взаимодействия. Servlet APIПротокол HTTP. Клиент-серверная модель взаимодействия. Servlet API
Протокол HTTP. Клиент-серверная модель взаимодействия. Servlet APIEkaterina Kuchinskaya
 
C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.Igor Shkulipa
 
Как спроектировать хороший API и почему это так важно
Как спроектировать хороший API и почему это так важноКак спроектировать хороший API и почему это так важно
Как спроектировать хороший API и почему это так важноBubon Makabra
 
Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...
Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...
Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...Tatyanazaxarova
 
Data Destribution service OMG standart
Data Destribution service OMG standart Data Destribution service OMG standart
Data Destribution service OMG standart Sergei Seleznev
 
Артем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTMLАртем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTMLYandex
 
Семинар 24-25 апреля 2014 г. «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»
Семинар 24-25 апреля 2014 г.  «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»Семинар 24-25 апреля 2014 г.  «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»
Семинар 24-25 апреля 2014 г. «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»АНАЛИТИКА ПЛЮС
 
Trening modul2-webinar11
Trening modul2-webinar11Trening modul2-webinar11
Trening modul2-webinar11olgaoov
 
лекция №7
лекция №7лекция №7
лекция №7student_kai
 
как стать хорошим веб технологом. нарек мкртчян. зал 4
как стать хорошим веб технологом. нарек мкртчян. зал 4как стать хорошим веб технологом. нарек мкртчян. зал 4
как стать хорошим веб технологом. нарек мкртчян. зал 4rit2011
 
Обратная разработка бинарных форматов с помощью Kaitai Struct
Обратная разработка бинарных форматов с помощью Kaitai StructОбратная разработка бинарных форматов с помощью Kaitai Struct
Обратная разработка бинарных форматов с помощью Kaitai StructPositive Hack Days
 
Carlton doe. administering informix dynamic server. building the foundation
Carlton doe. administering informix dynamic server. building the foundationCarlton doe. administering informix dynamic server. building the foundation
Carlton doe. administering informix dynamic server. building the foundationKshitiz Chauhan
 

Similar to DESCRIPTION.pdf (20)

Протокол HTTP. Клиент-серверная модель взаимодействия. Servlet API
Протокол HTTP. Клиент-серверная модель взаимодействия. Servlet APIПротокол HTTP. Клиент-серверная модель взаимодействия. Servlet API
Протокол HTTP. Клиент-серверная модель взаимодействия. Servlet API
 
C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.
 
Как спроектировать хороший API и почему это так важно
Как спроектировать хороший API и почему это так важноКак спроектировать хороший API и почему это так важно
Как спроектировать хороший API и почему это так важно
 
Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...
Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...
Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...
 
Data Destribution service OMG standart
Data Destribution service OMG standart Data Destribution service OMG standart
Data Destribution service OMG standart
 
function_docs.pdf
function_docs.pdffunction_docs.pdf
function_docs.pdf
 
лек13 6
лек13 6лек13 6
лек13 6
 
Turbo pascal. toqrul
Turbo pascal. toqrulTurbo pascal. toqrul
Turbo pascal. toqrul
 
Артем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTMLАртем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTML
 
3-r-code.pdf
3-r-code.pdf3-r-code.pdf
3-r-code.pdf
 
Step 1
Step 1Step 1
Step 1
 
PostgreSQL on sas/ssd/nvme/nvdimm
PostgreSQL on sas/ssd/nvme/nvdimmPostgreSQL on sas/ssd/nvme/nvdimm
PostgreSQL on sas/ssd/nvme/nvdimm
 
Семинар 24-25 апреля 2014 г. «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»
Семинар 24-25 апреля 2014 г.  «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»Семинар 24-25 апреля 2014 г.  «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»
Семинар 24-25 апреля 2014 г. «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»
 
Trening modul2-webinar11
Trening modul2-webinar11Trening modul2-webinar11
Trening modul2-webinar11
 
Add data to r package
Add data to r packageAdd data to r package
Add data to r package
 
лекция №7
лекция №7лекция №7
лекция №7
 
как стать хорошим веб технологом. нарек мкртчян. зал 4
как стать хорошим веб технологом. нарек мкртчян. зал 4как стать хорошим веб технологом. нарек мкртчян. зал 4
как стать хорошим веб технологом. нарек мкртчян. зал 4
 
Обратная разработка бинарных форматов с помощью Kaitai Struct
Обратная разработка бинарных форматов с помощью Kaitai StructОбратная разработка бинарных форматов с помощью Kaitai Struct
Обратная разработка бинарных форматов с помощью Kaitai Struct
 
Carlton doe. administering informix dynamic server. building the foundation
Carlton doe. administering informix dynamic server. building the foundationCarlton doe. administering informix dynamic server. building the foundation
Carlton doe. administering informix dynamic server. building the foundation
 
Docker
DockerDocker
Docker
 

More from Алексей Селезнёв

Воркшоп: Анализ показателя качества ключевых слов в Google Ads API с помощью ...
Воркшоп: Анализ показателя качества ключевых слов в Google Ads API с помощью ...Воркшоп: Анализ показателя качества ключевых слов в Google Ads API с помощью ...
Воркшоп: Анализ показателя качества ключевых слов в Google Ads API с помощью ...Алексей Селезнёв
 
Зачем интернет маркетологу понимать что такое API. Разбираем устройство API G...
Зачем интернет маркетологу понимать что такое API. Разбираем устройство API G...Зачем интернет маркетологу понимать что такое API. Разбираем устройство API G...
Зачем интернет маркетологу понимать что такое API. Разбираем устройство API G...Алексей Селезнёв
 
Как работать с API Google Analytics на языке R с помощью пакета googleAnalyti...
Как работать с API Google Analytics на языке R с помощью пакета googleAnalyti...Как работать с API Google Analytics на языке R с помощью пакета googleAnalyti...
Как работать с API Google Analytics на языке R с помощью пакета googleAnalyti...Алексей Селезнёв
 
Учим язык R на примере SQL запросов (Product Star Conference)
Учим язык R на примере SQL запросов (Product Star Conference)Учим язык R на примере SQL запросов (Product Star Conference)
Учим язык R на примере SQL запросов (Product Star Conference)Алексей Селезнёв
 
Алексей Селезнёв - Как держать руку на пульсе с помощью информационных дайдже...
Алексей Селезнёв - Как держать руку на пульсе с помощью информационных дайдже...Алексей Селезнёв - Как держать руку на пульсе с помощью информационных дайдже...
Алексей Селезнёв - Как держать руку на пульсе с помощью информационных дайдже...Алексей Селезнёв
 
Алексей Селезнёв - Работа с Facebook Marketing API на Языке R
Алексей Селезнёв - Работа с Facebook Marketing API на Языке RАлексей Селезнёв - Работа с Facebook Marketing API на Языке R
Алексей Селезнёв - Работа с Facebook Marketing API на Языке RАлексей Селезнёв
 

More from Алексей Селезнёв (20)

Воркшоп: Анализ показателя качества ключевых слов в Google Ads API с помощью ...
Воркшоп: Анализ показателя качества ключевых слов в Google Ads API с помощью ...Воркшоп: Анализ показателя качества ключевых слов в Google Ads API с помощью ...
Воркшоп: Анализ показателя качества ключевых слов в Google Ads API с помощью ...
 
14. мета пакет.pdf
14. мета пакет.pdf14. мета пакет.pdf
14. мета пакет.pdf
 
gargle.pdf
gargle.pdfgargle.pdf
gargle.pdf
 
12.wrapping-apis.pdf
12.wrapping-apis.pdf12.wrapping-apis.pdf
12.wrapping-apis.pdf
 
10.release_on_cran.pdf
10.release_on_cran.pdf10.release_on_cran.pdf
10.release_on_cran.pdf
 
10.website.pdf
10.website.pdf10.website.pdf
10.website.pdf
 
07-testing.pdf
07-testing.pdf07-testing.pdf
07-testing.pdf
 
integration_between_rstudio_and_github.pdf
integration_between_rstudio_and_github.pdfintegration_between_rstudio_and_github.pdf
integration_between_rstudio_and_github.pdf
 
create_package_1.pdf
create_package_1.pdfcreate_package_1.pdf
create_package_1.pdf
 
Бекенды dplyr
Бекенды dplyrБекенды dplyr
Бекенды dplyr
 
Пакет future
Пакет futureПакет future
Пакет future
 
Многопоточность в R
Многопоточность в RМногопоточность в R
Многопоточность в R
 
Пакет purrr
Пакет purrrПакет purrr
Пакет purrr
 
Функции семейства apply
Функции семейства applyФункции семейства apply
Функции семейства apply
 
Циклы в R
Циклы в RЦиклы в R
Циклы в R
 
Зачем интернет маркетологу понимать что такое API. Разбираем устройство API G...
Зачем интернет маркетологу понимать что такое API. Разбираем устройство API G...Зачем интернет маркетологу понимать что такое API. Разбираем устройство API G...
Зачем интернет маркетологу понимать что такое API. Разбираем устройство API G...
 
Как работать с API Google Analytics на языке R с помощью пакета googleAnalyti...
Как работать с API Google Analytics на языке R с помощью пакета googleAnalyti...Как работать с API Google Analytics на языке R с помощью пакета googleAnalyti...
Как работать с API Google Analytics на языке R с помощью пакета googleAnalyti...
 
Учим язык R на примере SQL запросов (Product Star Conference)
Учим язык R на примере SQL запросов (Product Star Conference)Учим язык R на примере SQL запросов (Product Star Conference)
Учим язык R на примере SQL запросов (Product Star Conference)
 
Алексей Селезнёв - Как держать руку на пульсе с помощью информационных дайдже...
Алексей Селезнёв - Как держать руку на пульсе с помощью информационных дайдже...Алексей Селезнёв - Как держать руку на пульсе с помощью информационных дайдже...
Алексей Селезнёв - Как держать руку на пульсе с помощью информационных дайдже...
 
Алексей Селезнёв - Работа с Facebook Marketing API на Языке R
Алексей Селезнёв - Работа с Facebook Marketing API на Языке RАлексей Селезнёв - Работа с Facebook Marketing API на Языке R
Алексей Селезнёв - Работа с Facebook Marketing API на Языке R
 

DESCRIPTION.pdf

  • 1. DESCRIPTION Метеданные пакета Разбираемся с основными полями Алексей Селезнёв
  • 3. Задача файла DESCRIPTION— хранить важные метаданные о вашем пакете.
  • 6. Title и Descripton • Title представляет собой однострочное описание пакета и часто отображается в листинге пакета. Это должен быть обычный текст (без разметки), каждое слово должно начинаться с заглавной буквы, и НЕ заканчивающийся точкой. Будьте краткими: списки часто урезают заголовок до 65 символов. • Description более подробное описание, чем заголовок. Вы можете использовать несколько предложений, но вы ограничены одним абзацем. Если ваше описание занимает несколько строк (а так и должно быть!), ширина каждой строки не должна превышать 80 символов. Отступ последующих строк с 4 пробелами.
  • 7. Authors@R • Функция person() имеет четыре основных аргумента: • Имя, указанное первыми двумя аргументами given и family (обычно они задаются по положению, а не по имени). • email, который является абсолютным требованием для сопровождающего. Важно отметить, что это адрес, который CRAN использует, чтобы сообщить вам, нужно ли исправить ваш пакет, чтобы остаться в CRAN. • Один или несколько трехбуквенных кодов, определяющих расширение role. Вот самые важные роли, о которых нужно знать: • cre: создатель или сопровождающий, человек, которого вы должны беспокоить, если у вас есть проблемы. • aut: авторы, внесшие значительный вклад в разработку пакета. • ctb: участники, те, кто внес меньший вклад, например патчи. • cph: правообладатель. Это используется для перечисления дополнительных правообладателей, которые не являются авторами, как правило, компаний, таких как работодатель одного или нескольких авторов. • fnd : спонсор, люди или организации, предоставившие финансовую поддержку для разработки пакета.
  • 8. URL и BugReports • Поле URL обычно используется для рекламы веб-сайта пакета и для ссылки на общедоступный репозиторий исходных кодов, где происходит разработка. • BugReports это URL-адрес, по которому следует отправлять отчеты об ошибках, например, как раздел issues GitHub.
  • 9. License • Поле License является обязательным и должно указывать лицензию вашего пакета в стандартной форме, распознаваемой R. Важно понимать, что это, по сути, машиночитаемое License поле. • Наиболее удобный способ установки лицензии в файле DESCRIPTION предоставляют следующие функции: • use_mit_license() – если вам нужна лицензия, чтобы люди могли использовать ваш код с минимальными ограничениями • use_gpl_license() - если вам нужна лицензия с авторским левом, чтобы все производные и пакеты вашего кода также имели открытый исходный код • use_cc0_license() - если ваш пакет в основном содержит данные, а не код, и вам нужны минимальные ограничения • use_ccby_license() – если ваш пакет содержит только данные, но вы хотите указания вашего авторства • use_proprietary_license() - если вы не хотите делать свой код открытым (На CRAN не пустят)
  • 10. Imports, Suggests, … • Пакеты, перечисленные в, Imports необходимы вашим пользователям во время выполнения и будут установлены (или потенциально обновлены), когда пользователи установят ваш пакет через install.packages(). • Пакеты, перечисленные в, Suggests либо необходимы для задач разработки, либо могут разблокировать дополнительные возможности пакета для ваших пользователей.
  • 11. Другие поля • Version – Версия вашего пакета, удобный способ сообщить на какой версии разработки находится ваш пакет. • LazyData – актуален если ваш пакет делает данные доступными для пользователя. Если вы укажете LazyData: true, наборы данных загружаются отложенно, что делает их более доступными, т. е. пользователям не нужно использовать data(). • Encoding – Описывает кодировку файлов вашего пакета. • Collate - управляет порядком получения файлов R. • VignetteBuilder - перечисляет любой пакет, который нужен вашему пакету в качестве механизма виньетирования. • SystemRequirements - Здесь вы описываете зависимости, внешние по отношению к R. Это обычное текстовое поле, которое, например, фактически не устанавливает и не проверяет что-либо, поэтому вам может потребоваться включить дополнительные сведения об установке в файл README.
  • 12. Пользовательские поля • Существует также некоторая гибкость для создания собственных полей для добавления дополнительных метаданных. В самом узком смысле единственным ограничением является то, что вы не должны переназначать официальные имена полей, используемые R. Вы также должны ограничить себя допустимыми английскими словами, чтобы имена полей не помечались проверкой орфографии. • На практике, если вы планируете отправлять в CRAN, мы рекомендуем, чтобы имя любого настраиваемого поля начиналось с Config/.