From d6e62aca2510f949ff939bc72dedb8b258f00341 Mon Sep 17 00:00:00 2001 From: seankoval Date: Wed, 30 Sep 2026 16:53:49 -0400 Subject: [PATCH] docs: accurate package metadata; PyPI name no longer presented as decided (#58) - crates/openquant: documentation points at the published rustdoc (/api/rust/openquant/). - pyproject: Changelog URL; name marked as a placeholder pending the #58 decision. - README, Overview, Quickstart, Python bindings setup: the import name is `openquant`; the PyPI distribution name is not decided yet. - CHANGELOG entry; changelog page regenerated; last_authored bumped. Refs #58 Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 1 + README.md | 9 +++++---- crates/openquant/Cargo.toml | 2 +- crates/pyopenquant/Cargo.toml | 2 +- docs-site/src/content/docs/index.md | 8 ++++---- docs-site/src/content/docs/project/changelog.md | 3 ++- docs-site/src/content/docs/quickstart.md | 8 ++++---- docs-site/src/content/docs/setup/python-bindings.md | 9 +++++---- pyproject.toml | 3 +++ 9 files changed, 26 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cf15682..66301aa5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -107,6 +107,7 @@ file disagree). ### Documentation +- Package metadata points at the real docs (rustdoc for the crate, a Changelog URL for Python); README and docs no longer present the PyPI name as decided (#58) - Rustdoc under `/api/rust/`, a generated Python reference, docstrings and `.pyi` stubs (#54) ([#192](https://github.com/Open-Quant/openquant/pull/192)) - Rustdoc and doctests for the remaining `openquant` modules (#37) ([#180](https://github.com/Open-Quant/openquant/pull/180)) - Rustdoc and doctests for 15 `openquant` modules (#37) ([#144](https://github.com/Open-Quant/openquant/pull/144)) diff --git a/README.md b/README.md index 3472fde5..e9ddfc7b 100644 --- a/README.md +++ b/README.md @@ -41,10 +41,11 @@ uv run --python .venv/bin/python maturin develop --manifest-path crates/pyopenqu uv run --python .venv/bin/python python -c "import openquant; print('ok')" ``` -The Python distribution will be published as **`pyopenquant`**; the import name is -`openquant`. Do not `pip install openquant` - that name on PyPI belongs to an -unrelated project. The extension crate (`crates/pyopenquant`) ships only as a -wheel built with maturin, never as a crate on crates.io. +The import name is `openquant`. The name the package will be published under on +PyPI is not decided yet ([#58](https://github.com/Open-Quant/openquant/issues/58)). +Do not `pip install openquant` - that name on PyPI belongs to an unrelated project. +The extension crate (`crates/pyopenquant`) is built into a wheel with maturin and is +never published to crates.io. ## Quick Start ```bash diff --git a/crates/openquant/Cargo.toml b/crates/openquant/Cargo.toml index 80bcc55c..7aefb86e 100644 --- a/crates/openquant/Cargo.toml +++ b/crates/openquant/Cargo.toml @@ -6,7 +6,7 @@ edition = "2024" description = "Rust implementations of methods from Advances in Financial Machine Learning (AFML)" repository = "https://github.com/Open-Quant/openquant" homepage = "https://open-quant.github.io/openquant/" -documentation = "https://open-quant.github.io/openquant/" +documentation = "https://open-quant.github.io/openquant/api/rust/openquant/" license = "MIT" keywords = ["quant", "finance", "trading", "afml", "machine-learning"] categories = ["finance", "science", "algorithms"] diff --git a/crates/pyopenquant/Cargo.toml b/crates/pyopenquant/Cargo.toml index ab448127..80e4ba8f 100644 --- a/crates/pyopenquant/Cargo.toml +++ b/crates/pyopenquant/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT" repository = "https://github.com/Open-Quant/openquant" homepage = "https://open-quant.github.io/openquant/" readme = "../../README.md" -# Distributed as the `pyopenquant` wheel on PyPI (built by maturin), never as a crate. +# Shipped only inside the Python wheel built by maturin, never as a crate on crates.io. publish = false [lib] diff --git a/docs-site/src/content/docs/index.md b/docs-site/src/content/docs/index.md index 3ab10700..56f25d3f 100644 --- a/docs-site/src/content/docs/index.md +++ b/docs-site/src/content/docs/index.md @@ -17,7 +17,7 @@ hero: link: /openquant/modules/ variant: minimal status: authored -last_authored: '2026-09-26' +last_authored: '2026-09-30' audience: - quant-dev - platform-engineering @@ -36,9 +36,9 @@ Pre-release. Version 0.1.0 is not on PyPI or crates.io, so installing means building from source: about 10–20 minutes the first time, seconds afterwards. The [Quickstart](/quickstart/) takes you from a clone to a printed result. -When it is published, the Python distribution will be `pyopenquant` and the -import name `openquant`. Do not `pip install openquant` — that name on PyPI -belongs to an unrelated project. +The import name is `openquant`; the name it will be published under on PyPI is +not decided yet. Do not `pip install openquant` — that name on PyPI belongs to +an unrelated project. ## What using it looks like diff --git a/docs-site/src/content/docs/project/changelog.md b/docs-site/src/content/docs/project/changelog.md index a5d4bcd1..85057d45 100644 --- a/docs-site/src/content/docs/project/changelog.md +++ b/docs-site/src/content/docs/project/changelog.md @@ -3,7 +3,7 @@ title: "Changelog" description: "Notable changes to OpenQuant, rendered from CHANGELOG.md." status: generated generated_from: "CHANGELOG.md" -last_generated: '2026-09-27' +last_generated: '2026-09-30' audience: - quant-dev - platform-engineering @@ -121,6 +121,7 @@ file disagree). ### Documentation +- Package metadata points at the real docs (rustdoc for the crate, a Changelog URL for Python); README and docs no longer present the PyPI name as decided (#58) - Rustdoc under `/api/rust/`, a generated Python reference, docstrings and `.pyi` stubs (#54) ([#192](https://github.com/Open-Quant/openquant/pull/192)) - Rustdoc and doctests for the remaining `openquant` modules (#37) ([#180](https://github.com/Open-Quant/openquant/pull/180)) - Rustdoc and doctests for 15 `openquant` modules (#37) ([#144](https://github.com/Open-Quant/openquant/pull/144)) diff --git a/docs-site/src/content/docs/quickstart.md b/docs-site/src/content/docs/quickstart.md index 659ae385..bfb822c3 100644 --- a/docs-site/src/content/docs/quickstart.md +++ b/docs-site/src/content/docs/quickstart.md @@ -2,7 +2,7 @@ title: Quickstart description: Install OpenQuant and get one real result out of it. status: authored -last_authored: '2026-09-26' +last_authored: '2026-09-30' audience: - quant-dev - platform-engineering @@ -27,9 +27,9 @@ cd openquant ## Step 2 — Install OpenQuant is not on PyPI yet: the Python package sits on a compiled PyO3 -extension, so installing it means building it. It will be published as -`pyopenquant` (import name `openquant`). Do not `pip install openquant` — -that name on PyPI belongs to an unrelated project. +extension, so installing it means building it. The import name is +`openquant`; the name it will be published under is not decided yet. Do not +`pip install openquant` — that name on PyPI belongs to an unrelated project. ```bash uv venv --python 3.11 .venv diff --git a/docs-site/src/content/docs/setup/python-bindings.md b/docs-site/src/content/docs/setup/python-bindings.md index 2d18a781..570411cb 100644 --- a/docs-site/src/content/docs/setup/python-bindings.md +++ b/docs-site/src/content/docs/setup/python-bindings.md @@ -2,7 +2,7 @@ title: Python Bindings Setup description: Build the PyO3 extension, install it into a virtual environment, and prove it imports. status: authored -last_authored: '2026-09-26' +last_authored: '2026-09-30' audience: - quant-dev - platform-engineering @@ -13,9 +13,10 @@ sidebar: OpenQuant is not on PyPI yet. The Python package is a thin pure-Python layer (`python/openquant/`) over a compiled PyO3 extension (`crates/pyopenquant/`, built as `openquant._core`), so getting it means -building it. It will be published as `pyopenquant` with the import name -`openquant`. Do not `pip install openquant`: that name on PyPI belongs to an -unrelated project, so the command succeeds and installs the wrong package. +building it. The import name is `openquant`; the name it will be published +under on PyPI is not decided yet. Do not `pip install openquant`: that name on +PyPI belongs to an unrelated project, so the command succeeds and installs the +wrong package. Before you start: [Prerequisites](/setup/prerequisites/). You need a Rust toolchain, a linker, and `uv`. diff --git a/pyproject.toml b/pyproject.toml index 104207ea..6405f2c8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,6 +3,8 @@ requires = ["maturin>=1.9.4,<2.0"] build-backend = "maturin" [project] +# Placeholder: the PyPI distribution name is not decided yet (#58). The import name is +# `openquant` whatever this becomes. name = "pyopenquant" version = "0.1.0" description = "Rust implementations of methods from Advances in Financial Machine Learning, with Python bindings (import name: openquant)" @@ -27,6 +29,7 @@ Homepage = "https://open-quant.github.io/openquant/" Documentation = "https://open-quant.github.io/openquant/" Repository = "https://github.com/Open-Quant/openquant" Issues = "https://github.com/Open-Quant/openquant/issues" +Changelog = "https://github.com/Open-Quant/openquant/blob/main/CHANGELOG.md" [tool.maturin] manifest-path = "crates/pyopenquant/Cargo.toml"