Documentation

Brand

peryx is fast as the falcon, sealed as the pyx: one blazing-fast, open-source vault for a wide range of ecosystems. The identity is built on a mark traced from a photo of a diving peregrine.

The name

Two real roots make one coined word. Between them they cover the three traits. Say it PERR-iks; always lowercase.

  • per· · the peregrine — speed, and every land. The fastest animal alive, over 380 km/h in a dive. Its Latin root peregrinus means "from every land", which stands for the wide-ecosystem axis: one vault, artifacts from many ecosystems.
  • ·yx · the pyx — a sealed, assayed vault. A pyx is a sealed box for safekeeping. In the Trial of the Pyx, sample coins are locked away, then assayed to prove they are genuine. That is the upload pipeline.

What peryx is

  • Open source — free, inspectable, self-hosted. No seat tax to run your own registry.
  • Blazing fast — features you do not enable cost nothing: no CPU, RAM, or latency for anything switched off.
  • Wide ecosystem support — PyPI and OCI today; npm, Maven, and Cargo next. Each is a driver behind one model.

Voice & taglines

Concise, technical, plain. Describe what it does and let the numbers carry the boast. Active voice; a control says what happens.

RegisterLine
LeadFast as the falcon, sealed as the pyx.
SubOne blazing-fast vault for a wide range of ecosystems.
DevCatch every package and prove every artifact, at falcon speed.
SecurityHeld under seal. Proven on push. Served at falcon speed.

Voice is not: enterprise buzzwords, "revolutionary", exclamation marks, or jargon a newcomer cannot decode.

A peregrine seen head-on in a full stoop, wings raised, diving. We traced it from a photograph rather than drawing it, mirrored it for symmetry, and reduced it to one gradient silhouette.

gradient · dark

gradient · light

the pyx seal

One silhouette, two uses. The bare falcon is the everyday mark. Sealed inside the hexagonal pyx it becomes the app icon and the verified-artifact badge. The enclosure survives the OS icon masks that clip the bare mark.

Clear space & minimum size

Keep clear space of half the mark's height on all sides. Minimum size 16 px, where it still reads as the falcon.

Logo expressions

Every form the mark ships in, all from one path plus the gradient. The complete interactive brand book, with copy-to-clipboard swatches and the live ecosystem palette, is at the brand book.

Wordmark lockups

peryx horizontal lockup
peryx stacked lockup

Lowercase, weight 800, tracking −2%. Gradient at display sizes, solid --text in body and nav. Never enclose the wordmark in the pyx.

Sizes, single-colour & seal

app icon · seal
avatar · mark
32px
16px
mono

Motion

The mark has one move: the stoop. It folds in from up and back, accelerates like gravity, throws off speed streaks, and settles in about 0.7 s. Click to replay. The seal never animates.

click to replay
loading · the stoop, looped
mirror syncdeterminate
indexingindeterminate

Transform and opacity only. Motion is a flourish, not a dependency: with prefers-reduced-motion the mark paints settled, the loop holds still, and progress bars show their value without animating.

Colour

