Skip to content

Before you publish

Package identity, licenses, and API keys explained

Package identity

A full package ID uniquely identifies a package on a particular Tatin Registry. The version number follows semantic versioning conventions and has three or four parts, the build number being optional:

group-name-version[+buildnumber]

Group

A group might be

  • the name of a company
  • your name, even just your first name
  • a term such as aplteam (but not that one)

If you publish your package to the Principal Registry, maintain a group home page there for the group: include anything useful like background, motivation, contact details, whatever.

On other Tatin Registries, home pages may or may not make sense for a group, so a home page needs activating; see GroupHomePages in the INI file.

Package name

The package name should suggest what the package does.

The combination of group and name must be unique, but if your package does something very similar, you could use a name already used by a different group. Be cautious about this; the practice could become unhelpful.

Version

The version consists of three numbers separated by dots, optionally followed by a description.

major.minor.patch[-description]

e.g.:

1.2.3
1.2.3-beta-1
1.2.3-fix-for-the-foo-problem
1.2.3-issue-234

The description can include hyphens, but not a +, which serves as a delimiter.

Build number (optional)

An integer that gets bumped (incremented) with each build.

1.2.3+453
1.2.3-beta-1+911

Tatin bumps but otherwise largely ignores build numbers. Their only use is to distinguish builds when the version number does not change.

In most contexts, build numbers need not be specified and Tatin does not display them.

Licenses

Tatin is a community resource and offers software with minimal license restrictions. All licenses on the Principal Registry give users great freedom.

If you host a Tatin registry you can set your own license policy.

To publish a package on the Principal Registry at tatin.dev or on the test server you must give it a license property with an acceptable value.

Check the user command ]ListLicenses or its API equivalent ListLicenses.

API keys

To publish a package (or delete or deprecate it) you need an API key1 for the registry.

Request an API key

Include

  • Your desired group name (case insensitive)
  • Your real name
  • Company name, if relevant
  • Maintainer’s email address

Tatin Principal Registry

To publish on the Principal Registry at tatin.dev first request an API key.

When you receive it, create a home page for your group at the registry by visiting the groups page and then clicking on the name of your group.

Tatin Test Server

The Test Server publishes its API key on its website: Tatin-Test-API-Key.

You can publish on the Test Server anything you want, using any group name except aplteam or dyalog.

The Test Server is reset now and then, and whatever you publish there will eventually disappear.

Your keys

Your API keys are saved in your user settings. The quickest and safest way to edit them is with the command.

]TATIN.UserSettings -edit


  1. Fancy expression for a password used by an application.