Skip to content
Merged

Logo #62

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# PRIK — Python Runtime Interop Kit

**Generate native Python bindings for Fortran, with editable `.pyi` contracts
and Pythonic APIs.**

PRIK generates native Python bindings from Fortran projects, producing
importable extensions and editable `.pyi` contracts for Pythonic APIs.
<p align="center">
<img src="docs/user/assets/prik-logo.png"
alt="PRIK — Bring Native Code to Python"
width="450">
</p>

**PRIK (Python Runtime Interop Kit)** generates native Python bindings from Fortran projects,
producing importable extensions and editable `.pyi` contracts for shaping Pythonic APIs.

[![Tests](https://github.com/PyNumLab/prik/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/PyNumLab/prik/actions/workflows/tests.yml)
[![Static Analysis](https://github.com/PyNumLab/prik/actions/workflows/static-analysis.yml/badge.svg?branch=main)](https://github.com/PyNumLab/prik/actions/workflows/static-analysis.yml)
Expand Down
18 changes: 11 additions & 7 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,17 @@ status: maintained
publication: reviewed
---

# PRIK — Python Runtime Interop Kit

**Generate native Python bindings for Fortran, with editable `.pyi` contracts
and Pythonic APIs.**

PRIK generates native Python bindings from Fortran projects, producing
importable extensions and editable `.pyi` contracts for Pythonic APIs.
<p align="center">
<img src="user/assets/prik-logo.png"
alt="PRIK — Bring Native Code to Python"
width="500">
</p>

<p align="center">
<strong>PRIK (Python Runtime Interop Kit)</strong> generates native Python
bindings for Fortran, with editable <code>.pyi</code> contracts for shaping
Pythonic APIs.
</p>

**Project status: Alpha.** Core Fortran wrapper workflows are
implemented and tested across supported compilers, but public APIs may still
Expand Down
138 changes: 112 additions & 26 deletions docs/stylesheets/site.css
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
:root {
--prik-primary: #245a78;
--prik-primary-rgb: 36 90 120;
--prik-primary-dark: #183f56;
--prik-primary-light: #78b9df;

--prik-primary-bg: #eaf2f7;
--prik-primary-bg-hover: #dbeaf2;
--prik-primary-bg-subtle: #f5f9fc;
}

.wy-nav-content {
max-width: 1200px;
margin: 0;
Expand Down Expand Up @@ -118,18 +129,18 @@

.prik-page-source a:hover,
.prik-page-source a:focus {
border-color: #2980b9;
color: #1f618d;
border-color: var(--prik-primary);
color: var(--prik-primary-dark);
}

.prik-primary-cta {
display: inline-flex;
align-items: center;
min-height: 2.6rem;
padding: 0.65rem 1rem;
border: 1px solid #176b64;
border: 1px solid var(--prik-primary);
border-radius: 0.35rem;
background: #176b64;
background: var(--prik-primary);
box-shadow: 0 2px 4px rgb(0 0 0 / 18%);
color: #fff;
font-weight: 700;
Expand All @@ -147,8 +158,8 @@

.prik-primary-cta:hover,
.prik-primary-cta:focus {
border-color: #0f514c;
background: #0f514c;
background: var(--prik-primary-dark);
border-color: var(--prik-primary-dark);
box-shadow: 0 4px 9px rgb(0 0 0 / 22%);
color: #fff;
transform: translateY(-1px);
Expand Down Expand Up @@ -186,7 +197,7 @@
position: absolute;
top: 50%;
right: 1rem;
color: #176b64;
color: var(--prik-primary);
content: "+";
font-size: 1.35rem;
line-height: 1;
Expand All @@ -195,21 +206,21 @@

.prik-faq-item[open] summary {
border-bottom: 1px solid #d6e0e5;
background: #f5fbfa;
background: var(--prik-primary-bg-subtle);
}

.prik-faq-item[open] summary::after {
content: "−";
}

.prik-faq-item summary:focus-visible {
outline: 2px solid #176b64;
outline: 2px solid var(--prik-primary);
outline-offset: 2px;
}

.prik-faq-item:target {
border-color: #176b64;
box-shadow: 0 0 0 2px rgb(23 107 100 / 14%);
border-color: var(--prik-primary);
box-shadow: 0 0 0 2px rgb(var(--prik-primary-rgb) / 14%);
}

.prik-faq-item > :not(summary) {
Expand Down Expand Up @@ -238,13 +249,17 @@
padding: 1rem;
border: 1px solid #cfdde5;
border-radius: 0.6rem;
background: linear-gradient(145deg, #f5fbfa, #eef6f8);
box-shadow: 0 2px 7px rgb(23 107 100 / 12%);
background: linear-gradient(
145deg,
var(--prik-primary-bg-subtle),
var(--prik-primary-bg)
);
box-shadow: 0 2px 7px rgb(var(--prik-primary-rgb) / 12%);
text-align: center;
}

.prik-performance-metric strong {
color: #176b64;
color: var(--prik-primary);
font-size: 2rem;
line-height: 1.1;
}
Expand Down Expand Up @@ -290,7 +305,7 @@
display: flex;
overflow-x: auto;
border-bottom: 1px solid #cfdde5;
background: #f5fbfa;
background: var(--prik-primary-bg-subtle);
}

.prik-example-tab {
Expand All @@ -306,14 +321,14 @@
}

.prik-example-tab:hover {
background: rgb(23 107 100 / 8%);
color: #0f514c;
background: rgb(var(--prik-primary-rgb) / 8%);
color: var(--prik-primary-dark);
}

.prik-example-tab[aria-selected="true"] {
border-bottom-color: #176b64;
border-bottom-color: var(--prik-primary);
background: #fff;
color: #0f514c;
color: var(--prik-primary-dark);
}

.prik-example-tab:focus-visible {
Expand Down Expand Up @@ -355,17 +370,17 @@

.prik-term-trigger > code,
.prik-term-trigger > .prik-term-label {
border-bottom: 1px dashed #176b64;
border-bottom: 1px dashed var(--prik-primary);
border-radius: 0.2rem;
background: #e7f4f2;
color: #0f514c;
background: var(--prik-primary-bg);
color: var(--prik-primary-dark);
}

.prik-term-trigger:hover > code,
.prik-term-trigger:hover > .prik-term-label,
.prik-term-wrap.is-open .prik-term-trigger > code,
.prik-term-wrap.is-open .prik-term-trigger > .prik-term-label {
background: #d9eeea;
background: var(--prik-primary-bg-hover);
}

.prik-term-trigger:focus-visible {
Expand All @@ -380,7 +395,7 @@
left: 50%;
width: min(19rem, calc(100vw - 2rem));
padding: 0.7rem 0.8rem;
border: 1px solid #0f514c;
border: 1px solid var(--prik-primary-dark);
border-radius: 0.45rem;
background: #253746;
box-shadow: 0 5px 14px rgb(0 0 0 / 22%);
Expand All @@ -406,8 +421,8 @@
left: 50%;
width: 0.7rem;
height: 0.7rem;
border-right: 1px solid #0f514c;
border-bottom: 1px solid #0f514c;
border-right: 1px solid var(--prik-primary-dark);
border-bottom: 1px solid var(--prik-primary-dark);
background: #253746;
content: "";
transform: translateX(-50%) rotate(45deg);
Expand Down Expand Up @@ -460,3 +475,74 @@
transition: none;
}
}

/* --------------------------------------------------------------------------
PRIK sidebar branding
-------------------------------------------------------------------------- */

.wy-side-nav-search {
background: var(--prik-primary);
}

/* Section headings */
.wy-menu-vertical p.caption,
.wy-menu-vertical header,
.wy-nav .wy-menu-vertical header {
color: var(--prik-primary-light);
}

/* Normal menu entries */
.wy-menu-vertical a {
color: #fff;
}

/* Hover / active */
.wy-menu-vertical a:hover,
.wy-menu-vertical a:active {
background-color: var(--prik-primary);
color: #fff;
}

.wy-side-nav-search .prik-site-brand {
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
}

.wy-side-nav-search .prik-site-logo {
display: flex;
align-items: center;
}

.wy-side-nav-search .prik-site-logo img.logo {
width: auto;
height: 4.4rem;
margin: 0;
padding: 0;
background: transparent;
border-radius: 0;
}

.wy-side-nav-search .prik-site-title {
color: #fff;
font-size: 1.2rem;
font-weight: 700;
}

/* ReadTheDocs elements that should follow the PRIK palette. */

.wy-side-nav-search input[type="text"] {
border-color: var(--prik-primary-dark);
}

.wy-nav .wy-menu-vertical a:hover,
.wy-menu-vertical a:active {
background-color: var(--prik-primary);
color: #fff;
}

.wy-nav-top {
background: var(--prik-primary);
}

Binary file added docs/user/assets/old/prik-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user/assets/old/prik-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user/assets/old/prik-mark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user/assets/prik-github-social-preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user/assets/prik-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user/assets/prik-logo2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user/assets/prik-logo3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user/assets/prik-mark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions docs_theme/main.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{% extends "base.html" %}

{% block site_name %}
<div class="prik-site-brand">
<a href="{{ nav.homepage.url|url }}" class="prik-site-logo" aria-label="PRIK home">
<img src="{{ config.theme.logo|url }}" class="logo" alt="PRIK logo">
</a>

<span class="prik-site-title">PRIK</span>
</div>
{% endblock %}
3 changes: 2 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
site_name: PRIK — Python Runtime Interop Kit
site_name: PRIK — Bring Native Code to Python
site_description: PRIK generates native Python bindings from Fortran projects, producing importable extensions and editable .pyi contracts for Pythonic APIs.
site_url: https://pynumlab.github.io/prik/
repo_url: https://github.com/PyNumLab/prik
Expand All @@ -9,6 +9,7 @@ site_dir: .artifacts/site
theme:
name: readthedocs
custom_dir: docs_theme
logo: user/assets/prik-mark.png
collapse_navigation: false
include_homepage_in_sidebar: true
navigation_depth: 4
Expand Down
Loading