Skip to content

Commit ce842e8

Browse files
committed
docs: rebuild docs site — per-language SDK docs, no internals
1 parent f6f8df4 commit ce842e8

98 files changed

Lines changed: 9590 additions & 17813 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs-site/book/404.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@
3636
const path_to_root = "";
3737
const default_light_theme = "navy";
3838
const default_dark_theme = "coal";
39-
window.path_to_searchindex_js = "searchindex-d484317a.js";
39+
window.path_to_searchindex_js = "searchindex-0a611890.js";
4040
</script>
4141
<!-- Start loading toc.js asap -->
42-
<script src="toc-4e96455d.js"></script>
42+
<script src="toc-4b833958.js"></script>
4343
</head>
4444
<body>
4545
<div id="mdbook-help-container">

docs-site/book/api/direct-client.html

Lines changed: 0 additions & 368 deletions
This file was deleted.

docs-site/book/api/endpoints/index.html

Lines changed: 0 additions & 379 deletions
This file was deleted.

docs-site/book/api/endpoints/stock.html

Lines changed: 0 additions & 470 deletions
This file was deleted.

docs-site/book/api/types.html

Lines changed: 0 additions & 476 deletions
This file was deleted.
Lines changed: 9 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<!-- Book generated using mdBook -->
55
<meta charset="UTF-8">
6-
<title>Contributing - ThetaDataDx Documentation</title>
6+
<title>Changelog - ThetaDataDx Documentation</title>
77

88

99
<!-- Custom HTML head -->
@@ -35,10 +35,10 @@
3535
const path_to_root = "";
3636
const default_light_theme = "navy";
3737
const default_dark_theme = "coal";
38-
window.path_to_searchindex_js = "searchindex-d484317a.js";
38+
window.path_to_searchindex_js = "searchindex-0a611890.js";
3939
</script>
4040
<!-- Start loading toc.js asap -->
41-
<script src="toc-4e96455d.js"></script>
41+
<script src="toc-4b833958.js"></script>
4242
</head>
4343
<body>
4444
<div id="mdbook-help-container">
@@ -146,7 +146,7 @@ <h1 class="menu-title">ThetaDataDx Documentation</h1>
146146
<a href="https://github.com/userFRM/ThetaDataDx" title="Git repository" aria-label="Git repository">
147147
<span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg></span>
148148
</a>
149-
<a href="https://github.com/userFRM/ThetaDataDx/edit/main/docs-site/src/src/contributing.md" title="Suggest an edit" aria-label="Suggest an edit" rel="edit">
149+
<a href="https://github.com/userFRM/ThetaDataDx/edit/main/docs-site/src/src/changelog.md" title="Suggest an edit" aria-label="Suggest an edit" rel="edit">
150150
<span class=fa-svg id="git-edit-button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M421.7 220.3l-11.3 11.3-22.6 22.6-205 205c-6.6 6.6-14.8 11.5-23.8 14.1L30.8 511c-8.4 2.5-17.5 .2-23.7-6.1S-1.5 489.7 1 481.2L38.7 353.1c2.6-9 7.5-17.2 14.1-23.8l205-205 22.6-22.6 11.3-11.3 33.9 33.9 62.1 62.1 33.9 33.9zM96 353.9l-9.3 9.3c-.9 .9-1.6 2.1-2 3.4l-25.3 86 86-25.3c1.3-.4 2.5-1.1 3.4-2l9.3-9.3H112c-8.8 0-16-7.2-16-16V353.9zM453.3 19.3l39.4 39.4c25 25 25 65.5 0 90.5l-14.5 14.5-22.6 22.6-11.3 11.3-33.9-33.9-62.1-62.1L314.3 67.7l11.3-11.3 22.6-22.6 14.5-14.5c25-25 65.5-25 90.5 0z"/></svg></span>
151151
</a>
152152

@@ -180,125 +180,15 @@ <h1 class="menu-title">ThetaDataDx Documentation</h1>
180180

181181
<div id="mdbook-content" class="content">
182182
<main>
183-
<h1 id="contributing"><a class="header" href="#contributing">Contributing</a></h1>
184-
<p>Thank you for your interest in contributing to ThetaDataDx.</p>
185-
<h2 id="prerequisites"><a class="header" href="#prerequisites">Prerequisites</a></h2>
186-
<ul>
187-
<li><strong>Rust stable</strong> (see <code>rust-toolchain.toml</code> – includes rustfmt and clippy)</li>
188-
<li><strong>protoc</strong> (Protocol Buffers compiler) – only needed if modifying <code>.proto</code> files</li>
189-
<li><strong>Python 3.9+</strong> – for the Python SDK</li>
190-
<li><strong>maturin</strong> – for building the PyO3 Python bindings (<code>pip install maturin</code>)</li>
191-
<li><strong>Go 1.21+</strong> – for the Go SDK</li>
192-
<li><strong>cargo-deny</strong> – for dependency auditing (<code>cargo install cargo-deny</code>)</li>
193-
</ul>
194-
<h2 id="development-setup"><a class="header" href="#development-setup">Development Setup</a></h2>
195-
<pre><code class="language-bash">git clone https://github.com/userFRM/ThetaDataDx.git
196-
cd ThetaDataDx
197-
198-
# Run the full workspace test suite
199-
cargo test --workspace
200-
201-
# For integration tests, create creds.txt:
202-
# Line 1: email
203-
# Line 2: password
204-
</code></pre>
205-
<h2 id="code-style"><a class="header" href="#code-style">Code Style</a></h2>
206-
<p>All Rust code must pass formatting and linting checks:</p>
207-
<pre><code class="language-bash">cargo fmt --all -- --check
208-
cargo clippy --workspace -- -D warnings
209-
</code></pre>
210-
<h2 id="pre-commit-checks"><a class="header" href="#pre-commit-checks">Pre-commit Checks</a></h2>
211-
<p>Run the full CI-equivalent check locally before pushing:</p>
212-
<pre><code class="language-bash"># Core workspace
213-
cargo fmt --all -- --check &amp;&amp; cargo test --workspace &amp;&amp; cargo clippy --workspace -- -D warnings
214-
215-
# FFI crate
216-
cargo build --release -p thetadatadx-ffi
217-
218-
# Python SDK (if modified)
219-
cd sdks/python &amp;&amp; maturin develop &amp;&amp; python -m pytest
220-
</code></pre>
221-
<p>Do not push code that fails any of these checks. CI will reject it.</p>
222-
<h2 id="how-to-add-a-new-endpoint"><a class="header" href="#how-to-add-a-new-endpoint">How to Add a New Endpoint</a></h2>
223-
<p>All 61 DirectClient methods are generated by the <code>define_endpoint!</code> macro in <code>direct.rs</code>. Adding a new endpoint is a single macro invocation.</p>
224-
<h3 id="steps"><a class="header" href="#steps">Steps</a></h3>
225-
<ol>
226-
<li>
227-
<p><strong>Update the proto definition</strong> (if the endpoint uses a new message type)</p>
228-
<ul>
229-
<li>Edit <code>.proto</code> files under <code>crates/thetadatadx/proto/</code></li>
230-
<li>Regenerate Rust types with <code>cargo build</code></li>
231-
</ul>
232-
</li>
233-
<li>
234-
<p><strong>Add a <code>define_endpoint!</code> invocation in <code>direct.rs</code></strong></p>
235-
<pre class="playground"><code class="language-rust"><span class="boring">#![allow(unused)]
236-
</span><span class="boring">fn main() {
237-
</span>define_endpoint!(
238-
/// Doc comment.
239-
stock_history_eod, // Rust method name
240-
GetStockHistoryEod, // gRPC RPC name
241-
StockHistoryEodRequest, // protobuf request type
242-
{ symbol, start_date, end_date }, // parameter fields
243-
parse_eod_ticks // response parser function
244-
);
245-
<span class="boring">}</span></code></pre>
246-
</li>
247-
<li>
248-
<p><strong>Expose in the FFI layer</strong></p>
249-
<ul>
250-
<li>Add <code>extern "C"</code> function in <code>ffi/src/lib.rs</code></li>
251-
<li>Update C header, Go SDK, and C++ SDK wrappers</li>
252-
</ul>
253-
</li>
254-
<li>
255-
<p><strong>Expose in the Python SDK</strong></p>
256-
<ul>
257-
<li>Add PyO3 binding in <code>sdks/python/src/</code></li>
258-
<li>Add Python test</li>
259-
</ul>
260-
</li>
261-
<li>
262-
<p><strong>Update CHANGELOG.md</strong> under <code>[Unreleased]</code></p>
263-
</li>
264-
</ol>
265-
<h2 id="how-to-update-after-a-terminal-update"><a class="header" href="#how-to-update-after-a-terminal-update">How to Update After a Terminal Update</a></h2>
266-
<p>When ThetaData releases a new terminal version:</p>
267-
<ol>
268-
<li>Refer to <a href="internals/reverse-engineering.html">Reverse Engineering</a></li>
269-
<li>Capture new traffic and compare against existing codec expectations</li>
270-
<li>Update frame parsers, tick types, or message definitions</li>
271-
<li>Run the full test suite for backwards compatibility</li>
272-
</ol>
273-
<h2 id="running-against-dev-servers"><a class="header" href="#running-against-dev-servers">Running Against Dev Servers</a></h2>
274-
<pre><code class="language-bash">export THETADX_HOST="127.0.0.1"
275-
export THETADX_PORT="11000"
276-
cargo test --workspace
277-
</code></pre>
278-
<h2 id="pull-request-process"><a class="header" href="#pull-request-process">Pull Request Process</a></h2>
279-
<ol>
280-
<li><strong>Branch</strong> – create from <code>main</code> (<code>feat/description</code> or <code>fix/description</code>)</li>
281-
<li><strong>Test</strong> – run the full pre-commit check suite</li>
282-
<li><strong>PR</strong> – open against <code>main</code></li>
283-
<li><strong>Review</strong> – address feedback; all CI checks must pass</li>
284-
<li><strong>Merge</strong> – squash-merge preferred</li>
285-
</ol>
286-
<p>Every PR must include:</p>
287-
<ul>
288-
<li>Passing CI (fmt, clippy, test, deny)</li>
289-
<li>Updated <code>CHANGELOG.md</code> if user-facing</li>
290-
<li>Updated documentation if any public API changed</li>
291-
</ul>
292-
<h2 id="community"><a class="header" href="#community">Community</a></h2>
293-
<p>Join the ThetaData Discord: <strong><a href="https://discord.thetadata.us/">discord.thetadata.us</a></strong></p>
294-
<h2 id="code-of-conduct"><a class="header" href="#code-of-conduct">Code of Conduct</a></h2>
295-
<p>This project follows the <a href="https://github.com/userFRM/ThetaDataDx/blob/main/CODE_OF_CONDUCT.md">Contributor Covenant v2.1</a>.</p>
183+
<h1 id="changelog"><a class="header" href="#changelog">Changelog</a></h1>
184+
<p>See the full changelog in the repository:</p>
185+
<p><a href="https://github.com/userFRM/ThetaDataDx/blob/main/CHANGELOG.md"><strong>CHANGELOG.md</strong></a></p>
296186

297187
</main>
298188

299189
<nav class="nav-wrapper" aria-label="Page navigation">
300190
<!-- Mobile navigation buttons -->
301-
<a rel="prev" href="internals/reverse-engineering.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
191+
<a rel="prev" href="tools/server.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
302192
<span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"/></svg></span>
303193
</a>
304194

@@ -309,7 +199,7 @@ <h2 id="code-of-conduct"><a class="header" href="#code-of-conduct">Code of Condu
309199
</div>
310200

311201
<nav class="nav-wide-wrapper" aria-label="Page navigation">
312-
<a rel="prev" href="internals/reverse-engineering.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
202+
<a rel="prev" href="tools/server.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
313203
<span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"/></svg></span>
314204
</a>
315205

0 commit comments

Comments
 (0)