This is an automated email from the ASF dual-hosted git repository.
400Ping pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/mahout.git
The following commit(s) were added to refs/heads/main by this push:
new e10d84d20 [Website] Restructure navbar, add Powered By page, refresh
homepage and community docs (#1493)
e10d84d20 is described below
commit e10d84d2020302ccd1fdf9a040f65d24bd5f73a3
Author: Jie-Kai Chang <[email protected]>
AuthorDate: Mon Sep 21 22:47:31 2026 +0800
[Website] Restructure navbar, add Powered By page, refresh homepage and
community docs (#1493)
Signed-off-by: 400Ping <[email protected]>
---
.claude/launch.json | 18 ++
.github/ISSUE_TEMPLATE/powered-by.yml | 120 +++++++++++
README.md | 21 --
docs/advanced/index.md | 11 +
docs/blog/authors.yml | 2 +-
docs/community/index.md | 78 ++++----
docs/community/who-we-are.md | 40 ++--
docs/index.md | 60 ++++--
website/docusaurus.config.ts | 89 +++++++--
website/sidebars.ts | 80 ++++----
website/src/data/powered-by.json | 207 +++++++++++++++++++
website/src/pages/index.module.css | 8 +
website/src/pages/index.tsx | 89 ++++++++-
website/src/pages/powered-by.module.css | 221 +++++++++++++++++++++
website/src/pages/powered-by.tsx | 195 ++++++++++++++++++
website/static/img/powered-by/365media.jpg | Bin 0 -> 4953 bytes
website/static/img/powered-by/accenture.svg | 31 +++
website/static/img/powered-by/adobe.svg | 46 +++++
website/static/img/powered-by/aol.svg | 60 ++++++
.../static/img/powered-by/booz-allen-hamilton.svg | 135 +++++++++++++
.../img/powered-by/carnegie-mellon-university.svg | 89 +++++++++
website/static/img/powered-by/datamine-lab.jpg | Bin 0 -> 26811 bytes
website/static/img/powered-by/deri-nui-galway.png | Bin 0 -> 116472 bytes
website/static/img/powered-by/dicode-project.png | Bin 0 -> 2735 bytes
website/static/img/powered-by/drupal.svg | 15 ++
website/static/img/powered-by/foursquare.svg | 15 ++
website/static/img/powered-by/idealo.svg | 92 +++++++++
website/static/img/powered-by/intel.svg | 46 +++++
website/static/img/powered-by/ioffer.gif | Bin 0 -> 4900 bytes
website/static/img/powered-by/kauli.gif | Bin 0 -> 3109 bytes
website/static/img/powered-by/linkedin.svg | 41 ++++
website/static/img/powered-by/lucidworks.png | Bin 0 -> 19050 bytes
website/static/img/powered-by/mendeley.png | Bin 0 -> 148791 bytes
website/static/img/powered-by/mobage.png | Bin 0 -> 879 bytes
website/static/img/powered-by/myrrix.png | Bin 0 -> 4353 bytes
.../powered-by/nagoya-institute-of-technology.png | Bin 0 -> 8200 bytes
website/static/img/powered-by/newscred.png | Bin 0 -> 3037 bytes
.../static/img/powered-by/predixion-software.png | Bin 0 -> 2926 bytes
website/static/img/powered-by/researchgate.svg | 1 +
website/static/img/powered-by/sematext.png | Bin 0 -> 7316 bytes
website/static/img/powered-by/tu-berlin.svg | 34 ++++
website/static/img/powered-by/twitter.svg | 4 +
website/static/img/powered-by/yahoo-mail.svg | 51 +++++
.../versioned_docs/version-0.6/advanced/index.md | 11 +
.../community/pr-policy-and-review-guidelines.md | 9 +-
.../versioned_sidebars/version-0.6-sidebars.json | 3 +-
46 files changed, 1747 insertions(+), 175 deletions(-)
diff --git a/.claude/launch.json b/.claude/launch.json
new file mode 100644
index 000000000..ba6b3530e
--- /dev/null
+++ b/.claude/launch.json
@@ -0,0 +1,18 @@
+{
+ "version": "0.0.1",
+ "configurations": [
+ {
+ "name": "website-serve",
+ "runtimeExecutable": "/usr/local/bin/node",
+ "runtimeArgs": [
+ "node_modules/.bin/docusaurus",
+ "serve",
+ "--port",
+ "3001",
+ "--no-open"
+ ],
+ "cwd": "website",
+ "port": 3001
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/powered-by.yml
b/.github/ISSUE_TEMPLATE/powered-by.yml
new file mode 100644
index 000000000..b4fab88e4
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/powered-by.yml
@@ -0,0 +1,120 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: "Powered By Mahout submission"
+description: "Add your organization or project to mahout.apache.org/powered-by"
+title: "[Powered By] <organization or project name>"
+labels: ["powered-by"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for telling the community what you are building with Apache
Mahout.
+
+ Only the first three fields are required. An entry that is just a name
+ and a link is perfectly fine.
+
+ **This issue is public.** Only include things you are happy to see on a
+ public website. A committer will review the submission and add it to
+ the Powered By page.
+
+ - type: input
+ id: name
+ attributes:
+ label: Organization or project name
+ description: Exactly as it should be printed.
+ placeholder: Acme Inc
+ validations:
+ required: true
+
+ - type: input
+ id: website
+ attributes:
+ label: Website
+ placeholder: https://example.com
+ validations:
+ required: true
+
+ - type: dropdown
+ id: deployment_stage
+ attributes:
+ label: Deployment stage
+ description: >-
+ Recorded for the project's own understanding of adoption. The Powered
+ By page does not sort or label organizations by this.
+ options:
+ - Production
+ - Pilot / proof of concept
+ - Research / academic
+ - Evaluating
+ - Integration / community project
+ validations:
+ required: true
+
+ - type: dropdown
+ id: component
+ attributes:
+ label: Which parts of Mahout do you use?
+ multiple: true
+ options:
+ - Qumat (quantum circuits)
+ - QDP (quantum data encoding)
+ - Mahout Classic (Samsara / MapReduce)
+
+ - type: input
+ id: use_case
+ attributes:
+ label: What are you using Apache Mahout for?
+ description: >-
+ A short phrase. Becomes the category shown above your description.
+ placeholder: Quantum kernel methods
+
+ - type: textarea
+ id: description
+ attributes:
+ label: Short description
+ description: >-
+ One to three sentences, in the third person. This is published as
+ written, so phrase it the way you want to be quoted. Leave it blank
+ and your entry appears in the organization list without a write-up.
+ placeholder: >-
+ Acme Inc uses Qumat to prototype variational circuits once and run
+ them on Qiskit and Braket without rewriting the circuit code.
+
+ - type: textarea
+ id: logo
+ attributes:
+ label: Logo
+ description: >-
+ Optional. Attach or link an SVG (preferred) or a transparent PNG at
+ least 400px wide. The site has a light and a dark theme, so a logo
+ that works on both is ideal. Without a logo your name is shown as text.
+
+ - type: input
+ id: case_study
+ attributes:
+ label: Public case study, paper, or blog post
+ description: Optional. A link we can point readers at.
+ placeholder: https://example.com/blog/quantum-kernels-with-qumat
+
+ - type: input
+ id: contact
+ attributes:
+ label: Contact for follow-up
+ description: >-
+ Optional, and never published on the website. This issue itself is
+ public, so if you would rather not post an address, leave this blank.
+ A committer will reply in the thread, or you can email
+ [email protected].
diff --git a/README.md b/README.md
index 99dedd720..1a13af2e6 100644
--- a/README.md
+++ b/README.md
@@ -71,26 +71,5 @@ engine = qdp.QdpEngine(device_id=0)
qtensor = engine.encode([1.0, 2.0, 3.0, 4.0], num_qubits=2,
encoding_method="amplitude")
```
-## Roadmap
-
-### 2024
-- [x] Transition of Classic to maintenance mode
-- [x] Integration of Qumat with hardened (tests, docs, CI/CD) Cirq, Qiskit,
and Braket backends
-- [x] Integration with Amazon Braket
-- [x] [Public talk about
Qumat](https://2024.fossy.us/schedule/presentation/265/)
-
-### 2025
-- [x] [FOSDEM
talk](https://fosdem.org/2025/schedule/event/fosdem-2025-5298-introducing-qumat-an-apache-mahout-joint-/)
-- [x] QDP: Foundation & Infrastructure (Rust workspace, build configuration)
-- [x] QDP: Core Implementation (CUDA kernels, CPU preprocessing, GPU memory
management)
-- [x] QDP: Zero-copy and Safety (DLManagedTensor, DLPack structures)
-- [x] QDP: Python Binding (PyO3 wrapping, DLPack protocol)
-
-### Q1 2026
-- [ ] QDP: Input Format Support (PyTorch, NumPy, TensorFlow integration)
-- [ ] QDP: Verification and Testing (device testing, benchmarking)
-- [ ] QDP: Additional Encoders (angle/basis encoding, multi-GPU optimization)
-- [ ] QDP: Integration & Release (documentation, example notebooks, PyPI
publishing)
-
## Legal
Please see the `NOTICE.txt` included in this directory for more information.
diff --git a/docs/advanced/index.md b/docs/advanced/index.md
new file mode 100644
index 000000000..560eb08c3
--- /dev/null
+++ b/docs/advanced/index.md
@@ -0,0 +1,11 @@
+---
+title: PQC Guides
+sidebar_label: PQC Guides
+---
+
+# PQC Guides
+
+In-depth material on parameterized quantum circuits (PQCs) in Qumat. Start
with the [Parameterized Circuits](../qumat/parameterized-circuits) page for the
basics of rotation gates and parameter binding, then continue here.
+
+- [PQC Developer's Guide](./pqc): the theory, design, and applications of
PQCs, written for developers implementing them from scratch
+- [Qumat PQC Gap Analysis](./gap-analysis): what the Qumat codebase needs for
a minimally viable and then a feature-complete PQC implementation
diff --git a/docs/blog/authors.yml b/docs/blog/authors.yml
index ab99030b0..22e869c81 100644
--- a/docs/blog/authors.yml
+++ b/docs/blog/authors.yml
@@ -7,7 +7,7 @@ mahout-team:
jiekaichang:
name: Jie-Kai Chang
- title: Apache Mahout PMC Member
+ title: Apache Mahout PMC Chair (VP)
url: https://github.com/400Ping
image_url: /img/jiekaichang.png
diff --git a/docs/community/index.md b/docs/community/index.md
index 98ae9eaae..4c97b6a23 100644
--- a/docs/community/index.md
+++ b/docs/community/index.md
@@ -5,63 +5,59 @@ sidebar_label: Community Overview
# Community Overview
-The Apache Mahout community consists of developers, users, data scientists,
researchers, and open-source contributors who collaborate to build scalable
machine-learning libraries on the Apache platform.
-Mahout follows the principles of the Apache Software Foundation β openness,
transparency, community-driven development, and meritocracy.
+The Apache Mahout community consists of developers, users, researchers, and
open-source contributors who collaborate on [Qumat](../qumat/index.md), a
high-level Python library for quantum computing, and [QDP](../qdp/index.md),
its GPU-accelerated quantum data encoding engine.
+Mahout follows the principles of the Apache Software Foundation: openness,
transparency, community-driven development, and meritocracy.
-This page explains the official communication channels, how to participate,
and how to contribute to the project.
+This page is the starting point for the community section. It explains where
discussion happens, how to participate, and where to find the project's
policies.
-There are numerous ways to engage with the Mahout community, no matter your
background or skill level. Some options include:
+## Community Pages
+
+- [Who We Are](./who-we-are.md): the PMC members, committers, and emeritus
contributors behind the project
+- [Mailing Lists, IRC and Archives](./mailing-lists.md): how to subscribe to
the user, dev, and commits lists
+- [How to Contribute](../about/how-to-contribute.md): getting involved,
picking something to work on, and submitting changes
+- [PR Policy and Review Guidelines](./pr-policy-and-review-guidelines.md):
what reviewers expect and how pull requests are merged
+- [Code of Conduct](./code-of-conduct.md): the standards every community
member is expected to uphold
+- [Blog](/blog) and [Meeting Minutes](/blog/minutes): project news and notes
from the monthly community meeting
+- [Powered By](/powered-by): organizations and research groups using Mahout,
and how to add yours
## Monthly Community Meeting
-Apache Mahout holds a community meeting every month. To get involved,
subscribe to the Google Calendar to view and join the meeting.
+Apache Mahout holds a community meeting every month. Anyone is welcome to
join. Subscribe to the Google Calendar to see upcoming meetings, and read past
[meeting minutes](/blog/minutes) to catch up.
-[Subscribe](https://calendar.google.com/calendar/u/0/r?cid=ZGM4MWY4MTYxYjcyYTRkNGM4ZTVkYjU4MjI5MzYzZWUxMzkxZDllNWU5ZWI1NzUyNzliZTdmN2NhOGQ2ODUzMUBncm91cC5jYWxlbmRhci5nb29nbGUuY29t)
+[Subscribe to the
calendar](https://calendar.google.com/calendar/u/0/r?cid=ZGM4MWY4MTYxYjcyYTRkNGM4ZTVkYjU4MjI5MzYzZWUxMzkxZDllNWU5ZWI1NzUyNzliZTdmN2NhOGQ2ODUzMUBncm91cC5jYWxlbmRhci5nb29nbGUuY29t)
---
## How to Participate
-There are several ways to engage with the Mahout community:
-
### π¬ Mailing Lists
-All official communication for Mahout happens on Apache-managed public mailing
lists:
-- **User List (questions, installation help, usage discussions):**
- https://lists.apache.org/[email protected]
+All official communication for Mahout happens on Apache-managed public mailing
lists:
-- **Development List (design discussions, patches, roadmap, votes):**
- https://lists.apache.org/[email protected]
+- **User list** (questions, installation help, usage discussions):
https://lists.apache.org/[email protected]
+- **Development list** (design discussions, patches, roadmap, votes):
https://lists.apache.org/[email protected]
-To subscribe, send an empty email to:
+To subscribe, send an empty email to `[email protected]` or
`[email protected]`. See the [mailing lists
page](./mailing-lists.md) for the full set of lists and archives.
-- `[email protected]`
-- `[email protected]`
+### π Issues and Pull Requests
----
+Mahout uses GitHub Issues and Pull Requests for development:
-### π Issue Tracking & Contributions
-Mahout uses **GitHub Issues and Pull Requests** for development.
-
-- **Source Code:** https://github.com/apache/mahout
-- **Open Issues:** https://github.com/apache/mahout/issues
-- **Pull Requests:** https://github.com/apache/mahout/pulls
+- **Source code:** https://github.com/apache/mahout
+- **Open issues:** https://github.com/apache/mahout/issues
+- **Pull requests:** https://github.com/apache/mahout/pulls
If you find a bug or want to propose a feature:
1. Open a GitHub issue
-2. Discuss the design on the **dev mailing list**
-3. Submit a Pull Request
-
----
+2. Discuss significant changes on the **dev mailing list**
+3. Submit a pull request that follows the [PR Policy and Review
Guidelines](./pr-policy-and-review-guidelines.md)
-### π Documentation & Website
-Contribute to documentation or help update website pages (like this one):
+### π Documentation and Website
-- https://mahout.apache.org
-- Website source folder: `/website/`
+Documentation lives in the `docs/` folder of the main repository and is
published to https://mahout.apache.org. The site itself is built from
`website/`.
-Documentation improvements are always welcome β fixing broken links, updating
examples, adding explanations, etc.
+Documentation improvements are always welcome: fixing broken links, updating
examples, adding explanations, or writing new guides. See [How to
Contribute](../about/how-to-contribute.md) for the workflow.
---
@@ -70,29 +66,25 @@ Documentation improvements are always welcome β fixing
broken links, updating
Apache Mahout follows the ASF standard contribution process:
- Communicate on the mailing list before large changes
-- Submit well-tested Pull Requests
-- Follow project coding style and review guidelines
+- Submit small, well-tested pull requests
+- Follow the [PR Policy and Review
Guidelines](./pr-policy-and-review-guidelines.md), including the rules for
AI-assisted contributions
- Participate in community discussions and votes
-- Respect others β Mahout operates under the ASF Code of Conduct
-
-ASF Code of Conduct:
-https://www.apache.org/foundation/policies/conduct
+- Respect others. Mahout operates under its own [Code of
Conduct](./code-of-conduct.md), which builds on the [ASF Code of
Conduct](https://www.apache.org/foundation/policies/conduct)
---
## Community and Governance
-Mahout is governed by the **Apache Mahout PMC** (Project Management Committee).
-The PMC is responsible for project direction, releases, and community
oversight.
+Mahout is governed by the **Apache Mahout PMC** (Project Management
Committee). The PMC is responsible for project direction, releases, and
community oversight. The current members are listed on the [Who We
Are](./who-we-are.md) page.
Contributors who consistently help the project through code, documentation, or
community involvement may be invited to become:
-- **Committers** β have write access to the repository
-- **PMC Members** β participate in project decision-making
+- **Committers**, who have write access to the repository
+- **PMC members**, who participate in project decision-making
Mahout community decisions are made publicly on the **[email protected]**
mailing list following ASF voting rules.
---
Thank you for being part of the Apache Mahout community!
-Contributions of all kinds β code, documentation, discussion, or feedback β
help keep the project healthy and evolving.
+Contributions of all kinds, whether code, documentation, discussion, or
feedback, help keep the project healthy and evolving.
diff --git a/docs/community/who-we-are.md b/docs/community/who-we-are.md
index 426785cb8..374c6abc0 100644
--- a/docs/community/who-we-are.md
+++ b/docs/community/who-we-are.md
@@ -17,37 +17,41 @@ Name | Mail | PMC | Comment
------------------------|------------------:|------:|---:|
Anand Avati | avati@... | No | @anandavati
Andrew Musselman | akm@... | Yes | @akm
-Andrew Palumbo | apalumbo@... | Yes |
-Dan Filimon | dfilimon@... | No |
-Dmitriy Lyubimov | dlyubimov@... | No | (Emeritus PMC)
-Drew Farris | drew@... | No | (Emeritus PMC)
+Andrew Palumbo | apalumbo@... | Yes | @andrewpalumbo
+Christofer Dutz | cdutz@... | No | @chrisdutz
+Dan Filimon | dfilimon@... | No | @dfilimon
+Dmitriy Lyubimov | dlyubimov@... | No | (Emeritus PMC) @dlyubimov
+Drew Farris | drew@... | No | (Emeritus PMC) @drewfarris
Dustin VanStee | vanstee@... | No |
Ellen Friedman | ellenf@... | No | @Ellen_Friedman
-Frank Scholten | frankscholten@... | No |
-Gokhan Capan | gcapan@... | No |
+Frank Scholten | frankscholten@... | No | @frankscholten
+Gokhan Capan | gcapan@... | No | @gcapan
Grant Ingersoll | gsingers@... | No | (Emeritus PMC) @gsingers
Guan-Hua (Vic) Wen | vicwen@... | No | @viiccwen
Guan-Ming (Wesley) Chiu | guanmingchiu@... | Yes | @guan404ming
-Holden Karau | holden@... | No |
-Isabel Drost-Fromm | isabel@... | Yes | <!--Passion for free
software (development, but to some extend also the political and economic
implications), interested in agile development and project management, lives in
Germany. Follow me on Twitter @MaineC-->
-Jacob Alexander Mannix | jmannix@... | Yes |
+Holden Karau | holden@... | No | @holdenk
+Isabel Drost-Fromm | isabel@... | Yes | @MaineC
+Jacob Alexander Mannix | jmannix@... | Yes | @jakemannix
Jeff Eastman | jeastman@... | No | (Emeritus PMC)
-Jie-Kai (Jay) Chang | jiekaichang@... | Yes | @400Ping
+Jie-Kai (Jay) Chang | jiekaichang@... | Yes | PMC Chair @400Ping
+Jowanza Joseph | jowanza@... | No | @josep2
Krishna Dave | krishnadave829@...| No | @krishnadave
-Kuan-Hao Huang | richhuang@... | No | @rich7420
-Nikolay Sakharnykh | nsakharnykh@... | No |
+Kuan-Hao Huang | richhuang@... | Yes | @rich7420
+Nikolay Sakharnykh | nsakharnykh@... | No | @nsakharnykh
Paritosh Ranjan | pranjan@... | Yes | @paritoshranjan
Pat Ferrel | pat@... | Yes | (Emeritus PMC) @occam
-Robin Anil | robinanil@... | Yes |
+Robin Anil | robinanil@... | Yes | @robinanil
Ryan Huang | hcr@... | No | @ryankert01
-Sean Owen | srowen@... | No | (Emeritus PMC)
-Sebastian Schelter | ssc@... | Yes |
-Shannon Quinn | squinn@... | Yes | PMC Chair
@[email protected]
+Sean Owen | srowen@... | No | (Emeritus PMC) @srowen
+Sebastian Schelter | ssc@... | Yes | @sscdotopen
+Shannon Quinn | squinn@... | Yes | @magsol
Stevo SlaviΔ | sslavic@... | Yes | @sslavic
Suneel Marthi | smarthi@... | No | (Emeritus PMC)
@suneelmarthi
-Ted Dunning | tdunning@... | Yes |
+Ted Dunning | tdunning@... | Yes | @tdunning
Tom Pierce | tcp@... | No |
-Trevor Grant | rawkintrevo@... | Yes | (Emeritus PMC)
+Tommy Naugle | tommy@... | No | @tdnaugle
+Trevor Grant | rawkintrevo@... | Yes | (Emeritus PMC) @rawkintrevo
+Yu-Chen Lai | yclai@... | No | @0lai0
<a name="WhoWeAre-EmeritusCommitters"></a>
## Emeritus Committers
diff --git a/docs/index.md b/docs/index.md
index ee26b7e88..c42c85c46 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,33 +1,49 @@
---
-title: QuMat Documentation
+title: Mahout Documentation
+sidebar_label: Mahout Documentation
---
-
+
-# QuMat
+# Apache Mahout Documentation
-QuMat is a high level Python library for interfacing with multiple
-quantum computing backends. It is designed to be easy to use and to abstract
-the particularities of each backend, so that you may 'write once, run
-anywhere.'
+Apache Mahout is an Apache Software Foundation project for quantum computing
in Python. It ships two components:
-## Documentation
+- **Qumat** is a high-level library for building quantum circuits with
standard gates and running them on Qiskit, Cirq, or Amazon Braket through one
unified API. Write once, execute anywhere.
+- **QDP (Quantum Data Plane)** is a GPU-accelerated engine for encoding
classical data into quantum states, with zero-copy tensor transfer to and from
PyTorch, NumPy, and TensorFlow via DLPack.
-### Getting Started
-- [Getting Started with QuMat](./qumat/getting-started) - Introduction and
setup guide
+New here? Start with [Getting Started](./qumat/getting-started), which covers
installation and your first circuit.
-### Core Concepts
-- [Basic Gates](./qumat/basic-gates) - Introduction to fundamental quantum
gates (NOT, Hadamard, CNOT, Toffoli, SWAP, Pauli gates, CSWAP, U gate)
-- [Parameterized Quantum Circuits and Rotation
Gates](./qumat/parameterized-circuits) - Rotation gates (Rx, Ry, Rz) and
creating/optimizing parameterized circuits
+## Qumat (Circuits)
-### Python API Reference
-- [Qumat API](./qumat/api) - Generated reference for quantum circuits
-- [QDP API](./qdp/api) - Generated reference for quantum data encoding
+- [Overview](./qumat) - What Qumat is and which backends it supports
+- [Basic Gates](./qumat/basic-gates) - NOT, Hadamard, CNOT, Toffoli, SWAP,
Pauli, CSWAP, and U gates
+- [Parameterized Circuits](./qumat/parameterized-circuits) - Rotation gates
(Rx, Ry, Rz) and building circuits with tunable parameters
+- [API Reference](./qumat/api) - Generated reference for the `qumat` package
+- [Core Concepts](./qumat/concepts) - The ideas behind the circuit abstraction
+- [Examples](./qumat/examples) - Worked examples across backends
-### Additional Resources
-- [Parameterized Quantum Circuits: Developer's Guide](./advanced/pqc) -
In-depth guide to PQCs
-- [Qumat Gap Analysis for PQC](./advanced/gap-analysis) - Analysis of PQC
capabilities
+## QDP (Data Encoding)
-### Qumat Components
-- [Qumat (Circuits)](./qumat) - Quantum circuit abstraction layer
-- [QDP (Quantum Data Plane)](./qdp) - GPU-accelerated data encoding
+- [Overview](./qdp) - What QDP is and how it fits with Qumat
+- [Getting Started with QDP](./qdp/getting-started) - Installation, GPU
requirements, and a first encoding
+- [Core Concepts](./qdp/concepts) - Encoding methods, tensors, and the
execution model
+- [API Reference](./qdp/api) - Generated reference for the `qumat_qdp` package
+- [Python API](./qdp/python-api) - The user-facing Python facade, loaders, and
backend selection
+- [Examples](./qdp/examples) - End-to-end encoding examples
+- Internals: [Readers](./qdp/readers), [Observability](./qdp/observability),
[Testing](./qdp/testing)
+
+## Resources
+
+- [PQC Guides](./advanced) - Developer's guide and gap analysis for
parameterized quantum circuits
+- [Quantum Computing Primer](./learning/quantum-computing-primer) - A
ten-chapter introduction to quantum computing using Qumat
+- [Research Papers](./learning/papers) - Papers and publications related to
Qumat and quantum computing
+
+## Community
+
+- [Community Overview](./community) - How the project communicates and makes
decisions
+- [Who We Are](./community/who-we-are) - PMC members and committers
+- [Mailing Lists](./community/mailing-lists) - Subscribe to the user, dev, and
commits lists
+- [How to Contribute](./about/how-to-contribute) - Getting involved and
submitting changes
+- [PR Policy and Review
Guidelines](./community/pr-policy-and-review-guidelines) - What reviewers expect
+- [Code of Conduct](./community/code-of-conduct) - Community standards
diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts
index d52ba7f8d..820c79cda 100644
--- a/website/docusaurus.config.ts
+++ b/website/docusaurus.config.ts
@@ -142,25 +142,48 @@ const config: Config = {
position: 'left',
items: [
{
- label: 'Overview of the Apache Software Foundation',
+ label: 'Apache Software Foundation',
+ href: 'https://www.apache.org/',
+ },
+ {
+ label: 'How the ASF Works',
href: 'https://www.apache.org/foundation/how-it-works.html',
},
{
- type: 'doc',
- docId: 'about/how-to-contribute',
- label: 'How to Contribute',
+ label: 'License',
+ href: 'https://www.apache.org/licenses/',
+ },
+ {
+ label: 'Events',
+ href: 'https://www.apache.org/events/current-event',
+ },
+ {
+ label: 'Security',
+ href: 'https://www.apache.org/security/',
+ },
+ {
+ label: 'Sponsorship',
+ href: 'https://www.apache.org/foundation/sponsorship.html',
+ },
+ {
+ label: 'Thanks',
+ href: 'https://www.apache.org/foundation/thanks.html',
+ },
+ {
+ label: 'Privacy',
+ href:
'https://privacy.apache.org/policies/privacy-policy-public.html',
},
],
},
- // Qumat dropdown
+ // Docs dropdown (mirrors the top level of the docs sidebar)
{
type: 'dropdown',
- label: 'Qumat',
+ label: 'Docs',
position: 'left',
items: [
{
type: 'doc',
- docId: 'qumat/index',
+ docId: 'index',
label: 'Overview',
},
{
@@ -168,11 +191,42 @@ const config: Config = {
docId: 'qumat/getting-started',
label: 'Getting Started',
},
+ {
+ type: 'doc',
+ docId: 'qumat/index',
+ label: 'Qumat (Circuits)',
+ },
{
type: 'doc',
docId: 'qdp/index',
label: 'QDP (Data Encoding)',
},
+ ],
+ },
+ // Download
+ {
+ type: 'doc',
+ docId: 'qumat/getting-started',
+ label: 'Download',
+ position: 'left',
+ },
+ // Powered By
+ {
+ to: '/powered-by',
+ label: 'Powered By',
+ position: 'left',
+ },
+ // Resources dropdown
+ {
+ type: 'dropdown',
+ label: 'Resources',
+ position: 'left',
+ items: [
+ {
+ type: 'doc',
+ docId: 'advanced/index',
+ label: 'PQC Guides',
+ },
{
type: 'doc',
docId: 'learning/quantum-computing-primer/index',
@@ -185,13 +239,6 @@ const config: Config = {
},
],
},
- // Download
- {
- type: 'doc',
- docId: 'qumat/getting-started',
- label: 'Download',
- position: 'left',
- },
// Community dropdown
{
type: 'dropdown',
@@ -217,11 +264,21 @@ const config: Config = {
label: 'Issue Tracker',
href: 'https://issues.apache.org/jira/browse/MAHOUT',
},
+ {
+ type: 'doc',
+ docId: 'about/how-to-contribute',
+ label: 'How to Contribute',
+ },
{
type: 'doc',
docId: 'community/code-of-conduct',
label: 'Code of Conduct',
},
+ {
+ type: 'doc',
+ docId: 'community/pr-policy-and-review-guidelines',
+ label: 'PR Policy & Review',
+ },
],
},
// News (Blog)
@@ -289,6 +346,10 @@ const config: Config = {
label: 'Who We Are',
to: '/docs/community/who-we-are',
},
+ {
+ label: 'Powered By',
+ to: '/powered-by',
+ },
],
},
{
diff --git a/website/sidebars.ts b/website/sidebars.ts
index 04ab3f439..168d277bb 100644
--- a/website/sidebars.ts
+++ b/website/sidebars.ts
@@ -34,6 +34,7 @@ const sidebars: SidebarsConfig = {
'qdp/getting-started',
'qdp/concepts',
'qdp/api',
+ 'qdp/python-api',
'qdp/examples',
{
type: 'category',
@@ -49,40 +50,48 @@ const sidebars: SidebarsConfig = {
},
{
type: 'category',
- label: 'Advanced Topics',
+ label: 'Resources',
collapsed: true,
items: [
- 'advanced/pqc',
- 'advanced/gap-analysis',
- ],
- },
- {
- type: 'category',
- label: 'Quantum Computing Primer',
- collapsed: true,
- link: {type: 'doc', id: 'learning/quantum-computing-primer/index'},
- items: [
- 'learning/quantum-computing-primer/introduction',
- 'learning/quantum-computing-primer/qubits',
- 'learning/quantum-computing-primer/quantum-gates',
- 'learning/quantum-computing-primer/quantum-circuits',
- 'learning/quantum-computing-primer/quantum-entanglement',
- 'learning/quantum-computing-primer/quantum-algorithms',
- 'learning/quantum-computing-primer/quantum-error-correction',
- 'learning/quantum-computing-primer/applications',
- 'learning/quantum-computing-primer/advanced-topics',
- ],
- },
- {
- type: 'category',
- label: 'Research Papers',
- collapsed: true,
- link: {type: 'doc', id: 'learning/papers/index'},
- items: [
- 'learning/papers/An-Efficient-Quantum-Factoring-Algorithm',
-
'learning/papers/Quantum-Kernel-Estimation-With-Neutral-Atoms-For-Supervised-Classification',
- 'learning/papers/Quantum-machine-learning-beyond-kernel-methods',
-
'learning/papers/Unleashing-the-Potential-of-LLMs-for-Quantum-Computing',
+ {
+ type: 'category',
+ label: 'PQC Guides',
+ collapsed: true,
+ link: {type: 'doc', id: 'advanced/index'},
+ items: [
+ 'advanced/pqc',
+ 'advanced/gap-analysis',
+ ],
+ },
+ {
+ type: 'category',
+ label: 'Quantum Computing Primer',
+ collapsed: true,
+ link: {type: 'doc', id: 'learning/quantum-computing-primer/index'},
+ items: [
+ 'learning/quantum-computing-primer/introduction',
+ 'learning/quantum-computing-primer/qubits',
+ 'learning/quantum-computing-primer/quantum-gates',
+ 'learning/quantum-computing-primer/quantum-circuits',
+ 'learning/quantum-computing-primer/quantum-entanglement',
+ 'learning/quantum-computing-primer/quantum-algorithms',
+ 'learning/quantum-computing-primer/quantum-error-correction',
+ 'learning/quantum-computing-primer/applications',
+ 'learning/quantum-computing-primer/advanced-topics',
+ ],
+ },
+ {
+ type: 'category',
+ label: 'Research Papers',
+ collapsed: true,
+ link: {type: 'doc', id: 'learning/papers/index'},
+ items: [
+ 'learning/papers/An-Efficient-Quantum-Factoring-Algorithm',
+
'learning/papers/Quantum-Kernel-Estimation-With-Neutral-Atoms-For-Supervised-Classification',
+ 'learning/papers/Quantum-machine-learning-beyond-kernel-methods',
+
'learning/papers/Unleashing-the-Potential-of-LLMs-for-Quantum-Computing',
+ ],
+ },
],
},
{
@@ -93,16 +102,11 @@ const sidebars: SidebarsConfig = {
items: [
'community/who-we-are',
'community/mailing-lists',
+ 'about/how-to-contribute',
'community/code-of-conduct',
'community/pr-policy-and-review-guidelines',
],
},
- {
- type: 'category',
- label: 'Contributing',
- collapsed: true,
- items: ['about/how-to-contribute'],
- },
],
};
diff --git a/website/src/data/powered-by.json b/website/src/data/powered-by.json
new file mode 100644
index 000000000..620991e75
--- /dev/null
+++ b/website/src/data/powered-by.json
@@ -0,0 +1,207 @@
+[
+ {
+ "name": "Adobe",
+ "url": "https://www.adobe.com",
+ "category": "User targeting",
+ "description": "Adobe AMP used Mahout's clustering algorithms to increase
video consumption through better user targeting.",
+ "source":
"http://nosql.mypopescu.com/post/2082712431/hbase-and-hadoop-at-adobe",
+ "logo": "/img/powered-by/adobe.svg"
+ },
+ {
+ "name": "AOL",
+ "url": "https://www.aol.com",
+ "category": "Recommendations",
+ "description": "AOL used Mahout for shopping recommendations.",
+ "source": "https://www.slideshare.net/kryton/the-data-layer",
+ "logo": "/img/powered-by/aol.svg"
+ },
+ {
+ "name": "Booz Allen Hamilton",
+ "url": "https://www.boozallen.com",
+ "category": "Clustering",
+ "description": "Booz Allen Hamilton used Mahout's clustering algorithms
for large-scale biometric analysis.",
+ "source": "https://www.slideshare.net/ydn/3-biometric-hadoopsummit2010",
+ "logo": "/img/powered-by/booz-allen-hamilton.svg"
+ },
+ {
+ "name": "Drupal",
+ "url": "https://www.drupal.org/project/recommender",
+ "category": "Content recommendation",
+ "description": "The Drupal Recommender API module used Mahout to provide
open source content recommendation for Drupal sites.",
+ "logo": "/img/powered-by/drupal.svg"
+ },
+ {
+ "name": "Foursquare",
+ "url": "https://foursquare.com",
+ "category": "Recommendations",
+ "description": "Foursquare used Mahout for its venue recommendation
engine.",
+ "source":
"https://engineering.foursquare.com/2011/03/22/building-a-recommendation-engine-foursquare-style/",
+ "logo": "/img/powered-by/foursquare.svg"
+ },
+ {
+ "name": "Intel",
+ "url": "https://www.intel.com",
+ "category": "Distribution",
+ "description": "Intel shipped Mahout as part of its Distribution for
Apache Hadoop Software.",
+ "logo": "/img/powered-by/intel.svg"
+ },
+ {
+ "name": "LinkedIn",
+ "url": "https://www.linkedin.com",
+ "category": "Model training",
+ "description": "LinkedIn experimented with Mahout for model training as an
alternative to R-based workflows.",
+ "logo": "/img/powered-by/linkedin.svg"
+ },
+ {
+ "name": "LucidWorks",
+ "url": "https://www.lucidworks.com",
+ "category": "Search and text analytics",
+ "description": "LucidWorks Big Data used Mahout for clustering, duplicate
document detection, phrase extraction, and classification.",
+ "logo": "/img/powered-by/lucidworks.png"
+ },
+ {
+ "name": "Mendeley",
+ "url": "https://www.mendeley.com",
+ "category": "Recommendations",
+ "description": "Mendeley used Mahout to power Mendeley Suggest, a research
article recommendation service.",
+ "logo": "/img/powered-by/mendeley.png"
+ },
+ {
+ "name": "NewsCred",
+ "url": "https://www.newscred.com",
+ "category": "News clustering",
+ "description": "NewsCred used Mahout to cluster news articles and surface
the important stories of the day.",
+ "logo": "/img/powered-by/newscred.png"
+ },
+ {
+ "name": "ResearchGate",
+ "url": "https://www.researchgate.net",
+ "category": "Recommendations",
+ "description": "ResearchGate, the professional network for scientists and
researchers, used Mahout's recommendation algorithms.",
+ "logo": "/img/powered-by/researchgate.svg"
+ },
+ {
+ "name": "Sematext",
+ "url": "https://sematext.com",
+ "category": "Recommendations",
+ "description": "Sematext used Mahout for its recommendation engine.",
+ "logo": "/img/powered-by/sematext.png"
+ },
+ {
+ "name": "Twitter",
+ "url": "https://twitter.com",
+ "category": "Topic modeling",
+ "description": "Twitter used Mahout's LDA implementation for user interest
modeling.",
+ "logo": "/img/powered-by/twitter.svg"
+ },
+ {
+ "name": "Yahoo! Mail",
+ "url": "https://mail.yahoo.com",
+ "category": "Anti-spam",
+ "description": "Yahoo! Mail used Mahout's frequent pattern set mining in
its anti-spam pipeline.",
+ "source": "https://www.slideshare.net/hadoopusergroup/mail-antispam",
+ "logo": "/img/powered-by/yahoo-mail.svg"
+ },
+ {
+ "name": "TU Berlin",
+ "url": "https://www.dima.tu-berlin.de",
+ "category": "Teaching",
+ "description": "The Large Scale Data Analysis and Data Mining course at TU
Berlin used Mahout to teach students how to parallelize data mining problems.",
+ "logo": "/img/powered-by/tu-berlin.svg"
+ },
+ {
+ "name": "Carnegie Mellon University",
+ "url": "https://www.cmu.edu",
+ "category": "Research",
+ "description": "Carnegie Mellon University used Mahout as a comparison
platform in GraphLab research.",
+ "logo": "/img/powered-by/carnegie-mellon-university.svg"
+ },
+ {
+ "name": "Nagoya Institute of Technology",
+ "url": "https://www.nitech.ac.jp",
+ "category": "Research",
+ "description": "Nagoya Institute of Technology used Mahout for research
and data processing in a large-scale citizen participation platform funded by
the Ministry of Interior of Japan.",
+ "logo": "/img/powered-by/nagoya-institute-of-technology.png"
+ },
+ {
+ "name": "DERI, NUI Galway",
+ "url": "https://www.universityofgalway.ie",
+ "category": "Research",
+ "description": "Researchers at the Digital Enterprise Research Institute
used Mahout for topic mining and modelling of large corpora.",
+ "logo": "/img/powered-by/deri-nui-galway.png"
+ },
+ {
+ "name": "Accenture",
+ "url": "https://www.accenture.com",
+ "logo": "/img/powered-by/accenture.svg"
+ },
+ {
+ "name": "Buzzlogic",
+ "url": "https://www.buzzlogic.com"
+ },
+ {
+ "name": "DataMine Lab",
+ "url": "https://dataminelab.com",
+ "logo": "/img/powered-by/datamine-lab.jpg"
+ },
+ {
+ "name": "Idealo",
+ "url": "https://www.idealo.de",
+ "logo": "/img/powered-by/idealo.svg"
+ },
+ {
+ "name": "InfoGlutton",
+ "url": "https://www.infoglutton.com"
+ },
+ {
+ "name": "Intela",
+ "url": "https://www.intela.com"
+ },
+ {
+ "name": "iOffer",
+ "url": "https://www.ioffer.com",
+ "logo": "/img/powered-by/ioffer.gif"
+ },
+ {
+ "name": "Kauli",
+ "url": "https://kau.li",
+ "logo": "/img/powered-by/kauli.gif"
+ },
+ {
+ "name": "Mobage",
+ "url": "https://mbga.jp",
+ "logo": "/img/powered-by/mobage.png"
+ },
+ {
+ "name": "Myrrix",
+ "url": "https://myrrix.com",
+ "logo": "/img/powered-by/myrrix.png"
+ },
+ {
+ "name": "Predixion Software",
+ "url": "https://predixionsoftware.com",
+ "logo": "/img/powered-by/predixion-software.png"
+ },
+ {
+ "name": "Radoop",
+ "url": "https://radoop.eu"
+ },
+ {
+ "name": "SpeedDate",
+ "url": "https://www.speeddate.com"
+ },
+ {
+ "name": "365Media",
+ "url": "https://365media.com",
+ "logo": "/img/powered-by/365media.jpg"
+ },
+ {
+ "name": "Dicode project",
+ "url": "https://www.dicode-project.eu",
+ "logo": "/img/powered-by/dicode-project.png"
+ },
+ {
+ "name": "ROBUST project",
+ "url": "https://www.robust-project.eu"
+ }
+]
diff --git a/website/src/pages/index.module.css
b/website/src/pages/index.module.css
index f8f2b53e5..ddf6e5b5c 100644
--- a/website/src/pages/index.module.css
+++ b/website/src/pages/index.module.css
@@ -226,3 +226,11 @@
padding: 0.5rem 1rem;
}
}
+
+.legacyNote {
+ margin-top: 2rem;
+ padding-top: 1rem;
+ border-top: 1px solid var(--ifm-color-emphasis-200);
+ font-size: 0.9rem;
+ color: var(--ifm-color-emphasis-700);
+}
diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx
index 49b941940..5fc5f8270 100644
--- a/website/src/pages/index.tsx
+++ b/website/src/pages/index.tsx
@@ -13,7 +13,7 @@ const latestReleasedVersion = releasedVersions[0] ?? 'next';
const siteUrl = 'https://mahout.apache.org';
const pageTitle = 'Apache Mahout';
const pageDescription =
- 'Apache Mahout builds an environment for quickly creating scalable,
performant machine learning applications.';
+ 'Apache Mahout builds an environment for quickly creating scalable,
performant machine learning applications. Its current focus is Qumat, a
backend-agnostic quantum circuit library, and QDP, a GPU-accelerated quantum
data encoding engine.';
const logoUrl = `${siteUrl}/img/mahout-favicon.png`;
const socialImageUrl = `${siteUrl}/img/mascot_with_text.png`;
@@ -104,8 +104,14 @@ function Sidebar() {
<div className={styles.sidebarCard}>
<div className={styles.cardHeader}>Qumat {latestReleasedVersion}
Released!</div>
<div className={styles.cardBody}>
- <p>Mahout's new quantum computing layer for building ML circuits on
simulators and real quantum hardware.</p>
- <Link to="/docs/qumat/getting-started">Download Qumat
{latestReleasedVersion} β</Link>
+ <p>
+ First-class AMD ROCm support, six QDP encodings with parity across
+ CUDA and ROCm, and faster zero-copy GPU paths.
+ </p>
+ <p>
+ <Link to="/blog/2026/06/01/Qumat-0.6.0-Release">Read the release
notes β</Link>
+ </p>
+ <Link to="/docs/qumat/getting-started">Get Qumat
{latestReleasedVersion} β</Link>
</div>
</div>
@@ -139,6 +145,16 @@ function Sidebar() {
<div className={styles.cardHeader}>Talks</div>
<div className={styles.cardBody}>
<ul className={styles.linkList}>
+ <li>
+ Community Over Code Asia 2026 -{' '}
+ <a
+
href="https://asia.communityovercode.org/sessions/general-1194670.html"
+ target="_blank"
+ rel="noopener noreferrer">
+ Accelerating Quantum Machine Learning: Building a
+ GPU-Accelerated Data Plane in Apache Mahout
+ </a>
+ </li>
<li>
FOSDEM 2025 -{' '}
<a
@@ -172,6 +188,14 @@ function MainContent() {
The goal of the Apache Mahoutβ’ project is to build an environment for
quickly creating scalable, performant machine learning applications.
</p>
+ <p>
+ Today that work centers on quantum machine learning in Python, with two
+ components: <strong>Qumat</strong>, a library for writing quantum
+ circuits once and running them on any supported backend, and{' '}
+ <strong>QDP</strong>, a GPU-accelerated data plane that turns classical
+ data into quantum states without simulating state-preparation
+ circuits.
+ </p>
<Heading as="h2">Qumat</Heading>
<div className={styles.mascotContainer}>
@@ -184,23 +208,66 @@ function MainContent() {
<p>
<strong>Qumat</strong> is a high-level Python library for quantum
- computing that provides:
+ computing. Build a circuit with standard and parameterized gates, then
+ execute it on Qiskit, Cirq, or Amazon Braket through one unified API,
+ on simulators or real quantum hardware.
</p>
<ul>
<li>
- <strong>Qumat Core</strong> - Build quantum circuits with standard
- gates and run them on Qiskit, Cirq, or Amazon Braket with a single
- unified API
+ <strong>One API, three backends</strong> - Switch between Qiskit,
+ Cirq, and Amazon Braket by changing a config value, not your circuit
+ code
+ </li>
+ <li>
+ <strong>Standard and parameterized gates</strong> - Hadamard, Pauli,
+ CNOT, Toffoli, SWAP, and rotation gates with parameter binding for
+ variational circuits
</li>
<li>
- <strong>QDP (Quantum Data Plane)</strong> - Encode classical data
- into quantum states using GPU-accelerated kernels with zero-copy
- tensor transfer
+ <strong>Python 3.10+</strong> - Installable from PyPI with{' '}
+ <code>pip install qumat</code>
</li>
</ul>
<p>
<Link to="/docs/qumat">Learn more about Qumat β</Link>
</p>
+
+ <Heading as="h2">QDP (Quantum Data Plane)</Heading>
+ <p>
+ <strong>QDP</strong> removes the data-loading bottleneck in quantum
+ machine learning. Instead of simulating a state-preparation circuit,
+ it constructs the state vector directly in GPU memory and hands it to
+ your training or kernel pipeline.
+ </p>
+ <ul>
+ <li>
+ <strong>Six encodings</strong> - Amplitude, angle, basis, phase, IQP,
+ and IQP-Z, with the same coverage on every GPU backend
+ </li>
+ <li>
+ <strong>NVIDIA CUDA and AMD ROCm</strong> - Native CUDA kernels and
+ hand-written Triton kernels for ROCm, selectable from the same API
+ </li>
+ <li>
+ <strong>Zero-copy interop</strong> - DLPack handoff to and from
+ PyTorch, NumPy, and TensorFlow, plus GPU-pointer paths that skip the
+ host round trip
+ </li>
+ <li>
+ <strong>Benchmarked on real workloads</strong> - SVHN IQP training,
+ quantum kernel SVM, and data-to-state latency benchmarks ship with
+ the project
+ </li>
+ </ul>
+ <p>
+ <Link to="/docs/qdp">Learn more about QDP β</Link>
+ </p>
+
+ <p className={styles.legacyNote}>
+ Looking for the earlier Mahout Classic (Samsara and MapReduce)
+ codebase? It is in maintenance mode. The community's current work is
+ on Qumat and QDP.
+ </p>
</div>
);
}
@@ -210,7 +277,7 @@ export default function Home(): ReactNode {
return (
<Layout
title="Home"
- description="Apache Mahout - Distributed Linear Algebra and Quantum
Computing for Machine Learning">
+ description={pageDescription}>
<Head>
<meta property="og:title" content={pageTitle} />
<meta property="og:description" content={pageDescription} />
diff --git a/website/src/pages/powered-by.module.css
b/website/src/pages/powered-by.module.css
new file mode 100644
index 000000000..414784389
--- /dev/null
+++ b/website/src/pages/powered-by.module.css
@@ -0,0 +1,221 @@
+.hero {
+ padding: 4rem 0 3rem;
+}
+
+.heroInner {
+ max-width: 820px;
+}
+
+.title {
+ font-size: 2.75rem;
+ margin-bottom: 1rem;
+}
+
+.lead {
+ font-size: 1.15rem;
+ line-height: 1.7;
+ margin-bottom: 1rem;
+}
+
+.section {
+ padding: 2.5rem 0;
+}
+
+.sectionTitle {
+ font-size: 1.75rem;
+ margin-bottom: 0.25rem;
+}
+
+.sectionSubtitle {
+ color: var(--ifm-color-emphasis-700);
+ margin-bottom: 1.75rem;
+}
+
+.cards {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
+ gap: 1.25rem;
+}
+
+.card {
+ display: flex;
+ flex-direction: column;
+ padding: 1.5rem;
+ border: 1px solid var(--ifm-color-emphasis-200);
+ border-radius: 12px;
+ background: var(--ifm-background-surface-color);
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
+}
+
+.card:hover {
+ border-color: var(--ifm-color-primary);
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
+}
+
+.cardHeader {
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-start;
+ gap: 1rem;
+ margin-bottom: 0.75rem;
+}
+
+.cardName {
+ font-size: 1.25rem;
+ font-weight: 700;
+ margin: 0;
+}
+
+.cardName a {
+ color: inherit;
+ text-decoration: none;
+}
+
+.cardName a:hover {
+ color: var(--ifm-color-primary);
+}
+
+.cardCategory {
+ display: block;
+ margin-top: 0.25rem;
+ font-size: 0.75rem;
+ font-weight: 700;
+ letter-spacing: 0.06em;
+ text-transform: uppercase;
+ color: var(--ifm-color-primary-darker);
+}
+
+[data-theme='dark'] .cardCategory {
+ color: var(--ifm-color-primary);
+}
+
+.cardLogo {
+ height: 44px;
+ width: auto;
+ max-width: 160px;
+ object-fit: contain;
+ flex-shrink: 0;
+}
+
+.logoTile {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ padding: 0.5rem 0.75rem;
+ border-radius: 8px;
+ background: #fff;
+ flex-shrink: 0;
+}
+
+[data-theme='dark'] .logoTile {
+ border: 1px solid var(--ifm-color-emphasis-200);
+}
+
+.cardBody {
+ flex: 1;
+ margin: 0;
+ line-height: 1.6;
+}
+
+.cardSource {
+ margin-top: 1rem;
+ font-size: 0.9rem;
+}
+
+.wall {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
+ gap: 1rem;
+}
+
+.wallItem {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ gap: 0.6rem;
+ min-height: 120px;
+ padding: 1rem;
+ border: 1px solid var(--ifm-color-emphasis-200);
+ border-radius: 12px;
+ background: #fff;
+ color: var(--ifm-color-emphasis-800);
+ font-weight: 600;
+ font-size: 0.9rem;
+ text-align: center;
+ text-decoration: none;
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
+}
+
+[data-theme='dark'] .wallItem {
+ color: #1c1e21;
+}
+
+.wallItem:hover {
+ border-color: var(--ifm-color-primary);
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
+ text-decoration: none;
+ color: var(--ifm-color-primary-darker);
+}
+
+.wallLogo {
+ height: 64px;
+ width: auto;
+ max-width: 160px;
+ object-fit: contain;
+}
+
+.wallName {
+ font-size: 1.1rem;
+}
+
+.cta {
+ padding: 3rem 0 4rem;
+}
+
+.ctaBox {
+ padding: 2.5rem;
+ border-radius: 16px;
+ background: linear-gradient(135deg, rgba(0, 188, 212, 0.12), rgba(0, 131,
143, 0.12));
+ border: 1px solid var(--ifm-color-emphasis-200);
+}
+
+.ctaTitle {
+ font-size: 1.6rem;
+ margin-bottom: 0.5rem;
+}
+
+.ctaText {
+ max-width: 720px;
+ margin-bottom: 1.5rem;
+}
+
+.ctaActions {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 1rem;
+ align-items: center;
+}
+
+.ctaAlt {
+ margin: 1rem 0 0;
+ font-size: 0.95rem;
+ color: var(--ifm-color-emphasis-700);
+}
+
+.disclaimer {
+ margin-top: 2.5rem;
+ font-size: 0.85rem;
+ line-height: 1.6;
+ color: var(--ifm-color-emphasis-600);
+}
+
+@media (max-width: 600px) {
+ .title {
+ font-size: 2rem;
+ }
+
+ .ctaBox {
+ padding: 1.5rem;
+ }
+}
diff --git a/website/src/pages/powered-by.tsx b/website/src/pages/powered-by.tsx
new file mode 100644
index 000000000..56a392199
--- /dev/null
+++ b/website/src/pages/powered-by.tsx
@@ -0,0 +1,195 @@
+import type {ReactNode} from 'react';
+import Link from '@docusaurus/Link';
+import useBaseUrl from '@docusaurus/useBaseUrl';
+import Layout from '@theme/Layout';
+import Heading from '@theme/Heading';
+
+import entries from '../data/powered-by.json';
+import styles from './powered-by.module.css';
+
+type Entry = {
+ name: string;
+ url: string;
+ category?: string;
+ description?: string;
+ source?: string;
+ logo?: string;
+};
+
+const SUBMIT_URL =
+ 'https://github.com/apache/mahout/issues/new?template=powered-by.yml';
+const DATA_FILE_URL =
+
'https://github.com/apache/mahout/blob/main/website/src/data/powered-by.json';
+
+const allEntries = entries as Entry[];
+const featured = allEntries.filter((entry) => entry.description);
+const everyone = [...allEntries].sort((a, b) =>
+ a.name.localeCompare(b.name, 'en', {sensitivity: 'base'}),
+);
+
+function Logo({entry, className}: {entry: Entry; className: string}) {
+ const src = useBaseUrl(entry.logo ?? '');
+ if (!entry.logo) {
+ return null;
+ }
+ return <img className={className} src={src} alt={`${entry.name} logo`} />;
+}
+
+function FeaturedCard({entry}: {entry: Entry}) {
+ return (
+ <article className={styles.card}>
+ <div className={styles.cardHeader}>
+ <div>
+ <h3 className={styles.cardName}>
+ <Link href={entry.url}>{entry.name}</Link>
+ </h3>
+ {entry.category && (
+ <span className={styles.cardCategory}>{entry.category}</span>
+ )}
+ </div>
+ {entry.logo && (
+ <span className={styles.logoTile}>
+ <Logo entry={entry} className={styles.cardLogo} />
+ </span>
+ )}
+ </div>
+ <p className={styles.cardBody}>{entry.description}</p>
+ {entry.source && (
+ <p className={styles.cardSource}>
+ <Link href={entry.source}>Source</Link>
+ </p>
+ )}
+ </article>
+ );
+}
+
+function WallItem({entry}: {entry: Entry}) {
+ return (
+ <Link className={styles.wallItem} href={entry.url} title={entry.name}>
+ {entry.logo ? (
+ <Logo entry={entry} className={styles.wallLogo} />
+ ) : (
+ <span className={styles.wallName}>{entry.name}</span>
+ )}
+ </Link>
+ );
+}
+
+export default function PoweredBy(): ReactNode {
+ return (
+ <Layout
+ title="Powered By"
+ description="Organizations, projects, and research groups using Apache
Mahout.">
+ <header className={styles.hero}>
+ <div className="container">
+ <div className={styles.heroInner}>
+ <Heading as="h1" className={styles.title}>
+ Powered By Apache Mahout
+ </Heading>
+ <p className={styles.lead}>
+ Apache Mahout has powered recommendation, clustering, and
+ classification systems at scale for more than a decade. Today the
+ project builds Qumat, a Python library for writing quantum
+ circuits once and running them on Qiskit, Cirq, or Amazon Braket,
+ and QDP, a GPU-accelerated engine for encoding classical data
into
+ quantum states.
+ </p>
+ <p className={styles.lead}>
+ See how organizations, developers, and researchers have built
with
+ Mahout, and add your own story.
+ </p>
+ <Link className="button button--primary button--lg"
href={SUBMIT_URL}>
+ Add your organization
+ </Link>
+ </div>
+ </div>
+ </header>
+
+ <main>
+ {featured.length > 0 && (
+ <section className={styles.section}>
+ <div className="container">
+ <Heading as="h2" className={styles.sectionTitle}>
+ How Mahout is being used
+ </Heading>
+ <p className={styles.sectionSubtitle}>
+ Use cases the community has shared.
+ </p>
+ <div className={styles.cards}>
+ {featured.map((entry) => (
+ <FeaturedCard key={entry.name} entry={entry} />
+ ))}
+ </div>
+ </div>
+ </section>
+ )}
+
+ <section className={styles.section}>
+ <div className="container">
+ <Heading as="h2" className={styles.sectionTitle}>
+ Organizations building with Mahout
+ </Heading>
+ <p className={styles.sectionSubtitle}>
+ Companies, projects, and research groups that have told the
+ community they use or have used Apache Mahout.
+ </p>
+ <div className={styles.wall}>
+ {everyone.map((entry) => (
+ <WallItem key={entry.name} entry={entry} />
+ ))}
+ </div>
+ </div>
+ </section>
+
+ <section className={styles.cta}>
+ <div className="container">
+ <div className={styles.ctaBox}>
+ <Heading as="h2" className={styles.ctaTitle}>
+ Using Mahout? Tell the community.
+ </Heading>
+ <p className={styles.ctaText}>
+ Running Qumat in production, evaluating QDP, teaching a course,
+ publishing research, or still on Mahout Classic? You are part
of
+ the story. Open a GitHub issue with the form below and a
+ committer will add you to this page.
+ </p>
+ <div className={styles.ctaActions}>
+ <Link className="button button--primary" href={SUBMIT_URL}>
+ Share your use case on GitHub
+ </Link>
+ <Link
+ className="button button--secondary"
+ to="/docs/community/mailing-lists">
+ Or email the dev list
+ </Link>
+ </div>
+ <p className={styles.ctaAlt}>
+ Prefer to send the pull request yourself? Add an entry to{' '}
+ <Link href={DATA_FILE_URL}>powered-by.json</Link> in the
+ website source.
+ </p>
+ </div>
+
+ <p className={styles.disclaimer}>
+ <strong>Disclaimer.</strong> Usage information on this page comes
+ from community submissions and publicly available sources such as
+ blog posts, conference talks, and the previous Mahout website.
+ Usage, deployment stage, and other details may change over time.
+ All company names, product names, trademarks, and logos shown
here
+ are the property of their respective owners and are used for
+ identification purposes only. Inclusion on this page does not
+ imply endorsement of Apache Mahout by these organizations, nor
+ endorsement of these organizations by the Apache Software
+ Foundation. If you represent an organization listed here and
would
+ like your entry or logo updated or removed, please{' '}
+ <Link
href="https://github.com/apache/mahout/issues/new?template=powered-by.yml">
+ open an issue
+ </Link>{' '}
+ or email [email protected].
+ </p>
+ </div>
+ </section>
+ </main>
+ </Layout>
+ );
+}
diff --git a/website/static/img/powered-by/365media.jpg
b/website/static/img/powered-by/365media.jpg
new file mode 100644
index 000000000..a63dceaf9
Binary files /dev/null and b/website/static/img/powered-by/365media.jpg differ
diff --git a/website/static/img/powered-by/accenture.svg
b/website/static/img/powered-by/accenture.svg
new file mode 100644
index 000000000..974e517e8
--- /dev/null
+++ b/website/static/img/powered-by/accenture.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version:
6.00 Build 0) -->
+
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 163.4 43"
+ xml:space="preserve"
+ width="163.39999"
+ height="43"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"><defs
+ id="defs1" />
+<style
+ type="text/css"
+ id="style1">
+ .st0{fill:#A100FF;}
+</style>
+<g
+ id="g1">
+ <polygon
+ class="st0"
+ points="95.1,4.9 95.1,0 111.2,6.5 111.2,10.5 95.1,17 95.1,12 104.5,8.5 "
+ id="polygon1" />
+ <path
+ d="M 6.2,43 C 2.8,43 0,41.3 0,37.5 v -0.2 c 0,-4.6 4,-6.2 8.9,-6.2 h 2.3 v
-0.9 c 0,-1.9 -0.8,-3 -2.8,-3 -1.8,0 -2.7,1 -2.8,2.4 h -5 c 0.4,-4.2 3.7,-6.2
8.1,-6.2 4.5,0 7.8,1.9 7.8,6.6 V 42.6 H 11.4 V 40.4 C 10.4,41.8 8.7,43 6.2,43 Z
m 5,-6.6 V 34.6 H 9.1 c -2.6,0 -3.9,0.7 -3.9,2.4 v 0.2 c 0,1.3 0.8,2.2 2.6,2.2
1.8,-0.1 3.4,-1.1 3.4,-3 z M 28.4,43 c -5.2,0 -9,-3.2 -9,-9.6 v -0.3 c 0,-6.4
4,-9.8 9,-9.8 4.3,0 7.8,2.2 8.2,7.1 h -5 c -0.3,-1.8 -1.3,-3 -3.1,-3 -2.2,0
-3.8,1.8 -3.8,5.5 v 0.6 [...]
+ id="path1" />
+</g>
+</svg>
diff --git a/website/static/img/powered-by/adobe.svg
b/website/static/img/powered-by/adobe.svg
new file mode 100644
index 000000000..cba6327ef
--- /dev/null
+++ b/website/static/img/powered-by/adobe.svg
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version:
6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
+ <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
+ <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
+ <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
+ <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
+ <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
+ <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
+ <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
+]>
+<svg version="1.1" id="Livello_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;"
xmlns:graph="&ns_graphs;"
+ xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 949
239.3"
+ style="enable-background:new 0 0 949 239.3;" xml:space="preserve">
+<style type="text/css">
+ .st0{fill:#ED2224;}
+ .st1{fill:#2D2E2D;}
+</style>
+<metadata>
+ <sfw xmlns="&ns_sfw;">
+ <slices></slices>
+ <sliceSourceBounds bottomLeftOrigin="true" height="239.3"
width="949" x="0" y="0"></sliceSourceBounds>
+ </sfw>
+</metadata>
+<path class="st0" d="M170.5,0l100.3,239.3V0H170.5z M0,0v239.3L100.3,0H0z
M91.7,190.5h45.8l20.1,48.7h41.5L134.7,87.4L91.7,190.5z"
+ />
+<g>
+ <path class="st1"
d="M438.9,154.4l-11,33.1c-0.4,1.2-1,1.6-2.2,1.6h-20.1c-1.2,0-1.6-0.6-1.4-2l41.4-117.7c0.8-2,1.4-4,1.8-10.8
+
c0-0.8,0.4-1.4,1.2-1.4h27.9c1,0,1.2,0.2,1.4,1.2l46.4,129c0.2,1.2,0,1.8-1.2,1.8h-22.5c-1,0-1.6-0.4-2-1.2l-11.7-33.5H438.9z
+
M480.5,132.5c-4.2-13.3-13.7-41.2-17.7-55.2h-0.2c-3.2,13.5-11.3,37-17.3,55.2H480.5z"/>
+ <path class="st1"
d="M531.5,140.5c0-29.1,21.7-52.4,57.1-52.4c2.8,0,5.2,0.2,8.6,0.6V47.5c0-1,0.4-1.4,1.2-1.4h21.9
+
c1,0,1,0.4,1,1.2v121.3c0,4,0.4,9.2,0.8,12.9c0,1-0.2,1.4-1.2,1.8c-13.1,5.6-25.9,7.8-38,7.8C553.8,191.2,531.5,174.3,531.5,140.5z
+
M597.2,109.8c-2.6-1-5.8-1.4-9.4-1.4c-17.9,0-31.3,11.5-31.3,30.9c0,21.9,13.1,30.9,29.1,30.9c4,0,8-0.4,11.7-1.6V109.8z"/>
+ <path class="st1"
d="M737.2,139.1c0,31.1-19.9,52-48.2,52c-33.6,0-48.4-25.9-48.4-51.4c0-28.5,18.7-51.6,48.8-51.6
+ C720.4,88.1,737.2,111.6,737.2,139.1z
M665.1,139.3c0,18.5,9,31.3,24.3,31.3c12.5,0,23.1-10.2,23.1-30.9c0-16.7-7.2-31.3-24.3-31.3
+ C674.8,108.4,665.1,120.2,665.1,139.3z"/>
+ <path class="st1"
d="M778.6,46.1c1.4,0,1.8,0.2,1.8,1.6l0.2,43.2c5.4-1.8,11.7-2.8,18.3-2.8c28.9,0,47.4,20.5,47.4,47.4
+
c0,37.2-28.9,55.6-58.7,55.6c-10.4,0-20.5-1.4-30.1-4.4c-0.8-0.2-1.4-1.2-1.4-1.8V47.5c0-1,0.6-1.4,1.4-1.4H778.6z
M794.7,108.8
+
c-7,0-10.8,1-14.1,2.2v58.7c2.8,0.8,5.8,1,9.2,1c16.5,0,31.7-10.4,31.7-32.7C821.6,118.8,810.6,108.8,794.7,108.8z"/>
+ <path class="st1"
d="M885.1,145.2c0.6,14.1,9.8,25.3,30.3,25.3c9,0,17.3-1.6,24.9-4.8c0.6-0.4,1.2-0.2,1.2,0.8v16.7
+
c0,1.2-0.4,1.8-1.2,2.2c-7.6,3.6-16.5,5.8-30.1,5.8c-36.6,0-49.6-25.7-49.6-50.4c0-27.9,16.9-52.6,47.2-52.6
+
c29.7,0,41.2,23.3,41.2,42.4c0,5.6-0.2,10.2-0.8,12.5c-0.2,0.8-0.6,1.2-1.6,1.4c-2.8,0.6-10.8,0.8-20.7,0.8H885.1z
M915,127.9
+
c7.6,0,10.2,0,11-0.2c0-0.6,0-1.4,0-1.6c0-5.8-4-18.7-19.3-18.7c-13.9,0-20.1,10.6-21.7,20.5H915z"/>
+</g>
+</svg>
diff --git a/website/static/img/powered-by/aol.svg
b/website/static/img/powered-by/aol.svg
new file mode 100644
index 000000000..751f9bdf2
--- /dev/null
+++ b/website/static/img/powered-by/aol.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ inkscape:version="1.0beta1 (32d4812, 2019-09-19)"
+ height="352.94101"
+ width="1000"
+ sodipodi:docname="AOL.svg"
+ id="svg835"
+ version="1.1"
+ title="aol logo"
+ alt="aol logo"
+ viewBox="0 0 1000 352.94101"
+ class="logo">
+ <metadata
+ id="metadata841">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs839" />
+ <sodipodi:namedview
+ inkscape:current-layer="svg835"
+ inkscape:window-maximized="0"
+ inkscape:window-y="25"
+ inkscape:window-x="0"
+ inkscape:cy="560"
+ inkscape:cx="400"
+ inkscape:zoom="0.35"
+ showgrid="false"
+ id="namedview837"
+ inkscape:window-height="907"
+ inkscape:window-width="1600"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0"
+ guidetolerance="10"
+ gridtolerance="10"
+ objecttolerance="10"
+ borderopacity="1"
+ inkscape:document-rotation="0"
+ bordercolor="#666666"
+ pagecolor="#ffffff" />
+ <path
+ style="stroke-width:1.17647"
+ inkscape:connector-curvature="0"
+ id="path833"
+ d="M 92.801647,71.643059 C 107.31565,28.862353 147.48588,0 192.64,0 c
45.15529,0 85.17882,28.862353 99.54588,71.643059 L 384.98706,345.02941 H
266.09059 L 250.54941,296.38824 H 134.43765 l -15.54,48.64117 H 0 Z M
192.49412,114.86341 162,210.38706 h 60.98824 z M 683.03765,47.176 C
666.32471,32.085529 646.67882,20.511294 624.10235,12.306824 601.52471,4.1022588
576.89529,0 550.50588,0 524.11647,0 499.48706,4.1022588 476.90941,12.306824
454.18588,20.511294 434.68706,32.085529 418.12,47. [...]
+</svg>
diff --git a/website/static/img/powered-by/booz-allen-hamilton.svg
b/website/static/img/powered-by/booz-allen-hamilton.svg
new file mode 100644
index 000000000..ea152b4ba
--- /dev/null
+++ b/website/static/img/powered-by/booz-allen-hamilton.svg
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.46+devel r21714"
+ width="205"
+ height="33"
+ xml:space="preserve"
+ sodipodi:docname="BAHLogo.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ style="display:inline"><metadata
+ id="metadata8"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage"
/><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs6"><inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ id="perspective10" /><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath20"><path
+ d="M 0,0 194,0 194,194 0,194 0,0 z"
+ id="path22" /></clipPath><inkscape:perspective
+ id="perspective2896"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /><inkscape:perspective
+ id="perspective3017"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" /></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1449"
+ inkscape:window-height="862"
+ id="namedview4"
+ showgrid="false"
+ inkscape:zoom="5.3945641"
+ inkscape:cx="87.670257"
+ inkscape:cy="16.5"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g12" /><g
+ id="g12"
+ inkscape:groupmode="layer"
+ inkscape:label="Unbenannt 2"
+ transform="matrix(1.25,0,0,-1.25,-14.96282,150.46422)"
+ style="display:inline"
+ sodipodi:insensitive="true"><g
+ id="g14" /><path
+ sodipodi:nodetypes="ccc"
+ d="m 0.26,16.567 0,192.756 0,-192.756 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path24" /><g
+ id="g2902"
+ transform="matrix(0.84027869,0,0,0.84027869,10.16646,22.438167)"><path
+ id="path26"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 15.091,95.787 0,4.762 2.876,0 c 0.718,0 1.527,0 2.066,-0.449
0.629,-0.449 0.988,-1.258 0.988,-1.977 0,-0.719 -0.269,-1.348 -0.808,-1.797
-0.539,-0.449 -1.348,-0.539 -2.067,-0.539 l -3.055,0 z m 0,5.93 0,4.223 2.876,0
c 0.629,0 1.167,0 1.707,-0.27 0.629,-0.359 0.988,-0.988 0.988,-1.707 0,-0.629
-0.359,-1.347 -0.809,-1.707 -0.629,-0.539 -1.527,-0.539 -2.336,-0.539 l
-2.426,0 z m 3.145,-7.188 c 1.168,0 2.156,0.09 3.055,0.809 0.898,0.718
1.258,1.617 1.258,2.695 0,1.618 -1.078,2 [...]
+ id="path28"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 25.514,99.291 c 0,0.809 0.09,1.707 0.449,2.336 0.449,0.809
1.258,1.348 2.157,1.348 0.808,0 1.617,-0.449 2.066,-1.078 0.449,-0.809
0.539,-1.707 0.539,-2.606 0,-0.808 -0.09,-1.617 -0.449,-2.426 -0.449,-0.809
-1.168,-1.348 -2.156,-1.348 -0.899,0 -1.708,0.45 -2.067,1.168 -0.449,0.809
-0.539,1.798 -0.539,2.606 z m -1.617,0 c 0,-2.426 1.258,-4.942 4.043,-4.942
2.875,0 4.402,2.336 4.402,4.942 0,2.426 -1.347,4.852 -4.132,4.852 -2.786,0
-4.313,-2.246 -4.313,-4.852" /><path
+ id="path30"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 35.308,99.291 c 0,0.809 0.09,1.707 0.449,2.336 0.359,0.809
1.258,1.348 2.156,1.348 0.809,0 1.528,-0.449 1.977,-1.078 0.539,-0.809
0.629,-1.707 0.629,-2.606 0,-0.808 -0.09,-1.617 -0.449,-2.426 -0.45,-0.809
-1.258,-1.348 -2.157,-1.348 -0.898,0 -1.707,0.45 -2.066,1.168 -0.449,0.809
-0.539,1.798 -0.539,2.606 z m -1.618,0 c 0,-2.426 1.258,-4.942 4.044,-4.942
2.875,0 4.313,2.336 4.313,4.942 0,2.426 -1.348,4.852 -4.044,4.852 -2.785,0
-4.313,-2.246 -4.313,-4.852" /><path
+ id="path32"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 49.863,103.065 -5.121,-7.368 5.121,0 0,-1.168 -6.918,0 0,1.168
5.032,7.098 -4.583,0 0,1.079 6.469,0 0,-0.809" /><path
+ id="path34"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 58.04,90.396 1.168,0 0,19.498 -1.168,0 0,-19.498 z" /><path
+ id="path36"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 73.225,99.471 -3.864,0 1.887,6.02 1.977,-6.02 z m -0.989,7.727
-1.707,0 -4.133,-12.669 1.348,0 1.168,3.684 4.672,0 1.258,-3.684 1.527,0
-4.133,12.669" /><path
+ id="path38"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 87.062,100.19 c 0,1.437 1.078,2.875 2.695,2.875 1.618,0
2.606,-1.348 2.516,-2.875 l -5.211,0 z m 5.301,-2.876 c -0.449,-1.078
-1.348,-1.797 -2.516,-1.797 -0.988,0 -2.067,0.629 -2.516,1.528 -0.359,0.629
-0.359,1.348 -0.359,2.066 l 6.828,0 c 0.09,2.606 -1.167,5.032 -4.043,5.032
-2.785,0 -4.313,-2.336 -4.313,-4.942 0,-2.605 1.438,-4.852 4.223,-4.852 1.797,0
3.415,1.078 4.044,2.786 l -1.348,0.179" /><path
+ id="path40"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 97.215,102.346 0.09,0 c 0.449,0.988 1.617,1.797 2.875,1.797
1.168,0 2.067,-0.449 2.696,-1.438 0.449,-0.808 0.359,-2.066 0.359,-2.965 l
0,-5.211 -1.438,0 0,5.84 c 0,0.54 0.09,1.169 -0.179,1.707 -0.36,0.54
-0.989,0.809 -1.618,0.809 -0.808,0 -1.437,-0.359 -1.977,-0.898 -0.539,-0.719
-0.718,-1.618 -0.718,-2.516 l 0,-4.942 -1.438,0 0,9.345 1.348,0 0,-1.528"
/><path
+ id="path42"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 183.292,102.346 0,0 c 0.449,0.988 1.617,1.797 2.875,1.797
1.168,0 2.066,-0.449 2.696,-1.438 0.449,-0.808 0.449,-2.066 0.449,-2.965 l
0,-5.211 -1.438,0 0,5.84 c 0,0.54 0,1.169 -0.269,1.707 -0.36,0.54 -0.989,0.809
-1.618,0.809 -0.719,0 -1.437,-0.359 -1.886,-0.898 -0.629,-0.719 -0.809,-1.618
-0.809,-2.516 l 0,-4.942 -1.438,0 0,9.345 1.438,0 0,-1.528" /><path
+ id="path44"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 111.501,90.396 1.168,0 0,19.498 -1.168,0 0,-19.498 z" /><path
+ id="path46"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 128.932,94.529 0,6.11 -5.84,0 0,-6.11 -1.438,0 0,12.669 1.438,0
0,-5.391 5.84,0 0,5.391 1.527,0 0,-12.669 -1.527,0" /><path
+ id="path48"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 138.816,98.662 c 0,-1.617 -1.168,-3.145 -2.875,-3.145 -1.169,0
-2.067,0.45 -2.067,1.618 0,1.886 2.067,2.156 3.774,2.156 l 1.168,0 0,-0.629 z m
-1.168,1.707 c -1.168,0 -2.516,-0.089 -3.505,-0.539 -0.988,-0.449 -1.707,-1.527
-1.707,-2.605 0,-1.887 1.438,-2.876 3.235,-2.876 1.437,0 2.516,0.629
3.145,1.977 l 0.179,-1.797 1.438,0 c -0.18,0.629 -0.269,1.348 -0.269,1.977 l
0,3.684 c 0,0.988 0,2.246 -0.719,3.055 -0.719,0.808 -1.797,0.898 -2.786,0.898
-1.707,0 -3.683,-0.629 -3.953,- [...]
+ id="path50"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 144.027,103.874 0,-1.618 c 0.449,0.989 1.528,1.887 2.786,1.887
1.347,0 2.425,-0.988 2.605,-2.067 0.539,1.169 1.617,2.067 3.055,2.067 0.988,0
1.887,-0.539 2.336,-1.348 0.449,-0.808 0.449,-1.797 0.449,-2.695 l 0,-5.571
-1.437,0 0,5.571 c 0,0.629 0,1.348 -0.27,1.887 -0.269,0.629 -0.898,0.988
-1.527,0.988 -0.719,0 -1.438,-0.449 -1.797,-1.078 -0.539,-0.719 -0.539,-1.438
-0.539,-2.336 l 0,-5.032 -1.438,0 0,5.93 c 0,0.539 0,1.168 -0.27,1.617
-0.359,0.54 -0.988,0.899 -1.617,0.899 - [...]
+ id="path52"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 157.864,103.874 1.438,0 0,-9.344 -1.438,0 0,9.344 z m
-0.09,3.324 1.617,0 0,-1.617 -1.617,0 0,1.617 z" /><path
+ id="path54"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 162.267,94.529 1.348,0 0,12.669 -1.348,0 0,-12.669 z" /><path
+ id="path56"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 77.807,94.529 1.348,0 0,12.669 -1.348,0 0,-12.669 z" /><path
+ id="path58"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 82.12,94.529 1.348,0 0,12.669 -1.348,0 0,-12.669 z" /><path
+ id="path60"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 170.892,94.529 -1.347,-0.18 c -2.067,0 -2.696,1.258 -2.696,3.055
l 0,5.391 -1.617,0 0,1.168 1.617,0 0,2.336 1.438,0.09 0,-2.426 2.066,0 0,-1.168
-2.066,0 0,-5.57 c 0,-1.079 0.359,-1.708 1.527,-1.708 l 1.078,0.09 0,-1.078"
/><path
+ id="path62"
+ style="fill:#100e0d;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 173.229,99.291 c 0,0.809 0.089,1.707 0.449,2.336 0.359,0.809
1.168,1.348 2.066,1.348 0.899,0 1.618,-0.449 2.067,-1.078 0.539,-0.809
0.629,-1.707 0.629,-2.606 0,-0.808 -0.09,-1.617 -0.449,-2.426 -0.45,-0.809
-1.258,-1.348 -2.247,-1.348 -0.808,0 -1.617,0.45 -1.976,1.168 -0.45,0.809
-0.539,1.798 -0.539,2.606 z m -1.618,0 c 0,-2.426 1.258,-4.942 4.043,-4.942
2.876,0 4.313,2.336 4.313,4.942 0,2.426 -1.347,4.852 -4.043,4.852 -2.875,0
-4.313,-2.246 -4.313,-4.852" /></g></g></svg>
\ No newline at end of file
diff --git a/website/static/img/powered-by/carnegie-mellon-university.svg
b/website/static/img/powered-by/carnegie-mellon-university.svg
new file mode 100644
index 000000000..7f9fb424c
--- /dev/null
+++ b/website/static/img/powered-by/carnegie-mellon-university.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version:
6.00 Build 14948) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="576px"
+ height="100.8px" viewBox="0 0 576 100.8" enable-background="new 0 0
576 100.8" xml:space="preserve">
+<g id="Guides">
+</g>
+<g id="Layer_1">
+ <path fill="#C41230"
d="M53.58,69.38c-0.952-0.853-2.171-0.593-4.661,0.652c-2.806,1.402-7.767,3.257-11.926,3.257
+
c-2.807,0-4.762,0.05-7.768-1.003C16.046,67.676,9.881,57.503,9.881,41.969c0-14.031,9.861-26.81,19.444-30.469
+
c2.756-1.052,5.011-1.302,7.917-1.302c5.714,0,11.877,2.906,13.281,3.708c1.402,0.802,3.207,0.901,3.958,0.551
+
c0.752-0.351,1.002-0.2,1.854-1.804h1.003c0.2,2.104,0.15,17.088,0,18.993h-1.304c-1.653-5.513-3.392-10.18-7.016-14.282
+
c-4.561-5.162-9.4-5.899-14.231-4.811c-3.558,0.801-6.213,3.858-7.667,8.219c-1.278,3.833-2.757,13.08-2.757,20.847
+
c0,7.115,0.284,14.923,1.704,19.895c1.403,4.91,2.984,7.295,7.517,9.119c3.858,1.555,9.466,0.947,14.532-4.209
+
c5.562-5.663,7.667-14.883,7.667-14.883h1.354c0.201,2.256-0.2,18.24-0.451,20.494h-1.353C54.932,71.034,54.452,70.159,53.58,69.38
+ z
M84.25,68.472c-1.119,1.324-2.682,2.104-4.561,2.104c-3.958,0-5.662-3.541-5.662-7.517c0-1.503-0.005-4.604,0.152-5.813
+
c0.417-3.252,2.404-5.102,6.163-5.513c2.205-0.242,4.459-0.301,5.863-0.25v-1.955c-7.617,0.2-12.613,1.104-15.635,2.005
+
c-5.212,1.554-8.223,5.042-8.92,8.719c-0.752,3.959,0.4,7.467,2.555,9.221c3.419,2.783,6.915,3.658,11.275,3.658
+
c5.363,0,9.07-2.556,11.075-4.309c0,0,1.791,2.105,2.405,2.604c1.352,1.103,3.858,2.005,5.913,2.005
+
c2.104,0,4.591-0.869,5.763-2.005c1.604-1.553,3.057-3.808,3.608-6.113l-1.253-0.351c-0.351,1.152-1.103,2.957-2.205,3.708
+
c-0.854,0.582-1.795,0.347-2.505-1.052c-0.352-0.689-0.352-2.005-0.352-3.208V43.466c0-2.004-1.157-4.156-1.703-4.961
+
c-0.953-1.403-3.024-3.538-8.168-4.96c-4.711-1.304-9.972-1.204-13.53-0.351c-3.311,0.791-9.472,3.407-9.472,9.22
+
c0,3.309,2.908,5.512,5.664,5.512c2.755,0,5.712-2.203,5.712-5.411s-2.755-4.61-3.958-5.062c-1.202-0.451-0.144-1.39,0.05-1.502
+
c1.203-0.701,2.756-1.653,6.465-1.653c4.659,0,7.216,1.052,7.216,7.216v8.018v1.955V63.36
+ C86.205,64.802,85.462,67.038,84.25,68.472z
M120.037,48.225c0-6.415,2.757-10.583,5.361-11.627c0.251-0.099,0.501,0.15,0.452,0.4
+
c-0.111,0.551-0.902,1.055-0.902,3.409c0,3.206,2.806,6.113,6.314,6.113c3.257,0,6.214-3.056,6.214-6.264
+
c0-3.908-2.407-7.066-7.167-7.066c-5.762,0-8.468,3.91-9.421,5.011c-0.348,0.404-0.752,0.603-0.752-0.2v-5.863
+
c-0.794,0.804-2.957,2.205-5.112,2.205h-12.027v1.503h5.513v34.929h-5.813v1.503h23.553v-1.503h-6.213V48.225z
M156.938,41.934
+
c1.4-2.802,4.287-5.612,7.767-5.612c3.207,0,4.76,2.504,4.76,4.76v29.665h-5.01v1.528h21.547v-1.528h-4.56V44.39
+
c0-2.994-1.052-5.776-3.057-7.717c-1.85-1.793-5.664-3.458-9.02-3.458c-2.907,0-5.798,1.018-8.369,2.604
+
c-1.924,1.188-3.617,2.745-4.811,4.211c-0.45,0.551-0.852,0.425-0.852-0.276v-7.618c-0.796,0.804-2.958,2.205-5.112,2.205h-11.225
+
v1.503h4.511v34.927h-4.811v1.505h21.649v-1.505h-5.011v-22.55C155.335,46.144,156.086,43.638,156.938,41.934z
M199.396,49.638
+
c0.051-1.804,0.101-5.011,0.151-7.867c0.028-1.607,0.165-3.957,0.852-5.061c0.81-1.299,2.255-2.104,4.16-2.104
+
c1.804,0,2.941,0.731,3.708,2.155c0.588,1.091,0.905,3.105,0.901,4.811c-0.007,3.107,0.101,6.414,0.101,8.067H199.396l-0.251,1.954
+
h23.653c0.101-1.002,0.113-3.205-0.702-5.762c-0.851-2.673-3.422-6.658-5.712-8.67c-2.906-2.555-7.116-4.21-11.727-4.21
+
c-4.009,0-7.829,1.489-11.625,4.612c-4.509,3.707-7.116,9.971-7.116,16.235c0,5.261,1.739,10.438,5.712,14.481
+
c2.909,2.958,8.801,5.062,14.033,5.062c5.261,0,10.065-2.002,13.38-6.113c2.111-2.623,3.357-5.563,4.209-8.971l-1.654-0.451
+
c-1.303,3.909-2.825,6.599-4.812,8.82c-2.104,2.354-5.963,4.209-9.12,4.209c-2.957,0-5.062-1.152-6.515-3.407
+
c-1.34-2.081-1.603-4.311-1.804-6.715c-0.201-2.405-0.201-5.313-0.201-9.121L199.396,49.638z
M298.229,49.314
+
c0.052-1.805,0.103-5.011,0.152-7.867c0.027-1.608,0.165-3.957,0.852-5.063c0.807-1.298,2.256-2.103,4.159-2.103
+
c1.805,0,2.941,0.731,3.708,2.153c0.588,1.093,0.905,3.107,0.902,4.812c-0.008,3.107,0.099,6.414,0.099,8.067H298.229l-0.249,1.954
+
h23.652c0.1-1.002,0.113-3.205-0.702-5.762c-0.851-2.673-3.422-6.657-5.712-8.669c-2.906-2.556-7.117-4.21-11.726-4.21
+
c-4.01,0-7.83,1.488-11.628,4.61c-4.509,3.708-7.113,9.972-7.113,16.236c0,5.262,1.737,10.439,5.711,14.482
+
c2.91,2.958,8.802,5.062,14.032,5.062c5.262,0,10.065-2.002,13.379-6.113c2.112-2.622,3.357-5.563,4.211-8.97l-1.655-0.451
+
c-1.302,3.908-2.823,6.598-4.811,8.818c-2.104,2.356-5.963,4.21-9.12,4.21c-2.956,0-5.062-1.151-6.515-3.407
+
c-1.34-2.08-1.603-4.31-1.805-6.715c-0.199-2.406-0.199-5.312-0.199-9.121L298.229,49.314z
M229.666,74.654
+
c-1.352,0.652-3.135,1.862-4.158,2.808c-1.408,1.296-2.757,3.558-2.757,5.762c0,2.706,1.303,5.513,3.909,7.518
+
c3.475,2.672,8.136,3.858,13.332,3.858c4.033,0,8.43-1.164,11.325-3.157c3.159-2.175,5.279-4.826,6.715-8.369
+
c0.728-1.794,1.353-5.262,1.353-7.717c0-2.205-0.65-4.761-1.553-6.515c-0.861-1.673-2.294-2.939-4.11-3.709
+
c-1.652-0.7-3.757-1.052-6.214-1.052h-14.682c-1.906,0-3.526-0.474-4.21-1.403c-0.702-0.952-0.602-2.055,0.2-2.957
+
c0.947-1.064,3.099-2.128,4.863-2.305c1.002-0.101,1.854-0.101,2.605,0c1.201,0.161,2.154,0.701,4.96,0.701
+
c2.807,0,6.706-0.968,9.071-2.354c3.758-2.205,5.914-6.013,5.914-9.924c0-3.005-1.554-6.463-3.558-8.618
+
c0.584-0.765,2.396-2.673,3.356-3.057c0.501-0.201,0.752,0.201,0.451,0.551c-0.739,0.862-1.167,2.563-0.4,4.109
+
c0.768,1.547,2.136,2.556,4.159,2.556c2.205,0,3.959-1.803,3.959-4.009c0-1.654-0.855-3.065-2.354-4.109
+
c-0.881-0.613-2.005-0.952-3.208-0.952c-1.354,0-2.707,0.552-3.658,1.052c-0.953,0.502-2.305,1.754-3.409,2.907
+
c-2.655-1.903-5.962-3.308-10.022-3.308l0.151,1.203c2.305,0,3.307,1.103,3.909,2.455c0.626,1.411,0.651,2.735,0.651,5.111v7.518
+
c0,2.104-0.222,3.385-0.852,4.861c-0.672,1.574-2.154,2.556-4.259,2.556s-3.559-1.054-4.26-2.857
+
c-0.635-1.631-0.501-4.46-0.501-4.46v-7.565c0,0-0.15-3.158,0.802-5.163c0.458-0.964,1.764-2.455,4.51-2.455l-0.151-1.203
+
c-4.309,0-7.566,1.304-10.375,3.358c-2.602,1.908-4.86,5.513-4.86,9.169c0,3.66,1.823,7.822,5.764,10.073
+
c0.351,0.201,0.551,0.651,0.05,0.803c-4.964,1.489-7.519,5.111-7.519,9.57C224.605,69.433,226.744,72.511,229.666,74.654
+
l2.107,0.702c0,0,16.035,0,17.139,0c2.105,0,3.396,0.162,4.71,0.902c1.791,1.009,2.405,2.505,2.405,4.309
+
c0,2.606-1.553,5.813-3.507,7.818c-2.573,2.638-6.866,4.66-11.676,4.66c-4.51,0-8.034-1.435-10.475-3.859
+
c-1.687-1.677-2.306-3.908-2.306-6.515c0-3.156,1.505-5.611,3.71-7.315L229.666,74.654z
M280.757,32.138
+
c-0.794,0.804-2.956,2.205-5.111,2.205H264.32v1.503h4.81v34.929h-5.01v1.503h21.148v-1.503h-4.511V32.138z
M274.593,25.446
+
c3.757,0,6.804-3.046,6.804-6.804s-3.046-6.804-6.804-6.804s-6.803,3.046-6.803,6.804S270.836,25.446,274.593,25.446z
+ M274.593,18.643
M402.71,70.435h-6.061V13.644h6.155v-1.798H382.56L368.2,53.148l-14.999-41.303h-21.647v1.805h6.474v50.028
+
c0,3.457-1.038,4.399-1.666,5.121c-0.747,0.855-1.693,1.523-3.851,1.523h-1.203v1.909h16.598v-1.84h-1.063
+
c-2.004,0-3.609-0.276-4.818-1.572c-0.923-0.991-1.732-3.801-1.732-5.755V15.509l20.592,56.724h2.755l19.428-56.313l-0.003,54.515
+ h-6.578v1.798l26.225-0.001V70.435z
M415.222,51.262h23.653c0.102-1.002,0.114-3.205-0.702-5.763
+
c-0.852-2.673-3.423-6.657-5.713-8.67c-2.905-2.556-7.115-4.21-11.727-4.21c-4.009,0-7.829,1.489-11.626,4.612
+
c-4.51,3.708-7.114,9.973-7.114,16.236c0,5.261,1.737,10.438,5.711,14.481c2.91,2.958,8.8,5.063,14.031,5.063
+
c5.264,0,10.067-2.003,13.382-6.114c2.111-2.621,3.357-5.563,4.208-8.971l-1.652-0.45c-1.305,3.907-2.825,6.598-4.811,8.819
+
c-2.106,2.355-5.964,4.209-9.121,4.209c-2.958,0-5.061-1.152-6.516-3.407c-1.341-2.08-1.604-4.31-1.803-6.716
+
C415.222,57.977,415.222,55.069,415.222,51.262l0.251-1.954c0.049-1.805,0.098-5.012,0.149-7.867
+
c0.029-1.608,0.164-3.958,0.854-5.063c0.807-1.299,2.254-2.105,4.159-2.105c1.802,0,2.941,0.731,3.708,2.156
+
c0.586,1.091,0.904,3.106,0.901,4.81c-0.006,3.107,0.101,6.415,0.101,8.069h-9.872L415.222,51.262z
M439.261,13.389l4.262-0.002
+
v57.227l-5.104,0.002l0.002,1.628h21.74v-1.616h-4.959V9.509c-0.791,0.808-2.944,2.221-5.098,2.232l-10.84-0.002L439.261,13.389z
+
M463.064,13.389l4.262-0.002v57.227l-5.107,0.002l0.005,1.628h21.739v-1.616h-4.959V9.509c-0.788,0.808-2.945,2.221-5.099,2.232
+ l-10.838-0.002L463.064,13.389z
M504.128,34.499c3.917,0,7.094,1.498,7.094,11.752V59.28c0,10.256-3.177,12.054-7.094,12.054
+
c-3.919,0-7.095-1.798-7.095-12.054V46.251C497.033,35.996,500.209,34.499,504.128,34.499l-0.147-1.478
+
c-10.772,0-20.248,9.321-20.248,19.746c0,11.226,8.406,20.244,20.248,20.244c11.571,0,20.114-9.249,20.114-20.475
+ c0-10.96-9.08-19.515-20.114-19.515L504.128,34.499z
M542.647,41.927c1.403-2.804,4.289-5.613,7.769-5.613
+
c3.209,0,4.761,2.505,4.761,4.761v29.665h-5.011v1.529h21.549v-1.529h-4.562V44.382c0-2.995-1.052-5.776-3.057-7.718
+
c-1.849-1.791-5.662-3.457-9.019-3.457c-2.909,0-5.799,1.018-8.372,2.605c-1.922,1.186-3.616,2.744-4.81,4.209
+
c-0.45,0.552-0.853,0.427-0.853-0.275v-7.617c-0.794,0.803-2.956,2.205-5.111,2.205h-11.226v1.503h4.512v34.928h-4.812v1.505
+
h21.647v-1.505h-5.011V48.214C541.044,46.135,541.797,43.63,542.647,41.927z"/>
+ <rect fill="none" width="576" height="100.8"/>
+</g>
+</svg>
diff --git a/website/static/img/powered-by/datamine-lab.jpg
b/website/static/img/powered-by/datamine-lab.jpg
new file mode 100644
index 000000000..edf08cd1d
Binary files /dev/null and b/website/static/img/powered-by/datamine-lab.jpg
differ
diff --git a/website/static/img/powered-by/deri-nui-galway.png
b/website/static/img/powered-by/deri-nui-galway.png
new file mode 100644
index 000000000..70a284141
Binary files /dev/null and b/website/static/img/powered-by/deri-nui-galway.png
differ
diff --git a/website/static/img/powered-by/dicode-project.png
b/website/static/img/powered-by/dicode-project.png
new file mode 100644
index 000000000..d0d580e1d
Binary files /dev/null and b/website/static/img/powered-by/dicode-project.png
differ
diff --git a/website/static/img/powered-by/drupal.svg
b/website/static/img/powered-by/drupal.svg
new file mode 100644
index 000000000..21a80a06b
--- /dev/null
+++ b/website/static/img/powered-by/drupal.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ width="185"
+ height="65"
+ viewBox="0 0 150 53"
+ fill="none"
+ version="1.1"
+ id="svg4"
+ xml:space="preserve"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"><defs
+ id="defs4" /><path
+ id="path1"
+ d="m 20.603335,0.37265625 c -0.0581,0 -0.08716,0.0302584
-0.116256,0.0302584 l -0.05892,0.0573317 -0.144922,0.32010217 C
19.701733,2.1760956 18.91612,3.4855278 17.95652,4.6486478 h 0.02867 c 0,0
-0.08668,0.1153738 -0.261178,0.2898438 -0.2036,0.23262 -0.37768,0.464906
-0.58128,0.697536 -0.8723,0.98865 -1.745415,1.9484128 -2.646815,2.9079928
-2.9078,3.2276596 -6.9779637,7.7646006 -9.8276137,10.9631006 -0.02908,0.0582
-0.058096,0.08682 -0.116256,0.144922 -10.75886,14.3355 0.930048,26.0 [...]
+ style="fill:#009cde;fill-opacity:1" /></svg>
diff --git a/website/static/img/powered-by/foursquare.svg
b/website/static/img/powered-by/foursquare.svg
new file mode 100644
index 000000000..2647bdf0e
--- /dev/null
+++ b/website/static/img/powered-by/foursquare.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="296.11mm" height="35.459mm" fill="none" version="1.1" viewBox="0 0
1119.1 134.02" xmlns="http://www.w3.org/2000/svg">
+ <g fill="currentColor" stroke-width="4.3232">
+ <path d="m0
2.9268h84.035v13.791h-70.084v38.619h62.293v13.791h-62.298v55.813h-13.947z"/>
+ <path d="m1032.7
2.9268h85.012v13.791h-71.061v38.619h65.709v13.791h-65.709v41.866h72.518v13.947h-86.469z"/>
+ <path d="m921.68 2.9268h50.621c24.331 0 39.099 15.581 39.099 35.044 0
13.635-7.1377 24.815-20.933 30.505 15.581 9.0874 10.224 29.848 24.016
56.466h-15.892c-8.106-12.166-6.982-52.562-27.742-52.562h-35.2v52.562h-13.951v-122.01zm50.288
55.644c14.755 0 25.153-8.5946 25.153-21.249
0-12.006-9.416-20.6-25.153-20.6h-36.337v41.849z"/>
+ <path d="m347.66 2.9268h50.621c24.331 0 39.099 15.581 39.099 35.044 0
13.635-7.1377 24.815-20.933 30.505 15.581 9.0874 10.224 29.848 24.016
56.466h-15.892c-8.106-12.166-6.982-52.562-27.742-52.562h-35.2v52.562h-13.951v-122.01zm50.288
55.644c14.755 0 25.153-8.5946 25.153-21.249
0-12.006-9.416-20.6-25.153-20.6h-36.337v41.849z"/>
+ <path d="m844.68 2.9268h16.541l47.383
122h-14.928l-13.795-35.537h-54.032l-13.631 35.537h-15.248zm29.705
72.846-21.266-55.973-21.742 55.977h43.008z"/>
+ <path d="m695.34 79.993v-77.066h14.111v77.386c0 22.874 11.85 33.743 32.939
33.743 20.445 0 33.747-10.22 33.747-33.587v-77.541h14.107v77.226c0
31.962-19.636 47.858-47.854 47.858-27.902 0-47.05-15.737-47.05-48.018z"/>
+ <path d="m229.4 79.993v-77.066h14.111v77.386c0 22.874 11.85 33.743 32.939
33.743 20.445 0 33.747-10.22 33.747-33.587v-77.541h14.107v77.226c0
31.962-19.636 47.858-47.854 47.858-27.902 0-47.05-15.737-47.05-48.018z"/>
+ <path d="m557.25 64.412c0-36.181 23.678-64.412 60.032-64.412 36.181 0 59.544
28.391 59.544 64.412 0 18.011-6.0006 33.587-16.065 44.949 4.8826 4.8572 9.6439
9.8348 14.28 14.928l-10.06
9.7316c-4.8931-5.2214-9.8712-10.362-14.932-15.421-9.243 6.005-20.285
9.416-32.766 9.416-35.057-0.0129-60.032-26.934-60.032-63.603zm82.245
43.807c-4.6407-4.5086-9.4023-8.8911-14.28-13.143l9.7316-9.8916c5.1956 4.5238
10.278 9.1756 15.244 13.951 7.2976-8.7502 11.677-20.76 11.677-34.884
0-28.546-17.362-50.288- [...]
+ <path d="m452.92 90.036 13.635-3.0781c2.434 16.869 14.107 26.934 33.099
26.934 17.029 0 30.505-7.9461 30.505-20.933
0-9.2387-6.8091-17.034-33.414-24.975-30.172-8.5946-40.236-19.64-40.236-35.866-0.03459-20.916
16.839-32.117 41.343-32.117 27.414 0 39.592 13.951 43.812 33.099l-13.635
3.0781c-3.411-15.737-14.107-22.386-30.665-22.386-15.577 0-26.605 5.845-26.605
17.034 0 9.0788 7.142 16.065 31.802 23.838 29.372 9.0831 42.026 18.992 42.026
37.807 0 23.367-19.64 35.533-44.616 35.533-26.13 0-4 [...]
+ <path d="m92.011 64.416c0-36.181 23.683-64.412 60.037-64.412 36.177 0 59.544
28.391 59.544 64.412 0 36.67-24.66 63.59-59.544 63.59-35.061
0-60.037-26.921-60.037-63.595zm104.64-0.15996c0-28.546-17.362-50.288-44.616-50.288-27.254
0-44.771 21.746-44.771 50.288 0 29.372 18.988 49.977 44.771 49.977
25.641-0.0216 44.616-20.449 44.616-49.977z"/>
+ </g>
+</svg>
diff --git a/website/static/img/powered-by/idealo.svg
b/website/static/img/powered-by/idealo.svg
new file mode 100644
index 000000000..b56c2faaa
--- /dev/null
+++ b/website/static/img/powered-by/idealo.svg
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="307.8125"
+ height="71.875"
+ viewBox="0 0 246.25 57.5"
+ id="svg2">
+ <metadata
+ id="metadata38">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs4">
+ <clipPath
+ id="clip1">
+ <path
+ d="m 0,932.5 0,57.5 246.25,0 0,-57.5"
+ id="path7" />
+ </clipPath>
+ </defs>
+ <g
+ transform="translate(0,-932.5)"
+ id="misc2svg">
+ <g
+ clip-path="url(#clip1)"
+ id="g10">
+ <path
+ d="m 0,990 246.25,0 0,-57.5 L 0,932.5 0,990 z m 0,0"
+ id="path12"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ <path
+ d="m 0,978.75 246.25,0 0,-46.25 -246.25,0 0,46.25 z m 0,0"
+ id="path14"
+ style="fill:#265799;fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ <path
+ d="m 0,990 246.25,0 0,-7 -246.25,0 0,7 z m 0,0"
+ id="path16"
+ style="fill:#f07023;fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ <path
+ d="m 166.24219,970.0625 7.4375,0 0,-7.4375 -7.4375,0 0,7.4375 z m 0,0"
+ id="path18"
+ style="fill:#f07023;fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ <path
+ d="m 13.261719,946.63672 7.484375,0 0,-5.76172 -7.484375,0 0,5.76172
z m 0,23.42578 7.484375,0 0,-20.45703 -7.484375,0 0,20.45703"
+ id="path20"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 76.6875,957.11328 c 0,-2.85156 -1.34375,-4.00391
-5.886719,-4.00391 -5.089843,0 -5.894531,1.15625 -5.894531,3.82813 l
11.78125,0.17578 z m 0.222656,7.06641 7.019532,0.004 c 0,5.04297
-4.453126,6.20703 -10.148438,6.20703 l -5.882812,0 c -5.15625,0
-10.472657,-0.96093 -10.472657,-9.69531 l 0,-2.0039 c 0,-7.75 3.804688,-10.1211
9.453125,-10.1211 l 5.46875,0 c 8.292969,0 11.578125,2.4375 11.578125,9.51172 l
0,3.32813 -19.019531,0 0,1.4414 c 0,2.38672 1.742188,2.99219 4.996094,2 [...]
+ id="path22"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 120.07422,970.0625 7.48047,0 0,-29.19531 -7.48047,0 0,29.19531 z
m 0,0"
+ id="path24"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ <path
+ d="m 101.6875,965.83594 c 5.35156,0 6.05469,-0.80078 6.05469,-2.37891
0,-1.73437 -0.64063,-2.30078 -4.94922,-2.30078 l -3.472658,0 c -3.335937,0
-4.179687,0.75781 -4.179687,2.62891 0,1.53515 1.28125,2.05078 4.304687,2.05078
l 2.242188,0 z m -13.78125,-2.91016 c 0,-5.46875 3.6875,-5.82031
11.332031,-5.82031 4.316409,0 6.589849,0.1289 8.035159,1.61328 l 0.30469,0.3125
0,-2.26953 c 0,-2.16797 -0.72266,-2.95313 -3.84766,-2.95313 l -4.613282,0 c
-2.421876,0 -3.183594,-0.0508 -3.18359 [...]
+ id="path26"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 26.039062,957.96094 c 0,-5.21094 1.144532,-8.6836
10.960938,-8.6836 3.429688,0 7.539062,1.03516 8.003906,4.15235 l
0.542969,0.0117 0,-12.57422 7.480469,0 0,29.19531 -6.992188,0 0,-3.83594
-0.492187,0 c -0.863281,2.60156 -3.699219,4.16406 -8.378907,4.16406 -9.980468,0
-11.125,-3.47265 -11.125,-8.67578 l 0,-3.7539 z m 6.664063,3.09765 c 0,2.41016
0.4375,3.8086 4.304687,3.8086 l 3.621094,0 c 3.140625,0 4.910156,-0.72266
4.910156,-4.01172 l 0,-2.04297 c 0,-3.28906 -1.769531,-4. [...]
+ id="path28"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 139.35156,960.81641 c 0,2.67578 0.85156,4.40234 5.88281,4.40234
l 0.46094,0 c 5.09375,0 6.57422,-0.58594 6.57422,-3.95313 l 0,-2.85937 c
0,-3.25391 -0.96484,-3.96094 -6.57422,-3.96094 l -0.46094,0 c -5.28906,0
-5.88281,1.65235 -5.88281,4.40625 l 0,1.96485 z m -7.125,-3.47266 c 0,-6.71094
4.47656,-8.06641 8.4336,-8.06641 l 10.30078,0 c 3.95703,0 8.43359,1.35547
8.43359,8.06641 l 0,4.98047 c 0,6.70703 -4.47656,8.0664 -8.43359,8.0664 l
-10.30078,0 c -3.95704,0 -8.4336,-1.35937 [...]
+ id="path30"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 204.51172,943.51953 -3.14844,0 0,10.33203 -0.0742,0 c
-0.66015,-1.9414 -2.38281,-2.78125 -5.97265,-2.78125 l -4.80079,0 c -7.58203,0
-9.88671,2.125 -9.88671,8.09375 l 0,3.29688 c 0,6.44922 3.98828,7.875
9.70703,7.875 l 4.39453,0 c 3.29687,0 5.86328,-0.99219 6.77734,-3.26172 l
0.0742,0 0,2.96875 2.92969,0 0,-26.52344 z m -20.73828,15.23828 c 0,-4.32031
2.16406,-5.125 6.49218,-5.125 l 4.2461,0 c 4.24609,0 6.85156,0.73438
6.85156,5.20313 l 0,3.55078 c 0,3.41015 -1.5,5.38672 -6 [...]
+ id="path32"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 209.58984,962.67969 c 0,6.89062 4.69141,7.65625 8.78907,7.65625
l 5.71875,0 c 5.86328,0 9.41796,-1.28125 9.41796,-5.56641 l 0,-0.36328
-3.15625,0 c -0.17968,2.85156 -1.78906,3.36719 -5.75,3.36719 l -4.32031,0 c
-5.49219,0 -7.55078,-1.09766 -7.55078,-5.34766 l 0,-1.17578 20.77734,0
0,-2.08594 c 0,-6.66797 -4.0664,-8.09375 -9.71093,-8.09375 l -5.0586,0 c
-4.46484,0 -9.15625,0.76563 -9.15625,7.54297 l 0,4.06641 z m 20.76953,-3.98828
-17.62109,0 c 0.29297,-4.25391 1.46484,-5.05 [...]
+ id="path34"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </g>
+</svg>
diff --git a/website/static/img/powered-by/intel.svg
b/website/static/img/powered-by/intel.svg
new file mode 100644
index 000000000..2c142440d
--- /dev/null
+++ b/website/static/img/powered-by/intel.svg
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version:
6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
+ <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
+ <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
+ <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
+ <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
+ <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
+ <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
+ <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
+]>
+<svg version="1.1" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;"
xmlns:graph="&ns_graphs;"
+ xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="395.4px"
height="155.9px"
+ viewBox="0 0 395.4 155.9" style="enable-background:new 0 0 395.4
155.9;" xml:space="preserve">
+<style type="text/css">
+ .st0{fill:#00C7FD;}
+</style>
+<metadata>
+ <sfw xmlns="&ns_sfw;">
+ <slices></slices>
+ <sliceSourceBounds bottomLeftOrigin="true" height="150.6"
width="388.2" x="4.7" y="2.2"></sliceSourceBounds>
+ </sfw>
+</metadata>
+<rect x="4.7" y="5.2" class="st0" width="28.1" height="28.1"/>
+<path class="st0" d="M32.1,151.6V50.3H5.4v101.2h26.7V151.6z
M208.9,152.6v-24.8c-3.9,0-7.2-0.2-9.6-0.6c-2.8-0.4-4.9-1.4-6.3-2.8
+
c-1.4-1.4-2.3-3.4-2.8-6.1c-0.4-2.5-0.6-5.8-0.6-9.8V73.2h19.3V50.3h-19.3V10.9h-26.7v97.9c0,8.3,0.7,15.3,2.1,20.9
+
c1.4,5.5,3.8,10,7.1,13.4s7.7,5.8,13,7.3c5.4,1.5,12.2,2.2,20.3,2.2L208.9,152.6L208.9,152.6z
M361.7,151.6V3.1H335v148.5H361.7z
+
M137.2,60.3c-7.4-8-17.8-12-31-12c-6.4,0-12.3,1.3-17.5,3.9C83.4,54.8,79,58.4,75.4,63L74,64.9v-1.7V50.3H47.7v101.2h26.5V97.6v3.7
+
c0-0.6,0-1.2,0-1.8c0.3-9.5,2.6-16.5,7-21c4.7-4.8,10.4-7.2,16.9-7.2c7.7,0,13.6,2.4,17.5,7c3.8,4.6,5.8,11.1,5.8,19.4l0,0V98l0,0
+ l0,0v53.5h26.9V94.1C148.4,79.7,144.6,68.3,137.2,60.3z
M321.2,100.8c0-7.3-1.3-14.1-3.8-20.5c-2.6-6.3-6.2-11.9-10.7-16.7
+
c-4.6-4.8-10.1-8.5-16.5-11.2s-13.5-4-21.2-4c-7.3,0-14.2,1.4-20.6,4.1c-6.4,2.8-12,6.5-16.7,11.2s-8.5,10.3-11.2,16.7
+
c-2.8,6.4-4.1,13.3-4.1,20.6c0,7.3,1.3,14.2,3.9,20.6c2.6,6.4,6.3,12,10.9,16.7c4.6,4.7,10.3,8.5,16.9,11.2
+
c6.6,2.8,13.9,4.2,21.7,4.2c22.6,0,36.6-10.3,45-19.9l-19.2-14.6c-4,4.8-13.6,11.3-25.6,11.3c-7.5,0-13.7-1.7-18.4-5.2
+ c-4.7-3.4-7.9-8.2-9.6-14.1l-0.3-0.9h79.5L321.2,100.8L321.2,100.8z
M241.9,91.5c0-7.4,8.5-20.3,26.8-20.4
+ c18.3,0,26.9,12.9,26.9,20.3L241.9,91.5z
M392.1,138.8c-0.5-1.2-1.2-2.2-2.1-3.1c-0.9-0.9-1.9-1.6-3.1-2.1s-2.5-0.8-3.8-0.8
+
c-1.4,0-2.6,0.3-3.8,0.8c-1.2,0.5-2.2,1.2-3.1,2.1c-0.9,0.9-1.6,1.9-2.1,3.1c-0.5,1.2-0.8,2.5-0.8,3.8c0,1.4,0.3,2.6,0.8,3.8
+
s1.2,2.2,2.1,3.1c0.9,0.9,1.9,1.6,3.1,2.1s2.5,0.8,3.8,0.8c1.4,0,2.6-0.3,3.8-0.8c1.2-0.5,2.2-1.2,3.1-2.1c0.9-0.9,1.6-1.9,2.1-3.1
+ c0.5-1.2,0.8-2.5,0.8-3.8S392.6,140,392.1,138.8z
M390.5,145.8c-0.4,1-1,1.9-1.7,2.6c-0.7,0.7-1.6,1.3-2.6,1.7s-2,0.6-3.2,0.6
+
c-1.1,0-2.2-0.2-3.2-0.6c-1-0.4-1.9-1-2.6-1.7s-1.3-1.6-1.7-2.6c-0.4-1-0.6-2-0.6-3.2c0-1.1,0.2-2.2,0.6-3.2s1-1.9,1.7-2.6
+
c0.7-0.7,1.6-1.3,2.6-1.7s2-0.6,3.2-0.6c1.1,0,2.2,0.2,3.2,0.6c1,0.4,1.9,1,2.6,1.7s1.3,1.6,1.7,2.6c0.4,1,0.6,2,0.6,3.2
+ S390.9,144.8,390.5,145.8z
M384.9,143.5c0.8-0.1,1.4-0.4,1.9-0.9s0.8-1.2,0.8-2.2c0-1.1-0.3-1.9-1-2.5c-0.6-0.6-1.7-0.9-3-0.9h-4.4
+ v11.3h2.1v-4.6h1.5l2.8,4.6h2.2L384.9,143.5z
M383.8,141.8c-0.3,0-0.6,0-1,0h-1.5v-3.2h1.5c0.3,0,0.6,0,1,0c0.3,0,0.6,0.1,0.9,0.2
+
c0.3,0.1,0.5,0.3,0.6,0.5c0.2,0.2,0.2,0.5,0.2,0.9s-0.1,0.7-0.2,0.9c-0.2,0.2-0.4,0.4-0.6,0.5C384.4,141.7,384.1,141.8,383.8,141.8z
+ "/>
+</svg>
diff --git a/website/static/img/powered-by/ioffer.gif
b/website/static/img/powered-by/ioffer.gif
new file mode 100644
index 000000000..1ae2984d5
Binary files /dev/null and b/website/static/img/powered-by/ioffer.gif differ
diff --git a/website/static/img/powered-by/kauli.gif
b/website/static/img/powered-by/kauli.gif
new file mode 100644
index 000000000..f2db2aafc
Binary files /dev/null and b/website/static/img/powered-by/kauli.gif differ
diff --git a/website/static/img/powered-by/linkedin.svg
b/website/static/img/powered-by/linkedin.svg
new file mode 100644
index 000000000..76613565a
--- /dev/null
+++ b/website/static/img/powered-by/linkedin.svg
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version:
6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="568.291px" height="144px" viewBox="0 0 568.291 144"
enable-background="new 0 0 568.291 144" xml:space="preserve">
+<g>
+ <g>
+ <g>
+ <g>
+ <g>
+ <polygon fill="#231F20"
points="0,21.297 22.215,21.297 22.215,102.206 63.342,102.206 63.342,122.703
0,122.703 "/>
+ <g>
+ <path fill="#231F20"
d="M73.154,53.955h21.352v68.721H73.154V53.955z
M83.83,19.794c6.837,0,12.386,5.549,12.386,12.38
+
c0,6.843-5.549,12.376-12.386,12.376c-6.829,0-12.378-5.534-12.378-12.376C71.451,25.344,77,19.794,83.83,19.794"/>
+ </g>
+ <polygon fill="#231F20"
points="183.755,21.29 205.099,21.29 205.099,81.897 229.277,53.924
255.444,53.924 227.442,85.742
+ 254.859,122.703 228.029,122.703
205.376,88.732 205.099,88.732 205.099,122.703 183.755,122.703
"/>
+ <path fill="#231F20"
d="M106.314,53.964h20.495v9.394h0.286c2.844-5.409,9.82-11.1,20.209-11.1
+
c21.638,0,25.622,14.232,25.622,32.731v37.687h-21.351V89.263c0-7.974-0.146-18.217-11.107-18.217
+
c-11.1,0-12.802,8.684-12.802,17.647v33.983h-21.351V53.964z"/>
+ <path fill="#231F20"
d="M300.386,80.326c0.14-7.117-5.411-13.096-13.104-13.096c-9.389,0-14.517,6.405-15.08,13.096H300.386z
+
M318.457,110.778c-6.833,8.684-18.071,13.671-29.179,13.671c-21.346,0-38.427-14.241-38.427-36.302
+
c0-22.058,17.082-36.29,38.427-36.29c19.942,0,32.456,14.231,32.456,36.29v6.69h-49.531c1.695,8.114,7.825,13.38,16.082,13.38
+
c6.977,0,11.67-3.56,15.229-8.399L318.457,110.778z"/>
+ <path fill="#231F20"
d="M366.199,70.573c-10.667,0-17.07,7.122-17.07,17.503c0,10.399,6.403,17.507,17.07,17.507
+
c10.683,0,17.09-7.107,17.09-17.507C383.289,77.694,376.882,70.573,366.199,70.573
M402.936,122.665h-19.646v-9.112h-0.277
+
c-3.284,4.98-11.532,10.819-21.214,10.819c-20.502,0-34.021-14.797-34.021-35.723c0-19.217,11.955-36.866,31.596-36.866
+
c8.833,0,17.086,2.417,21.927,9.108h0.277V21.29h21.359V122.665z"/>
+ </g>
+ <path fill="#0077B5"
d="M557.632,0H434.916c-5.864,0-10.629,4.648-10.629,10.376V133.61c0,5.734,4.765,10.39,10.629,10.39
+
h122.716c5.874,0,10.659-4.655,10.659-10.39V10.376C568.291,4.648,563.506,0,557.632,0z"/>
+ <path fill="#FFFFFF"
d="M445.638,53.985h21.359v68.722h-21.359V53.985z
M456.322,19.825c6.828,0,12.377,5.549,12.377,12.38
+
c0,6.837-5.549,12.386-12.377,12.386c-6.846,0-12.387-5.549-12.387-12.386C443.936,25.375,449.477,19.825,456.322,19.825"/>
+ <path fill="#FFFFFF"
d="M480.394,53.985h20.485v9.39h0.286c2.852-5.403,9.818-11.099,20.209-11.099
+
c21.628,0,25.621,14.234,25.621,32.736v37.694h-21.344v-33.42c0-7.969-0.146-18.22-11.099-18.22
+
c-11.113,0-12.819,8.681-12.819,17.644v33.996h-21.34V53.985z"/>
+ </g>
+ </g>
+ </g>
+</g>
+</svg>
diff --git a/website/static/img/powered-by/lucidworks.png
b/website/static/img/powered-by/lucidworks.png
new file mode 100644
index 000000000..d2f6df6b7
Binary files /dev/null and b/website/static/img/powered-by/lucidworks.png differ
diff --git a/website/static/img/powered-by/mendeley.png
b/website/static/img/powered-by/mendeley.png
new file mode 100644
index 000000000..2020d7773
Binary files /dev/null and b/website/static/img/powered-by/mendeley.png differ
diff --git a/website/static/img/powered-by/mobage.png
b/website/static/img/powered-by/mobage.png
new file mode 100644
index 000000000..1644133c9
Binary files /dev/null and b/website/static/img/powered-by/mobage.png differ
diff --git a/website/static/img/powered-by/myrrix.png
b/website/static/img/powered-by/myrrix.png
new file mode 100644
index 000000000..cd024c927
Binary files /dev/null and b/website/static/img/powered-by/myrrix.png differ
diff --git a/website/static/img/powered-by/nagoya-institute-of-technology.png
b/website/static/img/powered-by/nagoya-institute-of-technology.png
new file mode 100644
index 000000000..b5e1304f2
Binary files /dev/null and
b/website/static/img/powered-by/nagoya-institute-of-technology.png differ
diff --git a/website/static/img/powered-by/newscred.png
b/website/static/img/powered-by/newscred.png
new file mode 100644
index 000000000..b57a5c9a0
Binary files /dev/null and b/website/static/img/powered-by/newscred.png differ
diff --git a/website/static/img/powered-by/predixion-software.png
b/website/static/img/powered-by/predixion-software.png
new file mode 100644
index 000000000..dcf496448
Binary files /dev/null and
b/website/static/img/powered-by/predixion-software.png differ
diff --git a/website/static/img/powered-by/researchgate.svg
b/website/static/img/powered-by/researchgate.svg
new file mode 100644
index 000000000..1aabd5839
--- /dev/null
+++ b/website/static/img/powered-by/researchgate.svg
@@ -0,0 +1 @@
+<svg data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150
19.23"><path d="M10.25 17.49a39.65 39.65 0 01-4-6.1H4.19v4.45c0 1.65.38 2 1.1
2.1l1.38.19v.77c-.66 0-2.21-.08-3.41-.08s-2.5.05-3.22.08v-.77l1-.19c.69-.13
1.09-.45 1.09-2.1V5.3C2.1 3.61 1.7 3.32 1 3.19l-1-.18v-.78h2.8c1.07 0 2.42-.08
4-.08 3 0 5.35 1.38 5.35 4.37a4.89 4.89 0 01-3.75 4.55 32 32 0 004 5.65 3.91
3.91 0 002.61 1.41v.69a3.35 3.35 0 01-1.23.21 4.52 4.52 0 01-3.53-1.54zM9.88
6.68c0-2.13-1.33-3.3-3.57-3. [...]
\ No newline at end of file
diff --git a/website/static/img/powered-by/sematext.png
b/website/static/img/powered-by/sematext.png
new file mode 100644
index 000000000..2febc6895
Binary files /dev/null and b/website/static/img/powered-by/sematext.png differ
diff --git a/website/static/img/powered-by/tu-berlin.svg
b/website/static/img/powered-by/tu-berlin.svg
new file mode 100644
index 000000000..c35e2a7e0
--- /dev/null
+++ b/website/static/img/powered-by/tu-berlin.svg
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="300"
+ height="220"
+ id="svg2708">
+ <defs
+ id="defs2710" />
+ <g
+ transform="translate(-418.79418,-223.00132)"
+ id="layer1">
+ <g
+ transform="matrix(4.1709365,0,0,4.1709365,-1322.9695,-1389.3269)"
+ id="g3560"
+ style="fill:#990000;fill-opacity:1;stroke:none">
+ <path
+ d="M 485.52912,407.74812 L 485.72787,405.68437 L 482.39037,405.68437
C 481.45787,405.68437 481.07412,405.23937 481.12662,404.70812 C
481.14162,404.54812 481.14912,404.46312 481.17162,404.37812 L
478.59787,404.36812 C 478.52412,405.14312 478.93037,405.63187
479.78162,405.79062 L 479.78037,405.81187 L 478.65037,405.81187 L
478.48662,407.74812 L 485.52912,407.74812 z M 486.09787,401.83812 L
476.40287,401.83812 L 476.20412,403.88562 L 485.90037,403.88562 L
486.09787,401.83812 z M 47 [...]
+ id="path2702"
+
style="fill:#990000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-opacity:1"
/>
+ <path
+ d="M 469.84412,395.87937 L 465.73287,438.64312 C 456.58287,437.04312
450.41912,432.29937 451.24662,423.43312 L 451.24162,423.41437 L
453.20662,402.99312 L 426.69537,402.99312 C 422.32662,402.96062
418.79412,399.40812 418.79412,395.03062 C 418.79412,390.65437
422.32662,387.10187 426.69537,387.06562 L 461.94537,387.06562 C
466.33537,387.07812 469.88912,390.63812 469.88912,395.03062 C
469.88912,395.31687 469.87287,395.60062 469.84412,395.87937"
+ id="path2704"
+
style="fill:#990000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-opacity:1"
/>
+ <path
+ d="M 435.00162,404.75687 L 449.54537,404.75687 L 446.67662,434.53937
L 432.13287,434.53937 L 435.00162,404.75687"
+ id="path2706"
+
style="fill:#990000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-opacity:1"
/>
+ </g>
+ </g>
+</svg>
diff --git a/website/static/img/powered-by/twitter.svg
b/website/static/img/powered-by/twitter.svg
new file mode 100644
index 000000000..d60af2b8c
--- /dev/null
+++ b/website/static/img/powered-by/twitter.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 248
204">
+ <path fill="#1d9bf0" d="M221.95 51.29c.15 2.17.15 4.34.15 6.53 0 66.73-50.8
143.69-143.69 143.69v-.04c-27.44.04-54.31-7.82-77.41-22.64 3.99.48 8 .72
12.02.73 22.74.02 44.83-7.61 62.72-21.66-21.61-.41-40.56-14.5-47.18-35.07 7.57
1.46 15.37 1.16 22.8-.87-23.56-4.76-40.51-25.46-40.51-49.5v-.64c7.02 3.91 14.88
6.08 22.92 6.32C11.58 63.31 4.74 33.79 18.14 10.71c25.64 31.55 63.47 50.73
104.08 52.76-4.07-17.54 1.49-35.92 14.61-48.25 20.34-19.12 52.33-18.14 71.45
2.19 11.31-2.23 22.15-6.38 32. [...]
+</svg>
\ No newline at end of file
diff --git a/website/static/img/powered-by/yahoo-mail.svg
b/website/static/img/powered-by/yahoo-mail.svg
new file mode 100644
index 000000000..a394a72f3
--- /dev/null
+++ b/website/static/img/powered-by/yahoo-mail.svg
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ width="1000"
+ height="277.32422"
+ viewBox="0 0 264.58333 73.375368"
+ version="1.1"
+ id="svg8"
+ inkscape:version="1.4 (86a8ad7, 2024-10-11)"
+ sodipodi:docname="Yahoo!_(2019).svg"
+ xml:space="preserve"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><defs
+ id="defs2" /><sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.5"
+ inkscape:cx="297"
+ inkscape:cy="49"
+ inkscape:document-units="px"
+ inkscape:current-layer="svg8"
+ showgrid="false"
+ units="px"
+ inkscape:window-width="1366"
+ inkscape:window-height="705"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:showpageshadow="2"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1" /><metadata
+ id="metadata5"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title
/></cc:Work></rdf:RDF></metadata><path
+ d="m 94.8955,0 v 58.314787 h 14.35985 V 36.249984 c 0,-3.102325
1.80211,-6.189803 5.26014,-6.189803 3.39707,0 4.89686,3.041387 4.89686,6.189803
v 22.064803 h 14.25443 V 32.747355 c 0,-9.303225 -5.11958,-15.813505
-13.85755,-15.813505 -7.14348,0 -10.55388,4.746481 -10.55388,4.746481 V 0 Z m
152.58552,0 -15.23525,36.60035 h 17.1664 L 264.58333,0 Z M 65.483859,16.928683
c -11.82693,0 -19.303215,10.606971 -19.303215,21.169767 0,11.886248
8.196949,21.30981 19.078939,21.30981 8.11755,0 11 [...]
+
style="opacity:1;fill:#7d2eff;stroke-width:0.0875601;stroke-linejoin:round;stroke-miterlimit:2.6131;fill-opacity:1"
+ id="path1" /></svg>
diff --git a/website/versioned_docs/version-0.6/advanced/index.md
b/website/versioned_docs/version-0.6/advanced/index.md
new file mode 100644
index 000000000..560eb08c3
--- /dev/null
+++ b/website/versioned_docs/version-0.6/advanced/index.md
@@ -0,0 +1,11 @@
+---
+title: PQC Guides
+sidebar_label: PQC Guides
+---
+
+# PQC Guides
+
+In-depth material on parameterized quantum circuits (PQCs) in Qumat. Start
with the [Parameterized Circuits](../qumat/parameterized-circuits) page for the
basics of rotation gates and parameter binding, then continue here.
+
+- [PQC Developer's Guide](./pqc): the theory, design, and applications of
PQCs, written for developers implementing them from scratch
+- [Qumat PQC Gap Analysis](./gap-analysis): what the Qumat codebase needs for
a minimally viable and then a feature-complete PQC implementation
diff --git
a/website/versioned_docs/version-0.6/community/pr-policy-and-review-guidelines.md
b/website/versioned_docs/version-0.6/community/pr-policy-and-review-guidelines.md
index 2d7e1bf2c..91949825c 100644
---
a/website/versioned_docs/version-0.6/community/pr-policy-and-review-guidelines.md
+++
b/website/versioned_docs/version-0.6/community/pr-policy-and-review-guidelines.md
@@ -1,6 +1,8 @@
---
-title: Pr Policy And Review Guidelines
+title: PR Policy and Review Guidelines
+sidebar_label: PR Policy & Review
---
+
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -18,11 +20,6 @@ See the License for the specific language governing
permissions and
limitations under the License.
-->
----
-title: PR Policy and Review Guidelines
-sidebar_label: PR Policy & Review
----
-
# PR Policy and Review Guidelines
This document defines Apache Mahout's pull request and review process, aligned
with ASF principles of openness, consensus, and merit.
diff --git a/website/versioned_sidebars/version-0.6-sidebars.json
b/website/versioned_sidebars/version-0.6-sidebars.json
index e284dc640..25312c23a 100644
--- a/website/versioned_sidebars/version-0.6-sidebars.json
+++ b/website/versioned_sidebars/version-0.6-sidebars.json
@@ -52,8 +52,9 @@
},
{
"type": "category",
- "label": "Advanced Topics",
+ "label": "PQC Guides",
"collapsed": true,
+ "link": {"type": "doc", "id": "advanced/index"},
"items": [
"advanced/pqc",
"advanced/gap-analysis"