One bold element, the rust-to-amber gradient, over neutral graphite. The signature gradient is linear-gradient(115deg, #f74c00, #ffb600), the same direction on every mark.

TokenHexRGB
--brand-a#f74c00247 76 0
--brand-b#ffb600255 182 0
--accent#d94400 / #ff8a3d217 68 0 / 255 138 61
--accent-strong#b23800178 56 0

Light and dark are one palette, not two brands: ink #1c2026 on paper #ffffff, mist #9aa4b0 on night #12151a.

Semantic colours signal state, not brand. They never stand in for the gradient, and colour never carries meaning on its own.

StateHex
Faster / OK#0ca30c
Warn#d98a00
Slow#ec835a
Critical#d03b3b

Ecosystems

A coloured device carries the ecosystem, and it is kept off the mark — the falcon never takes an ecosystem's colour. Each package type wears its own project's brand colour, so a PyPI index reads as PyPI and an OCI registry reads as OCI while both sit under one peryx gradient. It maps across the package types Artifactory supports, each in that project's own brand colour. A green dot marks the ones live in peryx today; the rest are what the (role × ecosystem) model is built to absorb without rework.

Languages & build18

PyPIPython #3775A9
npmNode #CB3837
MavenJava #C71A36
GradleJVM #02B9DF
GoModules #00ADD8
CargoRust #CE422B
NuGet.NET #004880
RubyGemsRuby #CC342D
ComposerPHP #777BB4
CocoaPodsObjC #E63E52
SwiftSwiftPM #F05138
ConanC/C++ #6699CB
CRANR #276DC3
CondaDS #44A833
PubDart #0175C2
Hugging FaceML #FFD21E
SBTScala #DC322F
IvyAnt #B36D43

Containers & charts2

OCIDocker #2496ED
HelmK8s #0F1689

OS packages4

DebianAPT #A80030
RPMYUM #CC0000
AlpineAPK #0D597F
Opkgembedded #8A8A8A

Infra & config4

Terraformmodules #7B42BC
Vagrantboxes #1868F2
Chefcookbooks #F09820
Puppetmodules #FFAE1A

Source & generic4

Git LFSlarge files #F05032
VCSrepos #6E5494
Bowerweb #EF5734
Genericany blob #6D6455

Typography

System stacks: a mono for labels, data, and the CLI the tool lives in, and a sans for UI and prose. No web fonts. The sans is system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; the mono is ui-monospace, "SF Mono", Menlo, Consolas, monospace.

Display / wordmark — sans 800, −2% trackingperyx
Heading — sans 700Serve a wide range of ecosystems from one vault.
Body — sans 400A caching proxy, a hosted store, and a virtual index that merges the two so local packages override upstream.
Mono — labels, code, CLI$ peryx mirror sync --ecosystem pypi # 1,284 files · 0.6s

In product

The system in use: buttons, badges, and status, all drawn from the gradient and the neutrals.

Buttons
Badges & status
Verified Healthy cached overridden
Ecosystem tags
npm Go Cargo OCI
Progress

In the wild

peryx DocsEcosystemsPricing Get started
website header
peryxverified
app icon · social avatar · README badge

Startup banner

The startup logo prints when the service boots. Two separate builds for two eras of terminal. Pick one at runtime; keep both off for non-TTY output and CI.

Modern terminals — truecolor & Unicode blocks


   the artifact vault · v0.1.0

proxy pypi.org, ghcr.io hosted 2,481 packages · 6.2 GB virtual /simple, /v2 ready in 0.42s on :8080

Old terminals — ASCII only, 16-colour or mono


  the artifact vault   v0.1.0
  ------------------------------------
  -> proxy    pypi.org, ghcr.io
  -> hosted   2481 packages, 6.2 GB
  -> virtual  /simple, /v2
  [ok] ready in 0.42s on :8080

Pick at runtime: truecolor plus UTF-8 selects the modern build; an older TERM, NO_COLOR, or a non-TTY pipe drops to the ASCII build in the terminal's own foreground.

Accessibility

Built to pass WCAG 2.1 AA. Contrast, focus, motion, and language are part of the system, not an afterthought.

Surface (measured)Contrast
Body text · light9.9 : 1
Body text · dark9.9 : 1
Headings · both15 : 1
Secondary labels≥ 5 : 1
Accent / links · light4.7 : 1

Beyond contrast:

  • Focus — every control shows a visible focus ring.
  • Keyboard — interactive demos run on Tab + Enter.
  • Motionprefers-reduced-motion stops the dive, loop, and progress bars.
  • Colour never carries meaning alone — ecosystem is a dot plus its name; status is an icon plus a word.
  • Minimum sizes — mark 16 px, seal 32 px, body 16 px.
  • Plain language — active voice, no jargon a newcomer cannot decode.

Usage

A few rules keep it coherent.

Gradient mark on a clean, contrasting ground.
× Gradient on a busy or low-contrast field.
Pyx seal for app tiles, badges, anything masked.
× Do not rotate, skew, or recolour the mark.
On this page