Skip to content

Commit 4cd5f01

Browse files
Merge branch 'main' into main-3.0-dev
2 parents edf05dc + 2ada91e commit 4cd5f01

File tree

8 files changed

+87
-14
lines changed

8 files changed

+87
-14
lines changed

RELEASE.md

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,43 @@ The SDK follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html) and t
1616

1717
1. Create a new GitHub release:
1818
* From the GitHub UI:
19-
* Navigate to the releases UI
20-
* Set tag to release version
21-
* Set target to `main`
19+
* Navigate to the [releases UI](https://github.com/planetlabs/planet-client-python/releases), and select "Draft a new release".
20+
* Choose or create a tag for the release version. The is expected to simply be the [PEP 440](https://peps.python.org/pep-0440/)
21+
compliant semantic version number, without any prefix or other adornments. Examples, from most to least mature:
22+
* Production release: `2.3.4`
23+
* Release candidate: `2.3.4rc1`
24+
* Beta release: `2.3.4b1`
25+
* Alpha release: `2.3.4a1`
26+
* Alpha development pre-release build: `2.3.4a1.dev1`
27+
* Set target the release branch. This should normally be `main` for production releases.
2228
* Set title to tag release version
2329
* Describe the change(s) that are shipping with this version in the release description
2430
* Alternatively, create a release from the GitHub CLI:
2531
* Make sure the pre-requisite [gh](https://cli.github.com/manual/gh) CLI is installed, and optionally review the docs for CLI command [gh release create](https://cli.github.com/manual/gh_release_create)
2632
* By default, `gh release create` will automatically tag releases from the latest state of the default branch
2733
* Run CLI command `gh release create {VERSION} --notes "{RELEASE NOTES}"` where `VERSION` is the release version and `RELEASE NOTES` is the description of changes
28-
2. Verify the successful run of the Github Action `Autopublish to TestPyPI` and validate the test release on [test.pypi.org](https://test.pypi.org/project/planet/)
29-
3. Run the Github Action `Publish on PyPI`
34+
2. Verify the successful run of the Github Action [`Autopublish to TestPyPI`](https://github.com/planetlabs/planet-client-python/actions/workflows/autopublish-testpypi.yml) and validate the test release on [test.pypi.org](https://test.pypi.org/project/planet/)
35+
3. Run the Github Action [`Publish on PyPI`](https://github.com/planetlabs/planet-client-python/actions/workflows/publish-pypi.yml)
3036
4. Verify the successful run of the Github Action `Publish on PyPI` and validate the release on [pypi.org](https://pypi.org/project/planet/)
31-
5. Verify the successful publishing of documentation to [Read the Docs](https://planet-sdk-for-python-v2.readthedocs.io/en/latest/)
37+
5. Verify the successful and correct publishing of documentation to Read the Docs.
38+
Read the Docs publishing should be triggered automatically by Github
39+
[project webhooks](https://github.com/planetlabs/planet-client-python/settings/hooks).
40+
Correct publishing includes verifying that the `default`, `stable`, and `latest`
41+
versions of the documentation point to the correct versions, and that the version
42+
specific documentation URL also works as expected. The management of these
43+
symbolic documentation versions is handled by Read the Docs
44+
[automation rules](https://app.readthedocs.org/dashboard/planet-sdk-for-python/rules/).
45+
* Published to [planet-sdk-for-python](https://planet-sdk-for-python.readthedocs.io/en/latest/) (Note the new version-less project slug in DNS name).
46+
* _`default`_: [https://planet-sdk-for-python.readthedocs.io/](https://planet-sdk-for-python.readthedocs.io/) - Should point to same version as `stable`.
47+
* `stable`: [https://planet-sdk-for-python.readthedocs.io/en/stable/](https://planet-sdk-for-python.readthedocs.io/en/stable/) - Should point to the highest stable release version.
48+
* `latest`: [https://planet-sdk-for-python.readthedocs.io/en/latest/](https://planet-sdk-for-python.readthedocs.io/en/latest/) - Should point to the most recent build from `main`.
49+
* _`version`_: [https://planet-sdk-for-python.readthedocs.io/en/X.YY.ZZ/](https://planet-sdk-for-python.readthedocs.io/en/X.YY.Z/) - Should point to version `X.YY.ZZ`.
50+
* Published to [planet-sdk-for-python-v2](https://planet-sdk-for-python-v2.readthedocs.io/en/latest/) (Note the older "v2" in the project slug in the DNS name).
51+
* _`default`_: [https://planet-sdk-for-python-v2.readthedocs.io/](https://planet-sdk-for-python-v2.readthedocs.io/) - Should point to same version as `stable`.
52+
* `stable`: [https://planet-sdk-for-python-v2.readthedocs.io/en/stable/](https://planet-sdk-for-python-v2.readthedocs.io/en/stable/) - Should point to the highest stable release version.
53+
* `latest`: [https://planet-sdk-for-python-v2.readthedocs.io/en/latest/](https://planet-sdk-for-python-v2.readthedocs.io/en/latest/) - Should point to the most recent build from `main`.
54+
* _`version`_: [https://planet-sdk-for-python-v2.readthedocs.io/en/X.YY.ZZ/](https://planet-sdk-for-python-v2.readthedocs.io/en/X.YY.ZZ/) - Should point to version `X.YY.ZZ`.
55+
* Pre-release versions should _not_ impact the default version of the documentation. Pre-release version may be published as the `latest` version.
3256

3357
## Local publishing
3458

design-docs/content-plan.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Content Plan Planet SDK (v2)
22

3-
This document is a response to the issue #353: Quantify 'accurate and complete documentation' required for initial release. After a review of existing content, the following recommendations have been accepted as part of the V2 release. Documentation tickets will be derived from the recommendations, below.
3+
This document is a response to the [issue #353](https://github.com/planetlabs/planet-client-python/issues/353): Quantify 'accurate and complete documentation' required for initial release. After a review of existing content, the following recommendations have been accepted as part of the V2 release. Documentation tickets will be derived from the recommendations, below.
44

55
## Overview
66

@@ -19,7 +19,7 @@ The SDK and CLI are low-level interfaces mirroring much of the API, itself. Whil
1919

2020
We are currently publishing documentation on [planet.com](https://docs.planet.com/develop/sdks/#planet-sdk-for-python-and-cli), [github.com](https://github.com/planetlabs/planet-client-python), and on [readthedocs.com](https://planet-sdk-for-python-v2.readthedocs.io). Providing a single source of truth (SSoT) ensures one definitive source of documentation, reducing the dilution of information, errors, and maintenance efforts.
2121

22-
### Ticket to be filed
22+
### Tickets to be filed
2323

2424
Implement mkdocs to leverage features of readthedocs.com, but publish only on one platform. This would be planet.com unless we are making a concerted effort to recruit 3rd party contributors to the SDK, in which case, it could stay on readthedocs.com. So the publication landscape would be as follows:
2525

design-docs/content-readthedocs.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# _ReadTheDocs.io_ Content Management
2+
3+
## Overview
4+
Pursuant to the [Content Plan](./content-plan.md) developed as part of the
5+
v2.0 release of the SDK, [_ReadTheDocs.io_](https://planet-sdk-for-python.readthedocs.io/)
6+
is used to host the single source of truth for SDK documentation. SDK documentation
7+
is largely confined to the specifics of using the SDK. More general Planet Platform
8+
narrative and HTTP API documentation should be hosted on the Planet documentation site
9+
at [docs.planet.com](https://docs.planet.com/).
10+
11+
## Version Management
12+
_ReadTheDocs.io_ hosts multiple versions of the documentation simultaneously.
13+
All versions of the documentation will be published under a _ReadTheDocs.io_
14+
URL that explicitly includes the SDK version so that PyPi published packages
15+
will always have corresponding _ReadTheDocs.io_ documentation for users.
16+
17+
Additionally, the following symbolic names are maintained:
18+
* [**default**](https://planet-sdk-for-python.readthedocs.io/) - Should point to same version as `stable`.
19+
* [**stable**](https://planet-sdk-for-python.readthedocs.io/en/stable/) - Should point to the highest stable release version.
20+
* [**latest**](https://planet-sdk-for-python.readthedocs.io/en/latest/) - Should point to the most recent build from the current mainline major version branch.
21+
22+
Version management is handled by _ReadTheDocs.io_ [automation rules](https://app.readthedocs.org/dashboard/planet-sdk-for-python/rules/).
23+
24+
## _ReadTheDocs.io_ Planet PBC Account
25+
Planet currently publishes to _ReadTheDocs.io_ as a [community](https://about.readthedocs.com/pricing/#/community)
26+
project. It is understood that this means that ads may be displayed on hosted documentation. (Ref: cleared
27+
with Planet Engineering Management in April 2025.)
28+
29+
----

docs/custom_theme/home.html

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@
55
<div class="md-grid md-typeset">
66
<div class="mdx-hero">
77
<div class="mdx-hero__content">
8-
<h1>Welcome to the {{ config.site_name }}</h1>
8+
<h1>
9+
Welcome to the {{ config.site_name }}
10+
<br/>
11+
<span class="h1_subtitle">Version {{ config.extra.planet_sdk_version }}</span>
12+
</h1>
913
<p>{{ config.site_description }}</p>
1014
<a href="./{{ 'get-started/quick-start-guide' | url }}" title="Get Started" class="md-button md-button--primary md-button--teriary">
1115
Get started
@@ -30,11 +34,11 @@ <h1>Welcome to the {{ config.site_name }}</h1>
3034
<div class="md-footer-right">
3135
powered by
3236
<a href="https://www.mkdocs.org" title="MkDocs">MkDocs</a>
33-
and
37+
and
3438
<a href="https://squidfunk.github.io/mkdocs-material/"
3539
title="Material for MkDocs">
3640
Material for MkDocs</a>
37-
</div>
41+
</div>
3842
</div>
3943
</footer>
4044
{% endblock %}

docs/hooks/mkdocs_hooks.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from planet import __version__ as _pl_sdk_version
2+
3+
def on_config(config):
4+
"""
5+
This is for injecting the package version into mkdocs
6+
config so it can be used in templates.
7+
"""
8+
config["extra"]["planet_sdk_version"] = _pl_sdk_version
9+
return config

docs/stylesheets/extra.css

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ section.mdx-container::before{
4747
background-repeat: no-repeat;
4848
background-position: right 10% bottom 45%;
4949
background-size: auto;
50-
50+
5151
}
5252

5353

@@ -75,6 +75,10 @@ section.mdx-container::before{
7575
margin-right: 2.5vw;
7676
}
7777

78+
.h1_subtitle {
79+
font-size: smaller;
80+
}
81+
7882
@media screen and (min-width:76.25em){
7983
section.md-sidebar--primary{display:none}
8084
}
@@ -87,4 +91,4 @@ section.mdx-container::before{
8791

8892
.highlight .gp, .highlight .go { /* Generic.Prompt, Generic.Output */
8993
user-select: none;
90-
}
94+
}

mkdocs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ plugins:
6464
- planet
6565
- docs/custom_theme/
6666

67+
hooks:
68+
- docs/hooks/mkdocs_hooks.py
69+
6770
nav:
6871
- "Get Started":
6972
- get-started/quick-start-guide.md

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ dynamic = ["version"]
3636
test = ["pytest==8.3.3", "anyio", "pytest-cov", "respx>=0.22.0"]
3737
lint = ["flake8", "mypy", "yapf==0.43.0"]
3838
docs = [
39-
"mkdocs==1.3",
39+
"mkdocs==1.4.2",
4040
"mkdocs-click==0.7.0",
4141
"mkdocs-material==8.2.11",
4242
"mkdocstrings==0.18.1",

0 commit comments

Comments
 (0)