Skip to main content

splent_feature_github

The github feature of a SPLENT product line.

Sign in and sign up with GitHub, and connect a GitHub account to an account from its profile. A new account takes the email GitHub shares, or else the verified primary address of the GitHub account, and the name it gives. A GitHub account always signs in to the account it is linked to, and never to an existing account because the email matches. It needs auth, profile and identities, which keeps the linked accounts and the shared OAuth registry.

A SPLENT feature is a Python package that a product composes with others. Its models, routes, services, templates and hooks are registered when the product starts. What this feature provides and requires is listed in the [tool.splent.contract] section of pyproject.toml, which splent feature:contract --write keeps in sync with the source.

Settings

Setting Default What it is
GITHUB_CLIENT_ID empty The client id of the OAuth app registered at https://github.com/settings/developers
GITHUB_CLIENT_SECRET empty Its secret

Without both, GitHub sign-in fails with a message and the app logs a warning at startup.

Where it shows

It fills the slots other features open, by name, so it composes with whatever the product has and overrides nothing.

Slot Opened by What GitHub draws
auth.login.providers auth The GitHub button, under "or continue with"
signup.providers signup, when the product has it The same button, after the sign-up form
profile.edit.sections profile The linked account with a disconnect button, or a "Connect GitHub" link
layout.head.css the product's app shell Its stylesheet, assets/css/github.css

It takes order 10 in the first three, before ORCID's 20. The button carries where the reader was heading (?next=), and only a path on this site. The disconnect button opens identities' modal.

GitHub's dark grey is in assets/css/github.css, never on the elements. The public shell loads the file from the asset registry (register_asset), and the app shell, which does not render the registry, through layout.head.css. A product that wants another look overrides .btn.btn-github and the github-identity__* classes in a stylesheet of its own.

A product without signup

A product that does not install splent_feature_signup is closed, and its accounts are opened by an administrator. GitHub follows the rule identities holds for every provider.

Visitor With signup Without signup
Signs in with a GitHub account already linked Signed in Signed in
Connects GitHub from their profile Linked Linked
Signs in with a GitHub account linked to nobody A new account is opened Sent back to the login page with a translated message that asks them to request access from an administrator, or to connect GitHub from their profile if they have an account

Translations

The edit-profile row ships with a Spanish catalog.

Use it in a product

splent feature:add splent_feature_github

Develop

splent feature:test splent_feature_github
splent feature:contract splent_feature_github

Release

splent feature:release splent_feature_github --dry-run --bump patch
splent feature:release splent_feature_github

The first command rehearses the release and changes nothing. The second publishes it to the git forge and to PyPI, and a PyPI version is permanent.

Metadata

Release files for splent-feature-github 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for splent-feature-github 0.1.0
File Size Uploaded Provenance
splent_feature_github-0.1.0.tar.gz 28.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for splent-feature-github 0.1.0
File Interpreter ABI Platform
splent_feature_github-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 61.8 kB

Release files / splent_feature_github-0.1.0.tar.gz

Download URL splent_feature_github-0.1.0.tar.gz
Size 28.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f7631be6339356bf00b7003eb478f9fcc219eb305afa22327c2a7de14cf14f98
BLAKE2b-256 checksum
How to use checksums
40a163b46cdb9985c7df3e65a7249c59005864e0173d242e3d75415f6c80e1f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / splent_feature_github-0.1.0-py3-none-any.whl

Download URL splent_feature_github-0.1.0-py3-none-any.whl
Size 33.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a1f60d3de4b3d93d6648a98d3827f3b4e1ed739498d4f34a6bed3765909a9d7f
BLAKE2b-256 checksum
How to use checksums
ba66a493165701d1a6fa703e910045c7e0996afb3aa5b210f38dfe15533b73b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Security for splent-feature-github 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page