diff --git a/CHANGELOG.md b/CHANGELOG.md index d0977d5..f204de3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -108,6 +108,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 3472fde..e9ddfc7 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 523b9f1..e78e276 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 ab44812..80e4ba8 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 3ab1070..56f25d3 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 05e012a..496a9ae 100644 --- a/docs-site/src/content/docs/project/changelog.md +++ b/docs-site/src/content/docs/project/changelog.md @@ -122,6 +122,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 659ae38..bfb822c 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 2d18a78..570411c 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 104207e..6405f2c 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"