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.
| Register | Line |
|---|---|
| Lead | Fast as the falcon, sealed as the pyx. |
| Sub | One blazing-fast vault for a wide range of ecosystems. |
| Dev | Catch every package and prove every artifact, at falcon speed. |
| Security | Held under seal. Proven on push. Served at falcon speed. |
Voice is not: enterprise buzzwords, "revolutionary", exclamation marks, or jargon a newcomer cannot decode.
The logo
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
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
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
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.
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.
| Token | Hex | RGB |
|---|---|---|
--brand-a | #f74c00 | 247 76 0 |
--brand-b | #ffb600 | 255 182 0 |
--accent | #d94400 / #ff8a3d | 217 68 0 / 255 138 61 |
--accent-strong | #b23800 | 178 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.
| State | Hex |
|---|---|
| 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
Containers & charts2
OS packages4
Infra & config4
Source & generic4
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.
In product
The system in use: buttons, badges, and status, all drawn from the gradient and the neutrals.
In the wild
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 · light | 9.9 : 1 |
| Body text · dark | 9.9 : 1 |
| Headings · both | 15 : 1 |
| Secondary labels | ≥ 5 : 1 |
| Accent / links · light | 4.7 : 1 |
Beyond contrast:
- Focus — every control shows a visible focus ring.
- Keyboard — interactive demos run on Tab + Enter.
- Motion —
prefers-reduced-motionstops 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.