Skip to content

Conversation

@sighphyre
Copy link
Member

@sighphyre sighphyre commented Jul 1, 2025

This collapses all the docs in the SDK into the README. The Sphinx documentation was really difficult to discover if you didn't know where to look and users shouldn't have to fish around on the Internet to get critical info on the SDK (and honestly I'm tired of dealing with Slack questions that could just be written down)

Changes

  • All the details in the Sphinx docs are now in the main README
  • Broke out DEVELOPMENT.md — just a copy-paste for now. If it needs real love, we can fix in another PR
  • Added missing docs for every SDK constructor param, lots of important stuff here that was more or less invisible via the README
  • Added bootstrap examples (dict, file, URL)
  • Renamed “events” to "impression data" since that's currently their only use, added some proper examples here
  • Updated custom strategies to the real, modern API. Docs weren't up to date here
  • Dropped the docs for legacy fallback values and custom strategy APIs. Those technically still work but they've been deprecated for a while and I want people to stop using them going forward. Please bro. Please. Let them die
  • Added explicit notes on what types work in Context. Users were previously guessing/inferring it from the type and getting it wrong

TODO

  • Sphinx docs can probably be nuked now. I'm open to being told no here. This and Rust are the only SDKs that have rich documentation that's separate from the main README. Rust is less of an issue since the crate docs are the first step for Rust nerds but for Python I think it makes sense that the main Unleash docs are a one stop shop
  • DEVELOPMENT.md probably wants a second pass but I want this to settle first

@coveralls
Copy link

coveralls commented Jul 1, 2025

Coverage Status

coverage: 95.475%. remained the same
when pulling cf665fb on docs/cannabilize-sphinx
into 35ae106 on main.

@sighphyre sighphyre changed the title Docs/cannabilize sphinx docs: cannabilize sphinx documentation into main README Jul 1, 2025
@sighphyre sighphyre marked this pull request as ready for review July 1, 2025 18:16

![](https://github.com/unleash/unleash-client-python/workflows/CI/badge.svg?branch=main) [![Coverage Status](https://coveralls.io/repos/github/Unleash/unleash-client-python/badge.svg?branch=main)](https://coveralls.io/github/Unleash/unleash-client-python?branch=main) [![PyPI version](https://badge.fury.io/py/UnleashClient.svg)](https://badge.fury.io/py/UnleashClient) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/UnleashClient.svg) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Unleash is a private, secure, and scalable [feature management platform](https://www.getunleash.io/) built to reduce the risk of releasing new features and accelerate software development. This server-side Python SDK is designed to help you integrate with Unleash and evaluate feature flags inside your application.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The intro here is shamelessly stolen from the Node SDK. I don't know if we want this or not but it feels like a nice way to ease into the docs

## Installation

Check out the package on [Pypi](https://pypi.org/project/UnleashClient/)!
### Install the Unleash Client in your project
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a TON of ways of installing packages in Python. I know in node we list yarn and npm. For Python I don't think it's worth detailing every single one, since most Python programmers can extrapolate from pip out to their choice of package manager (it's pip all the way down anyway)


### Initialization

You must initialize the SDK before you use it. Note that until the SDK has synchronized with the API, all features will evaluate to `false` unless
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no way to force a sync in the Python SDK

@gastonfournier gastonfournier moved this from New to Todo in Issues and PRs Jul 2, 2025
@gastonfournier gastonfournier moved this from Todo to In Progress in Issues and PRs Jul 2, 2025
Copy link
Contributor

@melindafekete melindafekete left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @sighphyre this looks great!

@github-project-automation github-project-automation bot moved this from In Progress to Approved PRs in Issues and PRs Jul 2, 2025
@sighphyre sighphyre merged commit 8b9eb24 into main Jul 2, 2025
43 checks passed
@sighphyre sighphyre deleted the docs/cannabilize-sphinx branch July 2, 2025 20:34
@github-project-automation github-project-automation bot moved this from Approved PRs to Done in Issues and PRs Jul 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants