Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
Adds automated documentation deployment to GitHub Pages and streamlines the “Quickstart” content to emphasize the core usage flow, while directing readers to the full docs site for detail.
Changes:
- Added a new GitHub Actions workflow to build and deploy MkDocs to
gh-pagesformainanddevelop. - Simplified the README Quickstart and added a link to the hosted documentation.
- Removed the standalone
docs/quickstart.mdpage.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
docs/quickstart.md |
Removes the old, verbose quickstart page content. |
README.md |
Reworks Quickstart to a shorter example and links to the full docs site. |
.github/workflows/docs.yaml |
Introduces CI workflow to conditionally build & deploy docs to GitHub Pages per-branch. |
| Import pytrendy, and apply trend detection on daily time series data. | ||
| ```py | ||
| import pytrendy as pt | ||
| ``` | ||
| Load daily time series data. In this case, we're using one of pytrendy's custom examples. | ||
| ```py | ||
| df = pt.load_data('series_synthetic') | ||
| print(df) | ||
|
|
||
| # date abrupt gradual gradual-noisy-20 | ||
| # 0 2025-01-01 19.578066 12.500000 27.514106 | ||
| # 1 2025-01-02 19.358378 13.421717 -6.620099 | ||
| # 2 2025-01-03 19.228408 13.474026 22.122134 | ||
| # 3 2025-01-04 19.727130 13.474026 13.863735 | ||
| # 4 2025-01-05 20.773716 14.505772 8.884535 | ||
| # .. ... ... ... ... | ||
| # 176 2025-06-26 4.718725 20.616883 19.790026 | ||
| # 177 2025-06-27 4.242065 20.978084 19.181404 | ||
| # 178 2025-06-28 6.012296 22.449495 -6.563936 | ||
| # 179 2025-06-29 4.603068 23.486652 48.291088 | ||
| # 180 2025-06-30 4.435105 22.240260 3.343233 | ||
| ``` | ||
|
|
||
| Run trend detection & plot the results. | ||
| ```py | ||
| results = pt.detect_trends(df, date_col='date', value_col='gradual', plot=True) | ||
| results.df | ||
| ``` |
There was a problem hiding this comment.
README Quickstart no longer includes any installation step (e.g., pip install pytrendy) or a direct link to installation instructions before the first import pytrendy. As-is, a new user can’t successfully follow the Quickstart without prior knowledge; consider adding a minimal install snippet or an explicit link to the installation section in the docs immediately before the code block.
| ```py | ||
| import pytrendy as pt | ||
| ``` | ||
| Load daily time series data. In this case, we're using one of pytrendy's custom examples. | ||
| ```py | ||
| df = pt.load_data('series_synthetic') | ||
| print(df) | ||
|
|
||
| # date abrupt gradual gradual-noisy-20 | ||
| # 0 2025-01-01 19.578066 12.500000 27.514106 | ||
| # 1 2025-01-02 19.358378 13.421717 -6.620099 | ||
| # 2 2025-01-03 19.228408 13.474026 22.122134 | ||
| # 3 2025-01-04 19.727130 13.474026 13.863735 | ||
| # 4 2025-01-05 20.773716 14.505772 8.884535 | ||
| # .. ... ... ... ... | ||
| # 176 2025-06-26 4.718725 20.616883 19.790026 | ||
| # 177 2025-06-27 4.242065 20.978084 19.181404 | ||
| # 178 2025-06-28 6.012296 22.449495 -6.563936 | ||
| # 179 2025-06-29 4.603068 23.486652 48.291088 | ||
| # 180 2025-06-30 4.435105 22.240260 3.343233 | ||
| ``` | ||
|
|
||
| Run trend detection & plot the results. | ||
| ```py | ||
| results = pt.detect_trends(df, date_col='date', value_col='gradual', plot=True) | ||
| results.df | ||
| ``` | ||
|  | ||
|
|
||
| The results object can be used to summarise, further analyse, and generally inspect the trend detections. | ||
| ```py | ||
| results.print_summary() | ||
|
|
||
| # Detected: | ||
| # - 3 Uptrends. | ||
| # - 3 Downtrends. | ||
| # - 3 Flats. | ||
| # - 0 Noise. | ||
|
|
||
| # The best detected trend is Down between dates 2025-05-09 - 2025-06-17 | ||
|
|
||
| # Full Results: | ||
| # ------------------------------------------------------------------------------- | ||
| # direction start end days total_change change_rank | ||
| # time_index | ||
| # 1 Up 2025-01-02 2025-01-24 22 14.013348 5 | ||
| # 2 Down 2025-01-25 2025-02-05 11 -13.564214 6 | ||
| # 3 Flat 2025-02-06 2025-02-09 3 NaN 7 | ||
| # 4 Up 2025-02-10 2025-03-14 32 24.632035 3 | ||
| # 5 Flat 2025-03-15 2025-03-17 2 NaN 8 | ||
| # 6 Down 2025-03-18 2025-04-01 14 -22.721861 4 | ||
| # 7 Up 2025-04-02 2025-05-08 36 72.611833 2 | ||
| # 8 Down 2025-05-09 2025-06-17 39 -73.253968 1 | ||
| # 9 Flat 2025-06-18 2025-06-30 12 NaN 9 | ||
| # ------------------------------------------------------------------------------- | ||
| ```md | ||
| Detected: | ||
| - 3 Uptrends. | ||
| - 3 Downtrends. | ||
| - 3 Flats. | ||
| - 0 Noise. | ||
|
|
||
| The best detected trend is Down between dates 2025-05-09 - 2025-06-17 |
There was a problem hiding this comment.
The Quickstart code sample ends with results.df, but the following block shows the output of results.print_summary() ("Detected:", "Full Results", etc.). This makes the README example internally inconsistent; either call results.print_summary() in the code block (and show that output) or change the displayed output to match what results.df produces.
| # Deploy if relevant source or docs files were changed | ||
| CHANGED=$(git diff --name-only HEAD~1 HEAD 2>/dev/null || echo "") | ||
| echo "Changed files: $CHANGED" | ||
| if echo "$CHANGED" | grep -qE '^(docs/|mkdocs\.yml|pytrendy/)'; then | ||
| echo "Deploying: relevant files changed" | ||
| echo "should_deploy=true" >> $GITHUB_OUTPUT | ||
| exit 0 | ||
| fi |
There was a problem hiding this comment.
CHANGED=$(git diff --name-only HEAD~1 HEAD ...) only compares the last commit against its parent. On pushes that include multiple commits, this can miss relevant changes earlier in the push and incorrectly skip docs deployment. Consider diffing the full push range (e.g., ${{ github.event.before }}..${{ github.sha }}) and/or using fetch-depth: 0 so the history needed for that range is available.
| fetch-depth: 2 | ||
|
|
||
| - name: Determine if docs deployment is needed | ||
| id: check | ||
| run: | | ||
| COMMIT_MSG=$(git log -1 --pretty=%s) | ||
| COMMIT_BODY=$(git log -1 --pretty=%b) | ||
| echo "Commit subject: $COMMIT_MSG" | ||
|
|
||
| # Skip if explicitly flagged | ||
| if echo "$COMMIT_MSG" | grep -q '\[skip docs\]'; then | ||
| echo "Skipping: [skip docs] flag found" | ||
| echo "should_deploy=false" >> $GITHUB_OUTPUT | ||
| exit 0 | ||
| fi | ||
|
|
||
| # Always deploy for semantic commit types that affect code or content: | ||
| # feat (minor/major), fix (patch), docs, refactor, perf | ||
| if echo "$COMMIT_MSG" | grep -qE '^(feat|fix|docs|refactor|perf)(\([^)]*\))?!?:'; then | ||
| echo "Deploying: matched semantic commit type" | ||
| echo "should_deploy=true" >> $GITHUB_OUTPUT | ||
| exit 0 | ||
| fi | ||
|
|
||
| # Breaking changes (major version bump) — e.g. feat!: or type(scope)!: | ||
| if echo "$COMMIT_MSG" | grep -qE '^[a-z]+(\([^)]*\))?!:'; then | ||
| echo "Deploying: breaking change in subject" | ||
| echo "should_deploy=true" >> $GITHUB_OUTPUT | ||
| exit 0 | ||
| fi | ||
|
|
||
| # Breaking change declared in commit body | ||
| if echo "$COMMIT_BODY" | grep -q 'BREAKING CHANGE'; then | ||
| echo "Deploying: BREAKING CHANGE in body" | ||
| echo "should_deploy=true" >> $GITHUB_OUTPUT | ||
| exit 0 | ||
| fi | ||
|
|
||
| # Deploy if relevant source or docs files were changed | ||
| CHANGED=$(git diff --name-only HEAD~1 HEAD 2>/dev/null || echo "") | ||
| echo "Changed files: $CHANGED" | ||
| if echo "$CHANGED" | grep -qE '^(docs/|mkdocs\.yml|pytrendy/)'; then | ||
| echo "Deploying: relevant files changed" | ||
| echo "should_deploy=true" >> $GITHUB_OUTPUT | ||
| exit 0 | ||
| fi | ||
|
|
||
| echo "Skipping: no relevant changes detected" | ||
| echo "should_deploy=false" >> $GITHUB_OUTPUT |
There was a problem hiding this comment.
The workflow decides to deploy based on git log -1 (only the most recent commit message). For pushes containing multiple commits (or when the final commit is a merge commit with a non-semantic subject), this can incorrectly skip deployment even when earlier commits in the same push warrant it. Consider basing the decision on the push payload’s commit list and/or the file-diff range for the entire push, rather than a single commit message.
| fetch-depth: 2 | |
| - name: Determine if docs deployment is needed | |
| id: check | |
| run: | | |
| COMMIT_MSG=$(git log -1 --pretty=%s) | |
| COMMIT_BODY=$(git log -1 --pretty=%b) | |
| echo "Commit subject: $COMMIT_MSG" | |
| # Skip if explicitly flagged | |
| if echo "$COMMIT_MSG" | grep -q '\[skip docs\]'; then | |
| echo "Skipping: [skip docs] flag found" | |
| echo "should_deploy=false" >> $GITHUB_OUTPUT | |
| exit 0 | |
| fi | |
| # Always deploy for semantic commit types that affect code or content: | |
| # feat (minor/major), fix (patch), docs, refactor, perf | |
| if echo "$COMMIT_MSG" | grep -qE '^(feat|fix|docs|refactor|perf)(\([^)]*\))?!?:'; then | |
| echo "Deploying: matched semantic commit type" | |
| echo "should_deploy=true" >> $GITHUB_OUTPUT | |
| exit 0 | |
| fi | |
| # Breaking changes (major version bump) — e.g. feat!: or type(scope)!: | |
| if echo "$COMMIT_MSG" | grep -qE '^[a-z]+(\([^)]*\))?!:'; then | |
| echo "Deploying: breaking change in subject" | |
| echo "should_deploy=true" >> $GITHUB_OUTPUT | |
| exit 0 | |
| fi | |
| # Breaking change declared in commit body | |
| if echo "$COMMIT_BODY" | grep -q 'BREAKING CHANGE'; then | |
| echo "Deploying: BREAKING CHANGE in body" | |
| echo "should_deploy=true" >> $GITHUB_OUTPUT | |
| exit 0 | |
| fi | |
| # Deploy if relevant source or docs files were changed | |
| CHANGED=$(git diff --name-only HEAD~1 HEAD 2>/dev/null || echo "") | |
| echo "Changed files: $CHANGED" | |
| if echo "$CHANGED" | grep -qE '^(docs/|mkdocs\.yml|pytrendy/)'; then | |
| echo "Deploying: relevant files changed" | |
| echo "should_deploy=true" >> $GITHUB_OUTPUT | |
| exit 0 | |
| fi | |
| echo "Skipping: no relevant changes detected" | |
| echo "should_deploy=false" >> $GITHUB_OUTPUT | |
| fetch-depth: 0 | |
| - name: Determine if docs deployment is needed | |
| id: check | |
| run: | | |
| EVENT_PATH="${GITHUB_EVENT_PATH}" | |
| if [ -z "$EVENT_PATH" ] || [ ! -f "$EVENT_PATH" ]; then | |
| echo "Event payload not found; defaulting to deploy docs" | |
| echo "should_deploy=true" >> "$GITHUB_OUTPUT" | |
| exit 0 | |
| fi | |
| # Aggregate all commit messages from the push event (subject + body) | |
| COMMIT_MESSAGES=$(jq -r '.commits[]?.message' "$EVENT_PATH") | |
| echo "Commit messages in push:" | |
| echo "$COMMIT_MESSAGES" | |
| # Skip if any commit explicitly flags docs to be skipped | |
| if echo "$COMMIT_MESSAGES" | grep -q '\[skip docs\]'; then | |
| echo "Skipping: [skip docs] flag found in at least one commit" | |
| echo "should_deploy=false" >> "$GITHUB_OUTPUT" | |
| exit 0 | |
| fi | |
| # Always deploy for semantic commit types that affect code or content: | |
| # feat (minor/major), fix (patch), docs, refactor, perf | |
| if echo "$COMMIT_MESSAGES" | grep -qE '^(feat|fix|docs|refactor|perf)(\([^)]*\))?!?:'; then | |
| echo "Deploying: matched semantic commit type in at least one commit" | |
| echo "should_deploy=true" >> "$GITHUB_OUTPUT" | |
| exit 0 | |
| fi | |
| # Breaking changes (major version bump) — e.g. feat!: or type(scope)!: | |
| if echo "$COMMIT_MESSAGES" | grep -qE '^[a-z]+(\([^)]*\))?!:'; then | |
| echo "Deploying: breaking change in commit subject" | |
| echo "should_deploy=true" >> "$GITHUB_OUTPUT" | |
| exit 0 | |
| fi | |
| # Breaking change declared in any commit body | |
| if echo "$COMMIT_MESSAGES" | grep -q 'BREAKING CHANGE'; then | |
| echo "Deploying: BREAKING CHANGE found in commit body" | |
| echo "should_deploy=true" >> "$GITHUB_OUTPUT" | |
| exit 0 | |
| fi | |
| # Determine the diff range for the entire push | |
| BEFORE_SHA=$(jq -r '.before' "$EVENT_PATH") | |
| HEAD_SHA="${GITHUB_SHA}" | |
| if [ -n "$BEFORE_SHA" ] && ! echo "$BEFORE_SHA" | grep -qE '^0+$'; then | |
| echo "Using diff range: $BEFORE_SHA..$HEAD_SHA" | |
| CHANGED=$(git diff --name-only "$BEFORE_SHA" "$HEAD_SHA" 2>/dev/null || echo "") | |
| else | |
| echo "No valid 'before' SHA in event; falling back to HEAD~1..HEAD" | |
| CHANGED=$(git diff --name-only HEAD~1 HEAD 2>/dev/null || echo "") | |
| fi | |
| echo "Changed files across push: $CHANGED" | |
| if echo "$CHANGED" | grep -qE '^(docs/|mkdocs\.yml|pytrendy/)'; then | |
| echo "Deploying: relevant files changed" | |
| echo "should_deploy=true" >> "$GITHUB_OUTPUT" | |
| exit 0 | |
| fi | |
| echo "Skipping: no relevant changes detected" | |
| echo "should_deploy=false" >> "$GITHUB_OUTPUT" |
- docs.yaml: change fetch-depth to 0 in check-should-deploy job - docs.yaml: replace git log -1 / HEAD~1..HEAD with full push-range check using GITHUB_EVENT_PATH (all commit messages + before..sha diff) - docs.yaml: add comment explaining the one-time GitHub Pages settings step - README.md: add pip install pytrendy snippet before the import block - README.md: fix results.df -> results.print_summary() to match shown output Agent-Logs-Url: https://github.com/RussellSB/pytrendy/sessions/dfaa5327-6e14-41a2-9982-dec2705766e7 Co-authored-by: RussellSB <35470600+RussellSB@users.noreply.github.com>
…mments (#72) * Initial plan * fix: address unresolved PR #71 review comments and docs 404 issue - docs.yaml: change fetch-depth to 0 in check-should-deploy job - docs.yaml: replace git log -1 / HEAD~1..HEAD with full push-range check using GITHUB_EVENT_PATH (all commit messages + before..sha diff) - docs.yaml: add comment explaining the one-time GitHub Pages settings step - README.md: add pip install pytrendy snippet before the import block - README.md: fix results.df -> results.print_summary() to match shown output Agent-Logs-Url: https://github.com/RussellSB/pytrendy/sessions/dfaa5327-6e14-41a2-9982-dec2705766e7 Co-authored-by: RussellSB <35470600+RussellSB@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: RussellSB <35470600+RussellSB@users.noreply.github.com>
* ci: add develop branch pre-release pipeline for PyPI dev versions (#62) * fix: test prerelease versioning on develop (#63) * fix: add main as base branch in dev release config (#64) * chore: updating GIFs and README references (#66) * docs: finish tutorial pages on fundamentals (#70) * chore: adding mkdocs dependancies to pyproject.toml * chore: updating mkdocs yaml plugins so can be ran with latest updated package versions * chore: adding site to gitignore, so mkdocs doesnt try to git add local site assets when unintended * chore: reverting mkdocs yaml to not break __init__ method header comments from displaying * chore(docs): improve the syntax of dict arguments * chore: deleting old documentation pages that will become outdated * chore(docs): rephrasing home page to be more punchy * chore(docs): making more punchy * chore(docs): removing old files * chore(docs): updating structure * chore(docs): removing user guide * docs: moving installation and simple quickstart to homepage * docs: adding example gallery page, similar to pymc-marketing docs * chore(docs): rewording example gallery intro * chore(docs): slight rewording for example gallery and captions * chore: updating docs version requirements to be explicit otherwise conflicts * chore: updating GIF references * chore: tweaking padding * chore: removing next steps section from homepage * chore: removing old quick start * chore: removing old tutorial pages * chore(docs): moving why pytrendy to top * chore(invalid): attempting to use mkdocs-jupyter but conflicts with api-autonav * chore(fix): switching to mkdocs-jupyterlite does the trick * docs: customising jupyterlite css to harmonise better with the material theme look and feel * chore: update toml with jupyterlite * chore: improve css layout of Example Gallery * docs: updating link html for docs, referencing other pages appropriately * docs: adjust links in io __int__ * docs: found outdated spec * docs: added spinner on interactive notebook page load * chore: fixing pop up block that got conflicted with new logic * chore: removing H1 artifact from tutorial notebooks * chore: organising nav a bit better * chore: make fundamentals expand on default * chore: fixing hrefs in docs * docs: adding base documentation with code cell runs * docs: add detect gradual tutorial * docs: adding abrupt tutorial, and fixing minor typos in gradual tutorial * chore: minor refactoring of cells * chore: updating GIFs and README references (#66) * chore: update gradual tutorial * docs: adding noise tutorial * chore: docs polish and file restructure * chore: fix typo in gradual tutorial * chore: improving markdown cells wording in tutorials * chore: fix typos in docs * chore: final docs polish * chore(docs): enabling scroll handler table of contents through javascript workaround * chore(docs): fixing the comma line break issue of jupyterlite, adding a script workaround to rerun everytime that notebooks are updated. * chore: updating GIFs and README references (#66) * chore: delete old quickstart file * ci: deploy docs via GitHub pages (#71) * chore: delete outdated quickstart in docs * chore: update quickstart to be in synch with latest doc update * ci: adding new docs workflow for deploying to github io docs page * chore: updating README to reference docs site * fix: resolve develop docs 404 and address unresolved PR #71 review comments (#72) * Initial plan * fix: address unresolved PR #71 review comments and docs 404 issue - docs.yaml: change fetch-depth to 0 in check-should-deploy job - docs.yaml: replace git log -1 / HEAD~1..HEAD with full push-range check using GITHUB_EVENT_PATH (all commit messages + before..sha diff) - docs.yaml: add comment explaining the one-time GitHub Pages settings step - README.md: add pip install pytrendy snippet before the import block - README.md: fix results.df -> results.print_summary() to match shown output Agent-Logs-Url: https://github.com/RussellSB/pytrendy/sessions/dfaa5327-6e14-41a2-9982-dec2705766e7 Co-authored-by: RussellSB <35470600+RussellSB@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: RussellSB <35470600+RussellSB@users.noreply.github.com> * docs: add develop main indicator (#73) * docs: adding dev/main button switch * chore: auto-expanding the API reference pytrendy * docs(fix): fixing docs issue with example gallery references, needs to be under fundamental and no html explicit (#74) --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
* ci: deploy documentation site and improve ci/cd workflow structure (#75) * ci: add develop branch pre-release pipeline for PyPI dev versions (#62) * fix: test prerelease versioning on develop (#63) * fix: add main as base branch in dev release config (#64) * chore: updating GIFs and README references (#66) * docs: finish tutorial pages on fundamentals (#70) * chore: adding mkdocs dependancies to pyproject.toml * chore: updating mkdocs yaml plugins so can be ran with latest updated package versions * chore: adding site to gitignore, so mkdocs doesnt try to git add local site assets when unintended * chore: reverting mkdocs yaml to not break __init__ method header comments from displaying * chore(docs): improve the syntax of dict arguments * chore: deleting old documentation pages that will become outdated * chore(docs): rephrasing home page to be more punchy * chore(docs): making more punchy * chore(docs): removing old files * chore(docs): updating structure * chore(docs): removing user guide * docs: moving installation and simple quickstart to homepage * docs: adding example gallery page, similar to pymc-marketing docs * chore(docs): rewording example gallery intro * chore(docs): slight rewording for example gallery and captions * chore: updating docs version requirements to be explicit otherwise conflicts * chore: updating GIF references * chore: tweaking padding * chore: removing next steps section from homepage * chore: removing old quick start * chore: removing old tutorial pages * chore(docs): moving why pytrendy to top * chore(invalid): attempting to use mkdocs-jupyter but conflicts with api-autonav * chore(fix): switching to mkdocs-jupyterlite does the trick * docs: customising jupyterlite css to harmonise better with the material theme look and feel * chore: update toml with jupyterlite * chore: improve css layout of Example Gallery * docs: updating link html for docs, referencing other pages appropriately * docs: adjust links in io __int__ * docs: found outdated spec * docs: added spinner on interactive notebook page load * chore: fixing pop up block that got conflicted with new logic * chore: removing H1 artifact from tutorial notebooks * chore: organising nav a bit better * chore: make fundamentals expand on default * chore: fixing hrefs in docs * docs: adding base documentation with code cell runs * docs: add detect gradual tutorial * docs: adding abrupt tutorial, and fixing minor typos in gradual tutorial * chore: minor refactoring of cells * chore: updating GIFs and README references (#66) * chore: update gradual tutorial * docs: adding noise tutorial * chore: docs polish and file restructure * chore: fix typo in gradual tutorial * chore: improving markdown cells wording in tutorials * chore: fix typos in docs * chore: final docs polish * chore(docs): enabling scroll handler table of contents through javascript workaround * chore(docs): fixing the comma line break issue of jupyterlite, adding a script workaround to rerun everytime that notebooks are updated. * chore: updating GIFs and README references (#66) * chore: delete old quickstart file * ci: deploy docs via GitHub pages (#71) * chore: delete outdated quickstart in docs * chore: update quickstart to be in synch with latest doc update * ci: adding new docs workflow for deploying to github io docs page * chore: updating README to reference docs site * fix: resolve develop docs 404 and address unresolved PR #71 review comments (#72) * Initial plan * fix: address unresolved PR #71 review comments and docs 404 issue - docs.yaml: change fetch-depth to 0 in check-should-deploy job - docs.yaml: replace git log -1 / HEAD~1..HEAD with full push-range check using GITHUB_EVENT_PATH (all commit messages + before..sha diff) - docs.yaml: add comment explaining the one-time GitHub Pages settings step - README.md: add pip install pytrendy snippet before the import block - README.md: fix results.df -> results.print_summary() to match shown output Agent-Logs-Url: https://github.com/RussellSB/pytrendy/sessions/dfaa5327-6e14-41a2-9982-dec2705766e7 Co-authored-by: RussellSB <35470600+RussellSB@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: RussellSB <35470600+RussellSB@users.noreply.github.com> * docs: add develop main indicator (#73) * docs: adding dev/main button switch * chore: auto-expanding the API reference pytrendy * docs(fix): fixing docs issue with example gallery references, needs to be under fundamental and no html explicit (#74) --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> * docs: fixing dev overlap UI bug on mobile by max width special case properties * docs: fixing url specs in docstrings for auto api nav * docs: fixing examples gallery margin padding on mobile, now even from both sides --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
* ci: add develop branch pre-release pipeline for PyPI dev versions (#62) * fix: test prerelease versioning on develop (#63) * fix: add main as base branch in dev release config (#64) * chore: updating GIFs and README references (#66) * docs: finish tutorial pages on fundamentals (#70) * chore: adding mkdocs dependancies to pyproject.toml * chore: updating mkdocs yaml plugins so can be ran with latest updated package versions * chore: adding site to gitignore, so mkdocs doesnt try to git add local site assets when unintended * chore: reverting mkdocs yaml to not break __init__ method header comments from displaying * chore(docs): improve the syntax of dict arguments * chore: deleting old documentation pages that will become outdated * chore(docs): rephrasing home page to be more punchy * chore(docs): making more punchy * chore(docs): removing old files * chore(docs): updating structure * chore(docs): removing user guide * docs: moving installation and simple quickstart to homepage * docs: adding example gallery page, similar to pymc-marketing docs * chore(docs): rewording example gallery intro * chore(docs): slight rewording for example gallery and captions * chore: updating docs version requirements to be explicit otherwise conflicts * chore: updating GIF references * chore: tweaking padding * chore: removing next steps section from homepage * chore: removing old quick start * chore: removing old tutorial pages * chore(docs): moving why pytrendy to top * chore(invalid): attempting to use mkdocs-jupyter but conflicts with api-autonav * chore(fix): switching to mkdocs-jupyterlite does the trick * docs: customising jupyterlite css to harmonise better with the material theme look and feel * chore: update toml with jupyterlite * chore: improve css layout of Example Gallery * docs: updating link html for docs, referencing other pages appropriately * docs: adjust links in io __int__ * docs: found outdated spec * docs: added spinner on interactive notebook page load * chore: fixing pop up block that got conflicted with new logic * chore: removing H1 artifact from tutorial notebooks * chore: organising nav a bit better * chore: make fundamentals expand on default * chore: fixing hrefs in docs * docs: adding base documentation with code cell runs * docs: add detect gradual tutorial * docs: adding abrupt tutorial, and fixing minor typos in gradual tutorial * chore: minor refactoring of cells * chore: updating GIFs and README references (#66) * chore: update gradual tutorial * docs: adding noise tutorial * chore: docs polish and file restructure * chore: fix typo in gradual tutorial * chore: improving markdown cells wording in tutorials * chore: fix typos in docs * chore: final docs polish * chore(docs): enabling scroll handler table of contents through javascript workaround * chore(docs): fixing the comma line break issue of jupyterlite, adding a script workaround to rerun everytime that notebooks are updated. * chore: updating GIFs and README references (#66) * chore: delete old quickstart file * ci: deploy docs via GitHub pages (#71) * chore: delete outdated quickstart in docs * chore: update quickstart to be in synch with latest doc update * ci: adding new docs workflow for deploying to github io docs page * chore: updating README to reference docs site * fix: resolve develop docs 404 and address unresolved PR #71 review comments (#72) * Initial plan * fix: address unresolved PR #71 review comments and docs 404 issue - docs.yaml: change fetch-depth to 0 in check-should-deploy job - docs.yaml: replace git log -1 / HEAD~1..HEAD with full push-range check using GITHUB_EVENT_PATH (all commit messages + before..sha diff) - docs.yaml: add comment explaining the one-time GitHub Pages settings step - README.md: add pip install pytrendy snippet before the import block - README.md: fix results.df -> results.print_summary() to match shown output Agent-Logs-Url: https://github.com/RussellSB/pytrendy/sessions/dfaa5327-6e14-41a2-9982-dec2705766e7 Co-authored-by: RussellSB <35470600+RussellSB@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: RussellSB <35470600+RussellSB@users.noreply.github.com> * docs: add develop main indicator (#73) * docs: adding dev/main button switch * chore: auto-expanding the API reference pytrendy * docs(fix): fixing docs issue with example gallery references, needs to be under fundamental and no html explicit (#74) * docs: hot fixes on deployed docs UI for mobile-compatibiliy (#78) * ci: deploy documentation site and improve ci/cd workflow structure (#75) * ci: add develop branch pre-release pipeline for PyPI dev versions (#62) * fix: test prerelease versioning on develop (#63) * fix: add main as base branch in dev release config (#64) * chore: updating GIFs and README references (#66) * docs: finish tutorial pages on fundamentals (#70) * chore: adding mkdocs dependancies to pyproject.toml * chore: updating mkdocs yaml plugins so can be ran with latest updated package versions * chore: adding site to gitignore, so mkdocs doesnt try to git add local site assets when unintended * chore: reverting mkdocs yaml to not break __init__ method header comments from displaying * chore(docs): improve the syntax of dict arguments * chore: deleting old documentation pages that will become outdated * chore(docs): rephrasing home page to be more punchy * chore(docs): making more punchy * chore(docs): removing old files * chore(docs): updating structure * chore(docs): removing user guide * docs: moving installation and simple quickstart to homepage * docs: adding example gallery page, similar to pymc-marketing docs * chore(docs): rewording example gallery intro * chore(docs): slight rewording for example gallery and captions * chore: updating docs version requirements to be explicit otherwise conflicts * chore: updating GIF references * chore: tweaking padding * chore: removing next steps section from homepage * chore: removing old quick start * chore: removing old tutorial pages * chore(docs): moving why pytrendy to top * chore(invalid): attempting to use mkdocs-jupyter but conflicts with api-autonav * chore(fix): switching to mkdocs-jupyterlite does the trick * docs: customising jupyterlite css to harmonise better with the material theme look and feel * chore: update toml with jupyterlite * chore: improve css layout of Example Gallery * docs: updating link html for docs, referencing other pages appropriately * docs: adjust links in io __int__ * docs: found outdated spec * docs: added spinner on interactive notebook page load * chore: fixing pop up block that got conflicted with new logic * chore: removing H1 artifact from tutorial notebooks * chore: organising nav a bit better * chore: make fundamentals expand on default * chore: fixing hrefs in docs * docs: adding base documentation with code cell runs * docs: add detect gradual tutorial * docs: adding abrupt tutorial, and fixing minor typos in gradual tutorial * chore: minor refactoring of cells * chore: updating GIFs and README references (#66) * chore: update gradual tutorial * docs: adding noise tutorial * chore: docs polish and file restructure * chore: fix typo in gradual tutorial * chore: improving markdown cells wording in tutorials * chore: fix typos in docs * chore: final docs polish * chore(docs): enabling scroll handler table of contents through javascript workaround * chore(docs): fixing the comma line break issue of jupyterlite, adding a script workaround to rerun everytime that notebooks are updated. * chore: updating GIFs and README references (#66) * chore: delete old quickstart file * ci: deploy docs via GitHub pages (#71) * chore: delete outdated quickstart in docs * chore: update quickstart to be in synch with latest doc update * ci: adding new docs workflow for deploying to github io docs page * chore: updating README to reference docs site * fix: resolve develop docs 404 and address unresolved PR #71 review comments (#72) * Initial plan * fix: address unresolved PR #71 review comments and docs 404 issue - docs.yaml: change fetch-depth to 0 in check-should-deploy job - docs.yaml: replace git log -1 / HEAD~1..HEAD with full push-range check using GITHUB_EVENT_PATH (all commit messages + before..sha diff) - docs.yaml: add comment explaining the one-time GitHub Pages settings step - README.md: add pip install pytrendy snippet before the import block - README.md: fix results.df -> results.print_summary() to match shown output Agent-Logs-Url: https://github.com/RussellSB/pytrendy/sessions/dfaa5327-6e14-41a2-9982-dec2705766e7 Co-authored-by: RussellSB <35470600+RussellSB@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: RussellSB <35470600+RussellSB@users.noreply.github.com> * docs: add develop main indicator (#73) * docs: adding dev/main button switch * chore: auto-expanding the API reference pytrendy * docs(fix): fixing docs issue with example gallery references, needs to be under fundamental and no html explicit (#74) --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> * docs: fixing dev overlap UI bug on mobile by max width special case properties * docs: fixing url specs in docstrings for auto api nav * docs: fixing examples gallery margin padding on mobile, now even from both sides --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
This pull request introduces a new GitHub Actions workflow for automated documentation deployment and significantly simplifies the quickstart sections in both the
README.mdand documentation. The quickstart now focuses on the core usage pattern, making it easier for new users to get started, while the workflow ensures that documentation is automatically built and deployed when relevant changes are made.Documentation automation:
.github/workflows/docs.yamlworkflow that checks if documentation should be deployed based on commit messages and changed files, then builds and deploys the docs to GitHub Pages for bothmainanddevelopbranches. The workflow also handles branch-specific site URLs and root redirects for the main branch.Links to full documentation:
README.mdto direct users to the full documentation site for more information.