TGViewer
Code Mining Code Mining @codemining · 914 subscribers
Post #71 292
Что такое PURL?
#словарькодмайнера

Питонист работает с PyPi и легко ориентируется в названиях подключаемых пакетов. Фронтендер аналогично работает с NPM. Но что если вам надо в рамках одной системы хранить, использовать и различать пакеты из разных экосистем?

Эту задачу и призван решить PURL — package "mostly universal" URL, т.е. практически универсальный URL (идентификатор) пакета. Это далеко не единственная, но наш взгляд одна из самых удачных схем идентификации пакетов, применимая к любому пакетному менеджеру и технологии.

Идентификатор составляют семь компонентов, объединённых в строку:
scheme:type/namespace/name@version?qualifiers#subpath

```- scheme — константа со значением pkg
- type — обозначение пакетного менеджера (из словаря)
- namespace — например, groupId в Maven
- name и version говорят сами за себя
- qualifiers — дополнительная опциональная информация, например указание на архитектуру или операционную систему
- subpath — опциональный путь внутри пакета, относительно его корня

На примерах:


pkg:deb/debian/curl@7.50.3-1?arch=i386&distro=jessie
pkg:gem/ruby-advisory-db-check@0.12.4
pkg:github/package-url/purl-spec@244fd47e07d1004f0aed9c
pkg:golang/google.golang.org/genproto#googleapis/api/annotations
pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?packaging=sources
pkg:npm/foobar@12.3.1
pkg:nuget/EnterpriseLibrary.Common@6.0.1304
pkg:pypi/django@1.11.1
`

URL в названии используется не случайно, это действительно валидный адрес, соответсвующий стандартам, который вполне могут научиться обрабатывать разные приложения.

Подробно изучить стандарт можно по ссылке: https://github.com/package-url/purl-spec
GitHub GitHub - package-url/purl-spec: A minimal specification for purl aka. a package "mostly universal" URL, join the discussion at… A minimal specification for purl aka. a package "mostly universal" URL, join the discussion at https://gitter.im/package-url/Lobby - package-url/purl-spec
More from @codemining
  1. Jul 3, 2026Пайконы и наблюдения вокруг В конце июля в Москве пройдет PyCon — конференция, которую я п…
  2. May 28, 2026🍏Стартовал коллоквиумом молодых ученых SYRCoSE! Сегодня на площадке этнографического парк…
  3. May 18, 2026Привет! Уже на этой неделе начинается Data Fest 2026 🥰 ура-ура!🤗 Наш список офлайнов: Мо…
  4. Apr 10, 2026"Срок подачи статей и тезисов на международную конференцию ИСП РАН «Иванниковские чтения»…
  5. Apr 6, 2026Иванниковские чтения 2026 CFP В 2026 году в Этномире (Калужская обл., Боровский р-н, д. Пе…
  6. Feb 10, 2026Код-майнинг сложно представить без открытого кода, поэтому мы не забываем поддерживать пол…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →