Skip to content

Commit 7eddd81

Browse files
Merge branch 'main' into carl/initial-drop-from-internal--docs
2 parents 61eda95 + 45a5e98 commit 7eddd81

10 files changed

Lines changed: 114 additions & 63 deletions

File tree

.github/workflows/release-build.yml

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -43,25 +43,28 @@ jobs:
4343
name: planet-auth-src-targz
4444
path: dist/planet_auth*.tar.gz
4545

46-
build-docs:
47-
name: "Build Documentation Packages"
48-
runs-on: ubuntu-latest
49-
steps:
50-
- name: "Checkout code"
51-
uses: actions/checkout@v4
52-
- name: Prepare common Python build environment
53-
uses: ./.github/actions/python-build-env-setup
54-
with:
55-
python-version: ${{ env.PYTHON_VERSION }}
56-
# - name: "Pull Build Number"
57-
# uses: ./.github/actions/version-dot-buildnum-fetch
58-
# with:
59-
# version-file: version-with-buildnum.txt
60-
- name: "Nox: MKDocs Build"
61-
run: |
62-
nox -s mkdocs_build
63-
- name: "Save Artifacts - MkDocs"
64-
uses: actions/upload-artifact@v4
65-
with:
66-
name: planet-auth-mkdocs-site
67-
path: site/**
46+
# Not building this as a release artifact at this time.
47+
# Docs are published to ReadTheDocs through other mechanisms.
48+
#
49+
# build-docs:
50+
# name: "Build Documentation Packages"
51+
# runs-on: ubuntu-latest
52+
# steps:
53+
# - name: "Checkout code"
54+
# uses: actions/checkout@v4
55+
# - name: Prepare common Python build environment
56+
# uses: ./.github/actions/python-build-env-setup
57+
# with:
58+
# python-version: ${{ env.PYTHON_VERSION }}
59+
# # - name: "Pull Build Number"
60+
# # uses: ./.github/actions/version-dot-buildnum-fetch
61+
# # with:
62+
# # version-file: version-with-buildnum.txt
63+
# - name: "Nox: MKDocs Build"
64+
# run: |
65+
# nox -s mkdocs_build
66+
# - name: "Save Artifacts - MkDocs"
67+
# uses: actions/upload-artifact@v4
68+
# with:
69+
# name: planet-auth-mkdocs-site
70+
# path: site/**

.github/workflows/release-orchestrate.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@ permissions:
44
actions: read
55
contents: read
66

7-
# TODO: insure we can only release from privileged branches/tags?
8-
97
on:
10-
# push: # Just for testing FIXME: Remove this.
118
workflow_dispatch:
129
inputs:
1310
build-variant:

.github/workflows/release-publish.yml

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -21,35 +21,8 @@ env:
2121
PYTHON_VERSION: "3.13"
2222

2323
jobs:
24-
# release-checkpoint:
25-
# name: "Final Release Checkpoint"
26-
# runs-on: ubuntu-latest
27-
# permissions:
28-
# actions: read
29-
# contents: write
30-
# # TODO: Gate actual prod deployment on a manual approval to bonk.
31-
# steps:
32-
# # - name: "Checkout code"
33-
# # uses: actions/checkout@v4
34-
# # - name: "Prepare common Python build environment"
35-
# # uses: ./.github/actions/python-build-env-setup
36-
# # with:
37-
# # python-version: ${{ env.PYTHON_VERSION }}
38-
# - name: "Record Release Tag"
39-
# # While we drop tags at the beginning of the release pipeline, we also record
40-
# # that we published the release here at the end of the release pipeline.
41-
# # Tests could fail, and this should record that difference between attempting
42-
# # a release, and publishing a release.
43-
# run: |
44-
# set -x
45-
# git config --global user.email "planet-auth-python-github-cicd@planet.com"
46-
# git config --global user.name "CICD for github repository ${GITHUB_REPOSITORY}"
47-
# git tag -a -m "test tag comment" "release-${{inputs.version-with-buildnumber}}"
48-
# git push origin "release-${{inputs.version-with-buildnumber}}"
49-
5024
release-pypi-test:
5125
name: "Release package to PyPi (Test)"
52-
# needs: release-checkpoint
5326
runs-on: ubuntu-latest
5427
# environment: staging
5528
steps:
@@ -85,7 +58,6 @@ jobs:
8558
8659
release-pypi-production:
8760
name: "Release package to PyPi (Production)"
88-
# needs: release-checkpoint
8961
runs-on: ubuntu-latest
9062
# environment: staging
9163
steps:

CONTRIBUTING.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
TODO: document submitting tickets and PRs. We will likely lean on the SDK process.

DEVELOPMENT.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Development
2+
3+
## Development Tools
4+
All packages needed for different facets of development are specified as
5+
"extra" packages. Each of these may be installed using `pip`. For example,
6+
the following would install the extra packages needed for the operation of
7+
the code samples in the documentation:
8+
9+
```console
10+
pip install planet-auth[examples]
11+
```
12+
13+
The following extra packages have been defined:
14+
* `build` - Packages needed to build distribution packages.
15+
* `docs` - Packages needed to build the documentation.
16+
* `test` - Packages needed to run all the test and linting suites.
17+
* `examples` - Packages needed by example code.
18+
* `dev` - Meta package that combines `build`, `docs`, and `test`.
19+
20+
## Nox
21+
[Nox](https://nox.thea.codes/) is the preferred mechanism for performing all
22+
common development activities. This includes running unit tests, linting,
23+
code formatting, and static analysis.
24+
25+
For a complete list of supported activities, list nox sessions.:
26+
```console
27+
nox -l
28+
```

README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Planet Auth Utility Library
2+
3+
The Planet Auth Library provides generic authentication utilities for clients
4+
and for services. For clients, it provides means to obtain access tokens that
5+
can be used to access network services. For services, it provides tools to
6+
validate the same access tokens.
7+
8+
The [Planet SDK for Python](https://developers.planet.com/docs/pythonclient/)
9+
leverages this library, and is pre-configured for the Planet Cloud Service used
10+
by customers.
11+
12+
## Installation and Quick Start
13+
14+
The Planet Auth Library for Python is [hosted on PyPI](https://pypi.org/project/planet-auth/)
15+
and can be installed via:
16+
17+
```console
18+
pip install planet-auth
19+
```
20+
21+
To install from source, first clone this repository, then navigate to the
22+
root directory (where [`pyproject.toml`](./pyproject.toml) lives) and run:
23+
24+
```console
25+
pip install .
26+
```
27+
28+
## Using the Planet Auth Library
29+
See the developer documentation at [Planet Auth on Read The Docs](TBD).
30+
31+
## Development
32+
See [DEVELOPMENT](./DEVELOPMENT.md) for details on library development.
33+
34+
## Releasing
35+
36+
The release process is outlined in [RELEASE](RELEASE.md).

docs/changelog.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
- 2.X is the initial public release of Planet auth libraries, targeting integration
55
with our public Python SDK [`planet-client-python`](https://github.com/planetlabs/planet-client-python)/
66
- 2.0.X is a development series, not intended for production. When ready,
7-
the version will be bumped beyond 2.1.
7+
the version will be bumped to 2.1.

docs/index.md

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,23 @@
1-
# Planet Auth
1+
# Planet Auth Utility Library
22

3-
## Overview
3+
The Planet Auth Library provides generic authentication utilities for clients
4+
and for services. For clients, it provides means to obtain access tokens that
5+
can be used to access network services. For services, it provides tools to
6+
validate the same access tokens.
47

5-
Planet auth utility code.
8+
The architecture of the code was driven by OAuth2, but is intended to be easily
9+
extensible to new authentication protocols in the future. Since both clients
10+
and resource servers are both themselves clients to authorization servers in
11+
an OAuth2 deployment, this combining of resource client and resource server
12+
concerns in a single library was seen as natural.
613

7-
The code in this library is general auth utility code, and does not make
8-
any assumptions about the environment in which it is operating. The
9-
[Planet SDK for Python](https://developers.planet.com/docs/pythonclient/)
14+
Currently, this library supports OAuth2, Planet's legacy proprietary
15+
authentication protocols, and static API keys.
16+
17+
This library does not make any assumptions about the specific environment in which
18+
it is operating, leaving that for higher level applications to configure.
19+
20+
The [Planet SDK for Python](https://developers.planet.com/docs/pythonclient/)
1021
leverages this library, and is pre-configured for the Planet Cloud Service used
1122
by customers.
23+
s

mkdocs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ plugins:
3636
- "!^_" # exclude all members starting with _
3737
- "^__init__$" # but always include __init__ modules and methods
3838

39-
repo_name: platform-auth/planet-auth-python
40-
repo_url: https://hello.planet.com/code/platform-auth/planet-auth-python
39+
repo_name: planetlabs/planet-auth-python
40+
repo_url: https://github.com/planetlabs/planet-auth-python
4141
#edit_uri: ""
4242

4343
nav:

pyproject.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ requires-python = ">=3.9"
77
dynamic = ["version"]
88
# version = "X.X.X"
99
description = "Planet Auth Utility Code"
10-
readme = "docs/README-pkg.md"
10+
readme = "docs/index.md"
1111
authors = [{ name = "Carl Adams", email = "carl.adams@planet.com" }]
1212
license = {file = "LICENSE"}
1313
classifiers = [
@@ -66,6 +66,8 @@ dev = [
6666
"planet-auth[test, docs, build]",
6767
]
6868
internal = [
69+
# For Planet Engineering internal usage. These are Planet internal packages,
70+
# and will not be generally available.
6971
"planet-auth-config >= 2.0.0",
7072
]
7173

0 commit comments

Comments
 (0)