Atlas

Build

Variables, files, and accounts

Server-side variables, downloadable files, username and password accounts, and app logs.

Variables#

Values your app fetches at runtime, so you can change a message, a download link, or a setting without shipping an update. Add them on a product's Variables tab.

SettingMeaning
Licensed only (default)Only sent to apps with a valid license or signed-in account.
PublicAny copy of your app can read it, before sign-in. Good for version checks.
python
motd = atlas.variable("motd")      # one value, or None
all_vars = atlas.variables()       # every variable you can read

Customers can read them

Anything your app can fetch, a customer can read too. Never store secret API keys in a variable.

User variables#

Data stored on one license, such as a saved setting or a tier. Edit them on the license's page. Values marked read-only can be read by the app but not changed.

python
atlas.user_variables()                 # {"tier": "gold", "theme": "dark"}
atlas.set_user_variable("theme", "light")  # fails with read_only on read-only values

Files#

Downloads your app fetches with download(file_id), such as plugins or updates. Upload a file of up to 10 MB, or link one of up to 50 MB that Atlas fetches for each download. Private files are only sent to licensed apps; public ones to anyone. Every SDK checks the download against its signed SHA-256, so a tampered file is rejected.

User accounts#

Let customers sign in with a username and password instead of typing their key each time. An account is created once with a license key, then used on every launch.

python
atlas.register("jordan", "a-long-password", user_key)  # once
result = atlas.login("jordan", "a-long-password")       # every launch
  • Usernames are 3 to 32 letters, numbers, dots, dashes, or underscores, and aren't case-sensitive.
  • Passwords need at least 8 characters.
  • Each license has at most one account.
  • On the Users page you can create accounts, reset passwords, and disable or delete them. A disabled account fails with user_disabled.

Logs#

Your app can send a line with log(message). It shows on the Logs page with the license, account, and device that sent it. Useful for spotting abuse or debugging a customer's setup.