From 6c37c6e4a79250e5793480e039dc46273087c11a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Mazzucotelli?= Date: Mon, 8 Jan 2024 17:48:17 +0100 Subject: [PATCH] Deployed cf6c5e0 with MkDocs version: 1.5.3 --- insiders/index.html | 14 ++------------ search/search_index.json | 2 +- sitemap.xml.gz | Bin 424 -> 424 bytes 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/insiders/index.html b/insiders/index.html index 0cdc6854..4d671108 100644 --- a/insiders/index.html +++ b/insiders/index.html @@ -1,12 +1,2 @@ - Insiders - mkdocstrings-python
Skip to content

Insiders¤

mkdocstrings-python follows the sponsorware release strategy, which means that new features are first exclusively released to sponsors as part of Insiders. Read on to learn what sponsorships achieve, how to become a sponsor to get access to Insiders, and what's in it for you!

What is Insiders?¤

mkdocstrings-python Insiders is a private fork of mkdocstrings-python, hosted as a private GitHub repository. Almost1 all new features are developed as part of this fork, which means that they are immediately available to all eligible sponsors, as they are made collaborators of this repository.

Every feature is tied to a funding goal in monthly subscriptions. When a funding goal is hit, the features that are tied to it are merged back into mkdocstrings-python and released for general availability, making them available to all users. Bugfixes are always released in tandem.

Sponsorships start as low as $10 a month.2

What sponsorships achieve¤

Sponsorships make this project sustainable, as they buy the maintainers of this project time – a very scarce resource – which is spent on the development of new features, bug fixing, stability improvement, issue triage and general support. The biggest bottleneck in Open Source is time.3

If you're unsure if you should sponsor this project, check out the list of completed funding goals to learn whether you're already using features that were developed with the help of sponsorships.

What's in it for me?¤

The moment you become a sponsor, you'll get immediate access to 7 additional features that you can start using right away, and which are currently exclusively available to sponsors:

How to become a sponsor¤

Thanks for your interest in sponsoring! In order to become an eligible sponsor with your GitHub account, visit pawamoy's sponsor profile, and complete a sponsorship of $10 a month or more. You can use your individual or organization GitHub account for sponsoring.

Important: If you're sponsoring @pawamoy through a GitHub organization, please send a short email to pawamoy@pm.me with the name of your organization and the GitHub account of the individual that should be added as a collaborator.4

You can cancel your sponsorship anytime.5

  Join our awesome sponsors



If you sponsor publicly, you're automatically added here with a link to your profile and avatar to show your support for mkdocstrings-python. Alternatively, if you wish to keep your sponsorship private, you'll be a silent +1. You can select visibility during checkout and change it afterwards.

Funding ¤

Goals¤

The following section lists all funding goals. Each goal contains a list of features prefixed with a checkmark symbol, denoting whether a feature is already available or planned, but not yet implemented. When the funding goal is hit, the features are released for general availability.

$ 500 — PlasmaVac User Guide¤

$ 1,000 — GraviFridge User Manual¤

Frequently asked questions¤

Compatibility¤

We're building an open source project and want to allow outside collaborators to use mkdocstrings-python locally without having access to Insiders. Is this still possible?

Yes. Insiders is compatible with mkdocstrings-python. Almost all new features and configuration options are either backward-compatible or implemented behind feature flags. Most Insiders features enhance the overall experience, though while these features add value for the users of your project, they shouldn't be necessary for previewing when making changes to content.

Payment¤

We don't want to pay for sponsorship every month. Are there any other options?

Yes. You can sponsor on a yearly basis by switching your GitHub account to a yearly billing cycle. If for some reason you cannot do that, you could also create a dedicated GitHub account with a yearly billing cycle, which you only use for sponsoring (some sponsors already do that).

If you have any problems or further questions, please reach out to pawamoy@pm.me.

Terms¤

Are we allowed to use Insiders under the same terms and conditions as mkdocstrings-python?

Yes. Whether you're an individual or a company, you may use mkdocstrings-python Insiders precisely under the same terms as mkdocstrings-python, which are given by the ISC License. However, we kindly ask you to respect our fair use policy:

  • Please don't distribute the source code of Insiders. You may freely use it for public, private or commercial projects, privately fork or mirror it, but please don't make the source code public, as it would counteract the sponsorware strategy.

  • If you cancel your subscription, you're automatically removed as a collaborator and will miss out on all future updates of Insiders. However, you may use the latest version that's available to you as long as you like. Just remember that GitHub deletes private forks.


  1. In general, every new feature is first exclusively released to sponsors, but sometimes upstream dependencies enhance existing features that must be supported by mkdocstrings-python

  2. Note that $10 a month is the minimum amount to become eligible for Insiders. While GitHub Sponsors also allows to sponsor lower amounts or one-time amounts, those can't be granted access to Insiders due to technical reasons. Such contributions are still very much welcome as they help ensuring the project's sustainability. 

  3. Making an Open Source project sustainable is exceptionally hard: maintainers burn out, projects are abandoned. That's not great and very unpredictable. The sponsorware model ensures that if you decide to use mkdocstrings-python, you can be sure that bugs are fixed quickly and new features are added regularly. 

  4. It's currently not possible to grant access to each member of an organization, as GitHub only allows for adding users. Thus, after sponsoring, please send an email to pawamoy@pm.me, stating which account should become a collaborator of the Insiders repository. We're working on a solution which will make access to organizations much simpler. To ensure that access is not tied to a particular individual GitHub account, create a bot account (i.e. a GitHub account that is not tied to a specific individual), and use this account for the sponsoring. After being added to the list of collaborators, the bot account can create a private fork of the private Insiders GitHub repository, and grant access to all members of the organizations. 

  5. If you cancel your sponsorship, GitHub schedules a cancellation request which will become effective at the end of the billing cycle. This means that even though you cancel your sponsorship, you will keep your access to Insiders as long as your cancellation isn't effective. All charges are processed by GitHub through Stripe. As we don't receive any information regarding your payment, and GitHub doesn't offer refunds, sponsorships are non-refundable. 

\ No newline at end of file + Insiders - mkdocstrings-python
Skip to content

Insiders¤

mkdocstrings-python follows the sponsorware release strategy, which means that new features are first exclusively released to sponsors as part of Insiders. Read on to learn what sponsorships achieve, how to become a sponsor to get access to Insiders, and what's in it for you!

What is Insiders?¤

mkdocstrings-python Insiders is a private fork of mkdocstrings-python, hosted as a private GitHub repository. Almost1 all new features are developed as part of this fork, which means that they are immediately available to all eligible sponsors, as they are made collaborators of this repository.

Every feature is tied to a funding goal in monthly subscriptions. When a funding goal is hit, the features that are tied to it are merged back into mkdocstrings-python and released for general availability, making them available to all users. Bugfixes are always released in tandem.

Sponsorships start as low as $10 a month.2

What sponsorships achieve¤

Sponsorships make this project sustainable, as they buy the maintainers of this project time – a very scarce resource – which is spent on the development of new features, bug fixing, stability improvement, issue triage and general support. The biggest bottleneck in Open Source is time.3

If you're unsure if you should sponsor this project, check out the list of completed funding goals to learn whether you're already using features that were developed with the help of sponsorships.

What's in it for me?¤

The moment you become a sponsor, you'll get immediate access to 4 additional features that you can start using right away, and which are currently exclusively available to sponsors:

How to become a sponsor¤

Thanks for your interest in sponsoring! In order to become an eligible sponsor with your GitHub account, visit pawamoy's sponsor profile, and complete a sponsorship of $10 a month or more. You can use your individual or organization GitHub account for sponsoring.

Important: If you're sponsoring @pawamoy through a GitHub organization, please send a short email to pawamoy@pm.me with the name of your organization and the GitHub account of the individual that should be added as a collaborator.4

You can cancel your sponsorship anytime.5

  Join our awesome sponsors



If you sponsor publicly, you're automatically added here with a link to your profile and avatar to show your support for mkdocstrings-python. Alternatively, if you wish to keep your sponsorship private, you'll be a silent +1. You can select visibility during checkout and change it afterwards.

Funding ¤

Goals¤

The following section lists all funding goals. Each goal contains a list of features prefixed with a checkmark symbol, denoting whether a feature is already available or planned, but not yet implemented. When the funding goal is hit, the features are released for general availability.

$ 1,000 — GraviFridge User Manual¤

Goals completed¤

This section lists all funding goals that were previously completed, which means that those features were part of Insiders, but are now generally available and can be used by all users.

$ 500 — PlasmaVac User Guide¤

Frequently asked questions¤

Compatibility¤

We're building an open source project and want to allow outside collaborators to use mkdocstrings-python locally without having access to Insiders. Is this still possible?

Yes. Insiders is compatible with mkdocstrings-python. Almost all new features and configuration options are either backward-compatible or implemented behind feature flags. Most Insiders features enhance the overall experience, though while these features add value for the users of your project, they shouldn't be necessary for previewing when making changes to content.

Payment¤

We don't want to pay for sponsorship every month. Are there any other options?

Yes. You can sponsor on a yearly basis by switching your GitHub account to a yearly billing cycle. If for some reason you cannot do that, you could also create a dedicated GitHub account with a yearly billing cycle, which you only use for sponsoring (some sponsors already do that).

If you have any problems or further questions, please reach out to pawamoy@pm.me.

Terms¤

Are we allowed to use Insiders under the same terms and conditions as mkdocstrings-python?

Yes. Whether you're an individual or a company, you may use mkdocstrings-python Insiders precisely under the same terms as mkdocstrings-python, which are given by the ISC License. However, we kindly ask you to respect our fair use policy:

  • Please don't distribute the source code of Insiders. You may freely use it for public, private or commercial projects, privately fork or mirror it, but please don't make the source code public, as it would counteract the sponsorware strategy.

  • If you cancel your subscription, you're automatically removed as a collaborator and will miss out on all future updates of Insiders. However, you may use the latest version that's available to you as long as you like. Just remember that GitHub deletes private forks.


  1. In general, every new feature is first exclusively released to sponsors, but sometimes upstream dependencies enhance existing features that must be supported by mkdocstrings-python

  2. Note that $10 a month is the minimum amount to become eligible for Insiders. While GitHub Sponsors also allows to sponsor lower amounts or one-time amounts, those can't be granted access to Insiders due to technical reasons. Such contributions are still very much welcome as they help ensuring the project's sustainability. 

  3. Making an Open Source project sustainable is exceptionally hard: maintainers burn out, projects are abandoned. That's not great and very unpredictable. The sponsorware model ensures that if you decide to use mkdocstrings-python, you can be sure that bugs are fixed quickly and new features are added regularly. 

  4. It's currently not possible to grant access to each member of an organization, as GitHub only allows for adding users. Thus, after sponsoring, please send an email to pawamoy@pm.me, stating which account should become a collaborator of the Insiders repository. We're working on a solution which will make access to organizations much simpler. To ensure that access is not tied to a particular individual GitHub account, create a bot account (i.e. a GitHub account that is not tied to a specific individual), and use this account for the sponsoring. After being added to the list of collaborators, the bot account can create a private fork of the private Insiders GitHub repository, and grant access to all members of the organizations. 

  5. If you cancel your sponsorship, GitHub schedules a cancellation request which will become effective at the end of the billing cycle. This means that even though you cancel your sponsorship, you will keep your access to Insiders as long as your cancellation isn't effective. All charges are processed by GitHub through Stripe. As we don't receive any information regarding your payment, and GitHub doesn't offer refunds, sponsorships are non-refundable. 

\ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json index 29093943..d996e811 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"","title":"Overview","text":"mkdocstrings-python

A Python handler for mkdocstrings.

The Python handler uses Griffe to collect documentation from Python source code. The word \"griffe\" can sometimes be used instead of \"signature\" in French. Griffe is able to visit the Abstract Syntax Tree (AST) of the source code to extract useful information. It is also able to execute the code (by importing it) and introspect objects in memory when source code is not available. Finally, it can parse docstrings following different styles.

"},{"location":"#installation","title":"Installation","text":"

You can install this handler as a mkdocstrings extra:

pyproject.toml
# PEP 621 dependencies declaration\n# adapt to your dependencies manager\n[project]\ndependencies = [\n    \"mkdocstrings[python]>=0.18\",\n]\n

You can also explicitly depend on the handler:

pyproject.toml
# PEP 621 dependencies declaration\n# adapt to your dependencies manager\n[project]\ndependencies = [\n    \"mkdocstrings-python\",\n]\n
"},{"location":"#preview","title":"Preview","text":""},{"location":"#features","title":"Features","text":""},{"location":"changelog/","title":"Changelog","text":"

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

"},{"location":"changelog/#180-2024-01-08","title":"1.8.0 - 2024-01-08","text":"

Compare with 1.7.5

"},{"location":"changelog/#features","title":"Features","text":""},{"location":"changelog/#175-2023-11-21","title":"1.7.5 - 2023-11-21","text":"

Compare with 1.7.4

"},{"location":"changelog/#bug-fixes","title":"Bug Fixes","text":""},{"location":"changelog/#174-2023-11-12","title":"1.7.4 - 2023-11-12","text":"

Compare with 1.7.3

"},{"location":"changelog/#bug-fixes_1","title":"Bug Fixes","text":""},{"location":"changelog/#code-refactoring","title":"Code Refactoring","text":""},{"location":"changelog/#173-2023-10-09","title":"1.7.3 - 2023-10-09","text":"

Compare with 1.7.2

"},{"location":"changelog/#bug-fixes_2","title":"Bug Fixes","text":""},{"location":"changelog/#172-2023-10-05","title":"1.7.2 - 2023-10-05","text":"

Compare with 1.7.1

"},{"location":"changelog/#bug-fixes_3","title":"Bug Fixes","text":""},{"location":"changelog/#code-refactoring_1","title":"Code Refactoring","text":""},{"location":"changelog/#171-2023-09-28","title":"1.7.1 - 2023-09-28","text":"

Compare with 1.7.0

"},{"location":"changelog/#bug-fixes_4","title":"Bug Fixes","text":""},{"location":"changelog/#code-refactoring_2","title":"Code Refactoring","text":""},{"location":"changelog/#170-2023-09-14","title":"1.7.0 - 2023-09-14","text":"

Compare with 1.6.3

"},{"location":"changelog/#features_1","title":"Features","text":""},{"location":"changelog/#163-2023-09-11","title":"1.6.3 - 2023-09-11","text":"

Compare with 1.6.2

"},{"location":"changelog/#bug-fixes_5","title":"Bug Fixes","text":""},{"location":"changelog/#code-refactoring_3","title":"Code Refactoring","text":""},{"location":"changelog/#162-2023-09-05","title":"1.6.2 - 2023-09-05","text":"

Compare with 1.6.1

"},{"location":"changelog/#bug-fixes_6","title":"Bug Fixes","text":""},{"location":"changelog/#161-2023-09-04","title":"1.6.1 - 2023-09-04","text":"

Compare with 1.6.0

"},{"location":"changelog/#bug-fixes_7","title":"Bug Fixes","text":""},{"location":"changelog/#160-2023-08-27","title":"1.6.0 - 2023-08-27","text":"

Compare with 1.5.2

"},{"location":"changelog/#features_2","title":"Features","text":""},{"location":"changelog/#code-refactoring_4","title":"Code Refactoring","text":""},{"location":"changelog/#152-2023-08-25","title":"1.5.2 - 2023-08-25","text":"

Compare with 1.5.1

"},{"location":"changelog/#bug-fixes_8","title":"Bug Fixes","text":""},{"location":"changelog/#code-refactoring_5","title":"Code Refactoring","text":""},{"location":"changelog/#151-2023-08-24","title":"1.5.1 - 2023-08-24","text":"

Compare with 1.5.0

"},{"location":"changelog/#code-refactoring_6","title":"Code Refactoring","text":""},{"location":"changelog/#150-2023-08-20","title":"1.5.0 - 2023-08-20","text":"

Compare with 1.4.0

"},{"location":"changelog/#features_3","title":"Features","text":""},{"location":"changelog/#140-2023-08-18","title":"1.4.0 - 2023-08-18","text":"

Compare with 1.3.0

"},{"location":"changelog/#features_4","title":"Features","text":""},{"location":"changelog/#code-refactoring_7","title":"Code Refactoring","text":""},{"location":"changelog/#130-2023-08-06","title":"1.3.0 - 2023-08-06","text":"

Compare with 1.2.1

"},{"location":"changelog/#dependencies","title":"Dependencies","text":""},{"location":"changelog/#features_5","title":"Features","text":""},{"location":"changelog/#121-2023-07-20","title":"1.2.1 - 2023-07-20","text":"

Compare with 1.2.0

"},{"location":"changelog/#bug-fixes_9","title":"Bug Fixes","text":""},{"location":"changelog/#120-2023-07-14","title":"1.2.0 - 2023-07-14","text":"

Compare with 1.1.2

"},{"location":"changelog/#features_6","title":"Features","text":""},{"location":"changelog/#bug-fixes_10","title":"Bug Fixes","text":""},{"location":"changelog/#112-2023-06-04","title":"1.1.2 - 2023-06-04","text":"

Compare with 1.1.1

"},{"location":"changelog/#code-refactoring_8","title":"Code Refactoring","text":""},{"location":"changelog/#111-2023-06-04","title":"1.1.1 - 2023-06-04","text":"

Compare with 1.1.0

"},{"location":"changelog/#bug-fixes_11","title":"Bug Fixes","text":""},{"location":"changelog/#code-refactoring_9","title":"Code Refactoring","text":""},{"location":"changelog/#110-2023-05-25","title":"1.1.0 - 2023-05-25","text":"

Compare with 1.0.0

"},{"location":"changelog/#features_7","title":"Features","text":""},{"location":"changelog/#100-2023-05-11","title":"1.0.0 - 2023-05-11","text":"

Compare with 0.10.1

"},{"location":"changelog/#breaking-changes","title":"Breaking changes","text":"

We take this as an opportunity to go out of beta and bump the version to 1.0.0. This will allow users to rely on semantic versioning.

"},{"location":"changelog/#bug-fixes_12","title":"Bug Fixes","text":""},{"location":"changelog/#0101-2023-05-07","title":"0.10.1 - 2023-05-07","text":"

Compare with 0.10.0

"},{"location":"changelog/#bug-fixes_13","title":"Bug Fixes","text":""},{"location":"changelog/#0100-2023-05-07","title":"0.10.0 - 2023-05-07","text":"

Compare with 0.9.0

"},{"location":"changelog/#features_8","title":"Features","text":""},{"location":"changelog/#bug-fixes_14","title":"Bug Fixes","text":""},{"location":"changelog/#code-refactoring_10","title":"Code Refactoring","text":""},{"location":"changelog/#090-2023-04-03","title":"0.9.0 - 2023-04-03","text":"

Compare with 0.8.3

"},{"location":"changelog/#features_9","title":"Features","text":""},{"location":"changelog/#bug-fixes_15","title":"Bug Fixes","text":""},{"location":"changelog/#code-refactoring_11","title":"Code Refactoring","text":""},{"location":"changelog/#083-2023-01-04","title":"0.8.3 - 2023-01-04","text":"

Compare with 0.8.2

"},{"location":"changelog/#code-refactoring_12","title":"Code Refactoring","text":""},{"location":"changelog/#082-2022-11-19","title":"0.8.2 - 2022-11-19","text":"

Compare with 0.8.1

"},{"location":"changelog/#bug-fixes_16","title":"Bug Fixes","text":""},{"location":"changelog/#081-2022-11-19","title":"0.8.1 - 2022-11-19","text":"

Compare with 0.8.0

"},{"location":"changelog/#bug-fixes_17","title":"Bug Fixes","text":""},{"location":"changelog/#080-2022-11-13","title":"0.8.0 - 2022-11-13","text":"

Compare with 0.7.1

"},{"location":"changelog/#features_10","title":"Features","text":""},{"location":"changelog/#code-refactoring_13","title":"Code Refactoring","text":""},{"location":"changelog/#071-2022-06-12","title":"0.7.1 - 2022-06-12","text":"

Compare with 0.7.0

"},{"location":"changelog/#bug-fixes_18","title":"Bug Fixes","text":""},{"location":"changelog/#070-2022-05-28","title":"0.7.0 - 2022-05-28","text":"

Compare with 0.6.6

"},{"location":"changelog/#packaging-dependencies","title":"Packaging / Dependencies","text":""},{"location":"changelog/#features_11","title":"Features","text":""},{"location":"changelog/#bug-fixes_19","title":"Bug Fixes","text":""},{"location":"changelog/#code-refactoring_14","title":"Code Refactoring","text":""},{"location":"changelog/#066-2022-03-06","title":"0.6.6 - 2022-03-06","text":"

Compare with 0.6.5

"},{"location":"changelog/#code-refactoring_15","title":"Code Refactoring","text":""},{"location":"changelog/#065-2022-02-24","title":"0.6.5 - 2022-02-24","text":"

Compare with 0.6.4

"},{"location":"changelog/#bug-fixes_20","title":"Bug Fixes","text":""},{"location":"changelog/#064-2022-02-22","title":"0.6.4 - 2022-02-22","text":"

Compare with 0.6.3

"},{"location":"changelog/#bug-fixes_21","title":"Bug Fixes","text":""},{"location":"changelog/#063-2022-02-20","title":"0.6.3 - 2022-02-20","text":"

Compare with 0.6.2

"},{"location":"changelog/#bug-fixes_22","title":"Bug Fixes","text":""},{"location":"changelog/#062-2022-02-17","title":"0.6.2 - 2022-02-17","text":"

Compare with 0.6.1

"},{"location":"changelog/#bug-fixes_23","title":"Bug Fixes","text":""},{"location":"changelog/#061-2022-02-17","title":"0.6.1 - 2022-02-17","text":"

Compare with 0.6.0

"},{"location":"changelog/#bug-fixes_24","title":"Bug Fixes","text":""},{"location":"changelog/#060-2022-02-13","title":"0.6.0 - 2022-02-13","text":"

Compare with 0.5.4

"},{"location":"changelog/#features_12","title":"Features","text":""},{"location":"changelog/#bug-fixes_25","title":"Bug Fixes","text":""},{"location":"changelog/#code-refactoring_16","title":"Code Refactoring","text":""},{"location":"changelog/#054-2022-02-13","title":"0.5.4 - 2022-02-13","text":"

Compare with 0.5.3

"},{"location":"changelog/#bug-fixes_26","title":"Bug Fixes","text":""},{"location":"changelog/#053-2022-02-08","title":"0.5.3 - 2022-02-08","text":"

Compare with 0.5.2

"},{"location":"changelog/#bug-fixes_27","title":"Bug Fixes","text":""},{"location":"changelog/#052-2022-02-05","title":"0.5.2 - 2022-02-05","text":"

Compare with 0.5.1

"},{"location":"changelog/#dependencies_1","title":"Dependencies","text":""},{"location":"changelog/#051-2022-02-03","title":"0.5.1 - 2022-02-03","text":"

Compare with 0.5.0

"},{"location":"changelog/#dependencies_2","title":"Dependencies","text":""},{"location":"changelog/#code-refactoring_17","title":"Code Refactoring","text":""},{"location":"changelog/#050-2022-02-03","title":"0.5.0 - 2022-02-03","text":"

Compare with 0.4.1

"},{"location":"changelog/#features_13","title":"Features","text":""},{"location":"changelog/#bug-fixes_28","title":"Bug Fixes","text":""},{"location":"changelog/#code-refactoring_18","title":"Code Refactoring","text":""},{"location":"changelog/#041-2022-02-01","title":"0.4.1 - 2022-02-01","text":"

Compare with 0.4.0

"},{"location":"changelog/#bug-fixes_29","title":"Bug Fixes","text":""},{"location":"changelog/#040-2022-02-01","title":"0.4.0 - 2022-02-01","text":"

Compare with 0.3.0

"},{"location":"changelog/#code-refactoring_19","title":"Code Refactoring","text":""},{"location":"changelog/#030-2022-01-14","title":"0.3.0 - 2022-01-14","text":"

Compare with 0.2.0

"},{"location":"changelog/#features_14","title":"Features","text":""},{"location":"changelog/#dependencies_3","title":"Dependencies","text":""},{"location":"changelog/#code-refactoring_20","title":"Code Refactoring","text":""},{"location":"changelog/#020-2021-12-28","title":"0.2.0 - 2021-12-28","text":"

Compare with 0.1.0

"},{"location":"changelog/#dependencies_4","title":"Dependencies","text":""},{"location":"changelog/#features_15","title":"Features","text":""},{"location":"changelog/#bug-fixes_30","title":"Bug Fixes","text":""},{"location":"changelog/#010-2021-12-19","title":"0.1.0 - 2021-12-19","text":"

Compare with first commit

"},{"location":"changelog/#features_16","title":"Features","text":""},{"location":"changelog/#bug-fixes_31","title":"Bug Fixes","text":""},{"location":"changelog/#code-refactoring_21","title":"Code Refactoring","text":""},{"location":"code_of_conduct/","title":"Contributor Covenant Code of Conduct","text":""},{"location":"code_of_conduct/#our-pledge","title":"Our Pledge","text":"

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

"},{"location":"code_of_conduct/#our-standards","title":"Our Standards","text":"

Examples of behavior that contributes to a positive environment for our community include:

Examples of unacceptable behavior include:

"},{"location":"code_of_conduct/#enforcement-responsibilities","title":"Enforcement Responsibilities","text":"

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

"},{"location":"code_of_conduct/#scope","title":"Scope","text":"

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

"},{"location":"code_of_conduct/#enforcement","title":"Enforcement","text":"

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at pawamoy@pm.me. All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the reporter of any incident.

"},{"location":"code_of_conduct/#enforcement-guidelines","title":"Enforcement Guidelines","text":"

Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

"},{"location":"code_of_conduct/#1-correction","title":"1. Correction","text":"

Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

"},{"location":"code_of_conduct/#2-warning","title":"2. Warning","text":"

Community Impact: A violation through a single incident or series of actions.

Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

"},{"location":"code_of_conduct/#3-temporary-ban","title":"3. Temporary Ban","text":"

Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

"},{"location":"code_of_conduct/#4-permanent-ban","title":"4. Permanent Ban","text":"

Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

Consequence: A permanent ban from any sort of public interaction within the community.

"},{"location":"code_of_conduct/#attribution","title":"Attribution","text":"

This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder.

For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

"},{"location":"contributing/","title":"Contributing","text":"

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.

"},{"location":"contributing/#environment-setup","title":"Environment setup","text":"

Nothing easier!

Fork and clone the repository, then:

cd python\nmake setup\n

Note

If it fails for some reason, you'll need to install PDM manually.

You can install it with:

python3 -m pip install --user pipx\npipx install pdm\n

Now you can try running make setup again, or simply pdm install.

You now have the dependencies installed.

Run make help to see all the available actions!

"},{"location":"contributing/#tasks","title":"Tasks","text":"

This project uses duty to run tasks. A Makefile is also provided. The Makefile will try to run certain tasks on multiple Python versions. If for some reason you don't want to run the task on multiple Python versions, you run the task directly with pdm run duty TASK.

The Makefile detects if a virtual environment is activated, so make will work the same with the virtualenv activated or not.

If you work in VSCode, we provide an action to configure VSCode for the project.

"},{"location":"contributing/#development","title":"Development","text":"

As usual:

  1. create a new branch: git switch -c feature-or-bugfix-name
  2. edit the code and/or the documentation

Before committing:

  1. run make format to auto-format the code
  2. run make check to check everything (fix any warning)
  3. run make test to run the tests (fix any issue)
  4. if you updated the documentation or the project dependencies:
    1. run make docs
    2. go to http://localhost:8000 and check that everything looks good
  5. follow our commit message convention

If you are unsure about how to fix or ignore a warning, just let the continuous integration fail, and we will help you during review.

Don't bother updating the changelog, we will take care of this.

"},{"location":"contributing/#commit-message-convention","title":"Commit message convention","text":"

Commit messages must follow our convention based on the Angular style or the Karma convention:

<type>[(scope)]: Subject\n\n[Body]\n

Subject and body must be valid Markdown. Subject must have proper casing (uppercase for first letter if it makes sense), but no dot at the end, and no punctuation in general.

Scope and body are optional. Type can be:

If you write a body, please add trailers at the end (for example issues and PR references, or co-authors), without relying on GitHub's flavored Markdown:

Body.\n\nIssue #10: https://github.com/namespace/project/issues/10\nRelated to PR namespace/other-project#15: https://github.com/namespace/other-project/pull/15\n

These \"trailers\" must appear at the end of the body, without any blank lines between them. The trailer title can contain any character except colons :. We expect a full URI for each trailer, not just GitHub autolinks (for example, full GitHub URLs for commits and issues, not the hash or the #issue-number).

We do not enforce a line length on commit messages summary and body, but please avoid very long summaries, and very long lines in the body, unless they are part of code blocks that must not be wrapped.

"},{"location":"contributing/#pull-requests-guidelines","title":"Pull requests guidelines","text":"

Link to any related issue in the Pull Request message.

During the review, we recommend using fixups:

# SHA is the SHA of the commit you want to fix\ngit commit --fixup=SHA\n

Once all the changes are approved, you can squash your commits:

git rebase -i --autosquash main\n

And force-push:

git push -f\n

If this seems all too complicated, you can push or force-push each new commit, and we will squash them ourselves if needed, before merging.

"},{"location":"credits/","title":"Credits","text":""},{"location":"credits/#exec-1--credits","title":"Credits","text":"

These projects were used to build mkdocstrings-python. Thank you!

python | pdm | copier-pdm

"},{"location":"credits/#exec-1--runtime-dependencies","title":"Runtime dependencies","text":"Project Summary Version (accepted) Version (last resolved) License click Composable command line interface toolkit >=7.0 8.1.7 BSD-3-Clause colorama Cross-platform colored terminal text. >=0.4 0.4.6 BSD License ghp-import Copy your docs directly to the gh-pages branch. >=1.0 2.1.0 Apache Software License griffe Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API. >=0.37 0.38.1 ISC importlib-metadata Read metadata from Python packages >=4.6; python_version < \"3.10\" 7.0.1 ? jinja2 A very fast and expressive template engine. >=2.11.1 3.1.2 BSD-3-Clause markdown Python implementation of John Gruber's Markdown. >=3.3 3.5.1 BSD License markupsafe Safely add untrusted strings to HTML/XML markup. >=1.1 2.1.3 BSD-3-Clause mergedeep A deep merge function for \ud83d\udc0d. >=1.3.4 1.3.4 MIT License mkdocs Project documentation with Markdown. >=1.4 1.5.3 BSD License mkdocs-autorefs Automatically link across pages in MkDocs. >=0.3.1 0.5.0 ISC mkdocstrings Automatic documentation from sources, for MkDocs. >=0.20 0.24.0 ISC packaging Core utilities for Python packages >=20.5 23.2 BSD License pathspec Utility library for gitignore style pattern matching of file paths. >=0.11.1 0.12.1 Mozilla Public License 2.0 (MPL 2.0) platformdirs A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\". >=2.2.0 4.1.0 MIT License pymdown-extensions Extension pack for Python Markdown. >=6.3 10.7 MIT License python-dateutil Extensions to the standard Python datetime module >=2.8.1 2.8.2 Dual License pyyaml YAML parser and emitter for Python 6.0.1 MIT pyyaml-env-tag A custom YAML tag for referencing environment variables in YAML files. >=0.1 0.1 MIT License six Python 2 and 3 compatibility utilities >=1.5 1.16.0 MIT typing-extensions Backported and Experimental Type Hints for Python 3.8+ >=4.1; python_version < \"3.10\" 4.9.0 Python Software Foundation License watchdog Filesystem events monitoring >=2.0 3.0.0 Apache License 2.0 zipp Backport of pathlib-compatible object wrapper for zip files >=0.5 3.17.0 ?"},{"location":"credits/#exec-1--development-dependencies","title":"Development dependencies","text":"Project Summary Version (accepted) Version (last resolved) License ansimarkup Produce colored terminal text with an xml-like markup ~=1.4 1.5.0 Revised BSD License appdirs A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\". >=1.4 1.4.4 MIT babel Internationalization utilities ~=2.10 2.14.0 BSD-3-Clause black The uncompromising code formatter. >=23.9 23.12.1 MIT blacken-docs Run Black on Python code blocks in documentation files. >=1.16 1.16.0 MIT certifi Python package for providing Mozilla's CA Bundle. >=2017.4.17 2023.11.17 MPL-2.0 charset-normalizer The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet. <4,>=2 3.3.2 MIT click Composable command line interface toolkit >=8.0.0 8.1.7 BSD-3-Clause colorama Cross-platform colored terminal text. ; platform_system == \"Windows\" 0.4.6 BSD License coverage Code coverage measurement for Python [toml]>=5.2.1 7.4.0 Apache-2.0 csscompressor A python port of YUI CSS Compressor >=0.9.5 0.9.5 BSD dparse A parser for Python dependency files >=0.6.2 0.6.3 MIT license duty A simple task runner. >=0.10 1.1.0 ISC exceptiongroup Backport of PEP 654 (exception groups) >=1.0.0rc8; python_version < \"3.11\" 1.2.0 ? execnet execnet: rapid multi-Python deployment >=1.1 2.0.2 MIT License failprint Run a command, print its output only if it fails. !=1.0.0,>=0.11 1.0.2 ISC ghp-import Copy your docs directly to the gh-pages branch. >=1.0 2.1.0 Apache Software License git-changelog Automatic Changelog generator using Jinja2 templates. >=2.3 2.4.0 ISC gitdb Git Object Database <5,>=4.0.1 4.0.11 BSD License gitpython GitPython is a Python library used to interact with Git repositories 3.1.40 BSD htmlmin2 An HTML Minifier >=0.1.13 0.1.13 BSD idna Internationalized Domain Names in Applications (IDNA) <4,>=2.5 3.6 BSD License importlib-metadata Read metadata from Python packages >=4.3; python_version < \"3.10\" 7.0.1 ? iniconfig brain-dead simple config-ini parsing 2.0.0 MIT License jinja2 A very fast and expressive template engine. <4,>=2.11 3.1.2 BSD-3-Clause jsmin JavaScript minifier. >=3.0.1 3.0.1 MIT License markdown Python implementation of John Gruber's Markdown. <4.0.0,>=3.3.3 3.5.1 BSD License markdown-callouts Markdown extension: a classier syntax for admonitions >=0.3 0.3.0 MIT markdown-exec Utilities to execute code blocks in Markdown files. >=1.7 1.8.0 ISC markupsafe Safely add untrusted strings to HTML/XML markup. >=2.0 2.1.3 BSD-3-Clause mergedeep A deep merge function for \ud83d\udc0d. >=1.3.4 1.3.4 MIT License mkdocs Project documentation with Markdown. >=1.5 1.5.3 BSD License mkdocs-coverage MkDocs plugin to integrate your coverage HTML report into your site. >=1.0 1.0.0 ISC mkdocs-gen-files MkDocs plugin to programmatically generate documentation pages during the build >=0.5 0.5.0 MIT License mkdocs-git-committers-plugin-2 An MkDocs plugin to create a list of contributors on the page. The git-committers plugin will seed the template context with a list of GitHub or GitLab committers and other useful GIT info such as last modified date >=1.2 2.2.3 MIT mkdocs-literate-nav MkDocs plugin to specify the navigation in Markdown instead of YAML >=0.6 0.6.1 MIT License mkdocs-material Documentation that simply works >=9.4 9.5.3 MIT License mkdocs-material-extensions Extension pack for Python Markdown and MkDocs Material. ~=1.3 1.3.1 MIT License mkdocs-minify-plugin An MkDocs plugin to minify HTML, JS or CSS files prior to being written to disk >=0.7 0.7.2 MIT mypy Optional static typing for Python >=1.5 1.8.0 MIT mypy-extensions Type system extensions for programs checked with the mypy type checker. >=0.4.3 1.0.0 MIT License packaging Core utilities for Python packages >=22.0 23.2 BSD License paginate Divides large result sets into pages for easier browsing ~=0.5 0.5.6 MIT pathspec Utility library for gitignore style pattern matching of file paths. >=0.9.0 0.12.1 Mozilla Public License 2.0 (MPL 2.0) platformdirs A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\". >=2 4.1.0 MIT License pluggy plugin and hook calling mechanisms for python <2.0,>=0.12 1.3.0 MIT ptyprocess Run a subprocess in a pseudo terminal ~=0.6; sys_platform != \"win32\" 0.7.0 ISC License (ISCL) pygments Pygments is a syntax highlighting package written in Python. ~=2.16 2.17.2 BSD-2-Clause pymdown-extensions Extension pack for Python Markdown. >=9 10.7 MIT License pytest pytest: simple powerful testing with Python >=7.4 7.4.4 MIT pytest-cov Pytest plugin for measuring coverage. >=4.1 4.1.0 MIT pytest-randomly Pytest plugin to randomly order tests and control random.seed. >=3.15 3.15.0 MIT pytest-xdist pytest xdist plugin for distributed testing, most importantly across multiple CPUs >=3.3 3.5.0 MIT python-dateutil Extensions to the standard Python datetime module >=2.8.1 2.8.2 Dual License pytz World timezone definitions, modern and historical >=2015.7; python_version < \"3.9\" 2023.3.post1 ? pyyaml YAML parser and emitter for Python >=5.1 6.0.1 MIT pyyaml-env-tag A custom YAML tag for referencing environment variables in YAML files. >=0.1 0.1 MIT License regex Alternative regular expression module, to replace re. >=2022.4 2023.12.25 Apache Software License requests Python HTTP for Humans. 2.31.0 Apache 2.0 ruamel-yaml ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order >=0.17.21 0.18.5 MIT license ruamel-yaml-clib C version of reader, parser and emitter for ruamel.yaml derived from libyaml >=0.2.7; platform_python_implementation == \"CPython\" and python_version < \"3.13\" 0.2.8 MIT ruff An extremely fast Python linter and code formatter, written in Rust. >=0.0 0.1.11 MIT safety Checks installed dependencies for known vulnerabilities and licenses. >=2.3 2.3.4 MIT license semver Python helper for Semantic Versioning (https://semver.org) >=2.13 3.0.2 BSD setuptools Easily download, build, install, upgrade, and uninstall Python packages >=19.3 69.0.3 MIT License six Python 2 and 3 compatibility utilities >=1.5 1.16.0 MIT smmap A pure Python implementation of a sliding window memory map manager <6,>=3.0.1 5.0.1 BSD tomli A lil' TOML parser >=2.0; python_version < '3.11' 2.0.1 ? types-markdown Typing stubs for Markdown >=3.5 3.5.0.20240106 Apache-2.0 license types-pyyaml Typing stubs for PyYAML >=6.0 6.0.12.12 Apache-2.0 license typing-extensions Backported and Experimental Type Hints for Python 3.8+ >=4.0.1; python_version < \"3.11\" 4.9.0 Python Software Foundation License urllib3 HTTP library with thread-safe connection pooling, file post, and more. <3,>=1.21.1 2.1.0 MIT License watchdog Filesystem events monitoring >=2.0 3.0.0 Apache License 2.0 zipp Backport of pathlib-compatible object wrapper for zip files >=0.5 3.17.0 ?

More credits from the author

"},{"location":"license/","title":"License","text":"
ISC License\n\nCopyright (c) 2021, Timoth\u00e9e Mazzucotelli\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n
"},{"location":"insiders/","title":"Insiders","text":"

mkdocstrings-python follows the sponsorware release strategy, which means that new features are first exclusively released to sponsors as part of Insiders. Read on to learn what sponsorships achieve, how to become a sponsor to get access to Insiders, and what's in it for you!

"},{"location":"insiders/#what-is-insiders","title":"What is Insiders?","text":"

mkdocstrings-python Insiders is a private fork of mkdocstrings-python, hosted as a private GitHub repository. Almost1 all new features are developed as part of this fork, which means that they are immediately available to all eligible sponsors, as they are made collaborators of this repository.

Every feature is tied to a funding goal in monthly subscriptions. When a funding goal is hit, the features that are tied to it are merged back into mkdocstrings-python and released for general availability, making them available to all users. Bugfixes are always released in tandem.

Sponsorships start as low as $10 a month.2

"},{"location":"insiders/#what-sponsorships-achieve","title":"What sponsorships achieve","text":"

Sponsorships make this project sustainable, as they buy the maintainers of this project time \u2013 a very scarce resource \u2013 which is spent on the development of new features, bug fixing, stability improvement, issue triage and general support. The biggest bottleneck in Open Source is time.3

If you're unsure if you should sponsor this project, check out the list of completed funding goals to learn whether you're already using features that were developed with the help of sponsorships.

"},{"location":"insiders/#whats-in-it-for-me","title":"What's in it for me?","text":"

The moment you become a sponsor, you'll get immediate access to 7 additional features that you can start using right away, and which are currently exclusively available to sponsors:

"},{"location":"insiders/#how-to-become-a-sponsor","title":"How to become a sponsor","text":"

Thanks for your interest in sponsoring! In order to become an eligible sponsor with your GitHub account, visit pawamoy's sponsor profile, and complete a sponsorship of $10 a month or more. You can use your individual or organization GitHub account for sponsoring.

Important: If you're sponsoring @pawamoy through a GitHub organization, please send a short email to pawamoy@pm.me with the name of your organization and the GitHub account of the individual that should be added as a collaborator.4

You can cancel your sponsorship anytime.5

\u00a0 Join our awesome sponsors

If you sponsor publicly, you're automatically added here with a link to your profile and avatar to show your support for mkdocstrings-python. Alternatively, if you wish to keep your sponsorship private, you'll be a silent +1. You can select visibility during checkout and change it afterwards.

"},{"location":"insiders/#funding","title":"Funding","text":""},{"location":"insiders/#goals","title":"Goals","text":"

The following section lists all funding goals. Each goal contains a list of features prefixed with a checkmark symbol, denoting whether a feature is already available or planned, but not yet implemented. When the funding goal is hit, the features are released for general availability.

"},{"location":"insiders/#500-plasmavac-user-guide","title":"$ 500 \u2014 PlasmaVac User Guide","text":""},{"location":"insiders/#1000-gravifridge-user-manual","title":"$ 1,000 \u2014 GraviFridge User Manual","text":""},{"location":"insiders/#frequently-asked-questions","title":"Frequently asked questions","text":""},{"location":"insiders/#compatibility","title":"Compatibility","text":"

We're building an open source project and want to allow outside collaborators to use mkdocstrings-python locally without having access to Insiders. Is this still possible?

Yes. Insiders is compatible with mkdocstrings-python. Almost all new features and configuration options are either backward-compatible or implemented behind feature flags. Most Insiders features enhance the overall experience, though while these features add value for the users of your project, they shouldn't be necessary for previewing when making changes to content.

"},{"location":"insiders/#payment","title":"Payment","text":"

We don't want to pay for sponsorship every month. Are there any other options?

Yes. You can sponsor on a yearly basis by switching your GitHub account to a yearly billing cycle. If for some reason you cannot do that, you could also create a dedicated GitHub account with a yearly billing cycle, which you only use for sponsoring (some sponsors already do that).

If you have any problems or further questions, please reach out to pawamoy@pm.me.

"},{"location":"insiders/#terms","title":"Terms","text":"

Are we allowed to use Insiders under the same terms and conditions as mkdocstrings-python?

Yes. Whether you're an individual or a company, you may use mkdocstrings-python Insiders precisely under the same terms as mkdocstrings-python, which are given by the ISC License. However, we kindly ask you to respect our fair use policy:

  1. In general, every new feature is first exclusively released to sponsors, but sometimes upstream dependencies enhance existing features that must be supported by mkdocstrings-python.\u00a0\u21a9

  2. Note that $10 a month is the minimum amount to become eligible for Insiders. While GitHub Sponsors also allows to sponsor lower amounts or one-time amounts, those can't be granted access to Insiders due to technical reasons. Such contributions are still very much welcome as they help ensuring the project's sustainability.\u00a0\u21a9

  3. Making an Open Source project sustainable is exceptionally hard: maintainers burn out, projects are abandoned. That's not great and very unpredictable. The sponsorware model ensures that if you decide to use mkdocstrings-python, you can be sure that bugs are fixed quickly and new features are added regularly.\u00a0\u21a9

  4. It's currently not possible to grant access to each member of an organization, as GitHub only allows for adding users. Thus, after sponsoring, please send an email to pawamoy@pm.me, stating which account should become a collaborator of the Insiders repository. We're working on a solution which will make access to organizations much simpler. To ensure that access is not tied to a particular individual GitHub account, create a bot account (i.e. a GitHub account that is not tied to a specific individual), and use this account for the sponsoring. After being added to the list of collaborators, the bot account can create a private fork of the private Insiders GitHub repository, and grant access to all members of the organizations.\u00a0\u21a9

  5. If you cancel your sponsorship, GitHub schedules a cancellation request which will become effective at the end of the billing cycle. This means that even though you cancel your sponsorship, you will keep your access to Insiders as long as your cancellation isn't effective. All charges are processed by GitHub through Stripe. As we don't receive any information regarding your payment, and GitHub doesn't offer refunds, sponsorships are non-refundable.\u00a0\u21a9

"},{"location":"insiders/changelog/","title":"Changelog","text":""},{"location":"insiders/changelog/#mkdocstrings-python-insiders","title":"mkdocstrings-python Insiders","text":""},{"location":"insiders/changelog/#1.5.1","title":"1.5.1 September 12, 2023","text":""},{"location":"insiders/changelog/#1.5.0","title":"1.5.0 September 05, 2023","text":""},{"location":"insiders/changelog/#1.4.0","title":"1.4.0 August 27, 2023","text":""},{"location":"insiders/changelog/#1.3.0","title":"1.3.0 August 24, 2023","text":""},{"location":"insiders/changelog/#1.2.0","title":"1.2.0 August 20, 2023","text":""},{"location":"insiders/changelog/#1.1.4","title":"1.1.4 July 17, 2023","text":""},{"location":"insiders/changelog/#1.1.3","title":"1.1.3 July 17, 2023","text":""},{"location":"insiders/changelog/#1.1.2","title":"1.1.2 July 15, 2023","text":""},{"location":"insiders/changelog/#1.1.1","title":"1.1.1 June 27, 2023","text":""},{"location":"insiders/changelog/#1.1.0","title":"1.1.0 June 4, 2023","text":""},{"location":"insiders/changelog/#1.0.0","title":"1.0.0 May 10, 2023","text":""},{"location":"insiders/installation/","title":"Getting started with Insiders","text":"

mkdocstrings-python Insiders is a compatible drop-in replacement for mkdocstrings-python, and can be installed similarly using pip or git. Note that in order to access the Insiders repository, you need to become an eligible sponsor of @pawamoy on GitHub.

"},{"location":"insiders/installation/#installation","title":"Installation","text":""},{"location":"insiders/installation/#with-pypi-insiders","title":"with PyPI Insiders","text":"

PyPI Insiders is a tool that helps you keep up-to-date versions of Insiders projects in the PyPI index of your choice (self-hosted, Google registry, Artifactory, etc.).

See how to install it and how to use it.

"},{"location":"insiders/installation/#with-pip-sshhttps","title":"with pip (ssh/https)","text":"

mkdocstrings-python Insiders can be installed with pip using SSH:

pip install git+ssh://git@github.com/pawamoy-insiders/mkdocstrings-python.git\n

Or using HTTPS:

pip install git+https://${GH_TOKEN}@github.com/pawamoy-insiders/mkdocstrings-python.git\n
How to get a GitHub personal access token

The GH_TOKEN environment variable is a GitHub token. It can be obtained by creating a personal access token for your GitHub account. It will give you access to the Insiders repository, programmatically, from the command line or GitHub Actions workflows:

  1. Go to https://github.com/settings/tokens
  2. Click on Generate a new token
  3. Enter a name and select the repo scope
  4. Generate the token and store it in a safe place

Note that the personal access token must be kept secret at all times, as it allows the owner to access your private repositories.

"},{"location":"insiders/installation/#with-pip-self-hosted","title":"with pip (self-hosted)","text":"

Self-hosting the Insiders package makes it possible to depend on mkdocstrings-python normally, while transparently downloading and installing the Insiders version locally. It means that you can specify your dependencies normally, and your contributors without access to Insiders will get the public version, while you get the Insiders version on your machine.

Limitation

With this method, there is no way to force the installation of an Insiders version rather than a public version. If there is a public version that is more recent than your self-hosted Insiders version, the public version will take precedence. Remember to regularly update your self-hosted versions by uploading latest distributions.

You can build the distributions for Insiders yourself, by cloning the repository and using build to build the distributions, or you can download them from our GitHub Releases. You can upload these distributions to a private PyPI-like registry (Artifactory, Google Cloud, pypiserver, etc.) with Twine:

# download distributions in ~/dists, then upload with:\ntwine upload --repository-url https://your-private-index.com ~/dists/*\n

You might also need to provide a username and password/token to authenticate against the registry. Please check Twine's documentation.

You can then configure pip (or other tools) to look for packages into your package index. For example, with pip:

pip config set global.extra-index-url https://your-private-index.com/simple\n

Note that the URL might differ depending on whether your are uploading a package (with Twine) or installing a package (with pip), and depending on the registry you are using (Artifactory, Google Cloud, etc.). Please check the documentation of your registry to learn how to configure your environment.

We kindly ask that you do not upload the distributions to public registries, as it is against our Terms of use.

Full example with pypiserver

In this example we use pypiserver to serve a local PyPI index.

pip install --user pypiserver\n# or pipx install pypiserver\n\n# create a packages directory\nmkdir -p ~/.local/pypiserver/packages\n\n# run the pypi server without authentication\npypi-server run -p 8080 -a . -P . ~/.local/pypiserver/packages &\n

We can configure the credentials to access the server in ~/.pypirc:

.pypirc
[distutils]\nindex-servers =\n    local\n\n[local]\nrepository: http://localhost:8080\nusername:\npassword:\n

We then clone the Insiders repository, build distributions and upload them to our local server:

# clone the repository\ngit clone git@github.com:pawamoy-insiders/mkdocstrings-python\ncd python\n\n# install build\npip install --user build\n# or pipx install build\n\n# checkout latest tag\ngit checkout $(git describe --tags --abbrev=0)\n\n# build the distributions\npyproject-build\n\n# upload them to our local server\ntwine upload -r local dist/* --skip-existing\n

Finally, we configure pip, and for example PDM, to use our local index to find packages:

pip config set global.extra-index-url http://localhost:8080/simple\npdm config pypi.extra.url http://localhost:8080/simple\n

Now when running pip install mkdocstrings-python, or resolving dependencies with PDM, both tools will look into our local index and find the Insiders version. Remember to update your local index regularly!

"},{"location":"insiders/installation/#with-git","title":"with git","text":"

Of course, you can use mkdocstrings-python Insiders directly from git:

git clone git@github.com:pawamoy-insiders/mkdocstrings-python\n

When cloning from git, the package must be installed:

pip install -e python\n
"},{"location":"insiders/installation/#upgrading","title":"Upgrading","text":"

When upgrading Insiders, you should always check the version of mkdocstrings-python which makes up the first part of the version qualifier. For example, a version like 8.x.x.4.x.x means that Insiders 4.x.x is currently based on 8.x.x.

If the major version increased, it's a good idea to consult the changelog and go through the steps to ensure your configuration is up to date and all necessary changes have been made.

"},{"location":"reference/SUMMARY/","title":"SUMMARY","text":""},{"location":"reference/mkdocstrings_handlers/python/","title":"Index","text":""},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python","title":"python","text":"

This package implements a handler for the Python language.

Modules:

Functions:

"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler","title":"get_handler","text":"
get_handler(\n    *,\n    theme: str,\n    custom_templates: str | None = None,\n    config_file_path: str | None = None,\n    paths: list[str] | None = None,\n    locale: str = \"en\",\n    load_external_modules: bool = False,\n    **config: Any\n) -> PythonHandler\n

Simply return an instance of PythonHandler.

Parameters:

Returns:

"},{"location":"reference/mkdocstrings_handlers/python/debug/","title":" debug","text":""},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug","title":"debug","text":"

Debugging utilities.

Classes:

Functions:

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment","title":"Environment dataclass","text":"

Dataclass to store environment information.

Attributes:

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.interpreter_name","title":"interpreter_name instance-attribute","text":"
interpreter_name: str\n

Python interpreter name.

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.interpreter_version","title":"interpreter_version instance-attribute","text":"
interpreter_version: str\n

Python interpreter version.

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.packages","title":"packages instance-attribute","text":"
packages: list[Package]\n

Installed packages.

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.platform","title":"platform instance-attribute","text":"
platform: str\n

Operating System.

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.variables","title":"variables instance-attribute","text":"
variables: list[Variable]\n

Environment variables.

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Package","title":"Package dataclass","text":"

Dataclass describing a Python package.

Attributes:

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Package.name","title":"name instance-attribute","text":"
name: str\n

Package name.

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Package.version","title":"version instance-attribute","text":"
version: str\n

Package version.

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Variable","title":"Variable dataclass","text":"

Dataclass describing an environment variable.

Attributes:

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Variable.name","title":"name instance-attribute","text":"
name: str\n

Variable name.

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Variable.value","title":"value instance-attribute","text":"
value: str\n

Variable value.

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.get_debug_info","title":"get_debug_info","text":"
get_debug_info() -> Environment\n

Get debug/environment information.

Returns:

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.get_version","title":"get_version","text":"
get_version(dist: str = 'mkdocstrings-python') -> str\n

Get version of the given distribution.

Parameters:

Returns:

"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.print_debug_info","title":"print_debug_info","text":"
print_debug_info() -> None\n

Print debug/environment information.

"},{"location":"reference/mkdocstrings_handlers/python/handler/","title":" handler","text":""},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler","title":"handler","text":"

This module implements a handler for the Python language.

Classes:

Functions:

"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler","title":"PythonHandler","text":"
PythonHandler(\n    *args: Any,\n    config_file_path: str | None = None,\n    paths: list[str] | None = None,\n    locale: str = \"en\",\n    load_external_modules: bool = False,\n    **kwargs: Any\n)\n

Bases: BaseHandler

The Python handler class.

Parameters:

Methods:

Attributes:

"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.default_config","title":"default_config class-attribute","text":"
default_config: dict = {\n    \"docstring_style\": \"google\",\n    \"docstring_options\": {},\n    \"show_symbol_type_heading\": False,\n    \"show_symbol_type_toc\": False,\n    \"show_root_heading\": False,\n    \"show_root_toc_entry\": True,\n    \"show_root_full_path\": True,\n    \"show_root_members_full_path\": False,\n    \"show_object_full_path\": False,\n    \"show_category_heading\": False,\n    \"show_if_no_docstring\": False,\n    \"show_signature\": True,\n    \"show_signature_annotations\": False,\n    \"signature_crossrefs\": False,\n    \"separate_signature\": False,\n    \"line_length\": 60,\n    \"merge_init_into_class\": False,\n    \"show_docstring_attributes\": True,\n    \"show_docstring_functions\": True,\n    \"show_docstring_classes\": True,\n    \"show_docstring_modules\": True,\n    \"show_docstring_description\": True,\n    \"show_docstring_examples\": True,\n    \"show_docstring_other_parameters\": True,\n    \"show_docstring_parameters\": True,\n    \"show_docstring_raises\": True,\n    \"show_docstring_receives\": True,\n    \"show_docstring_returns\": True,\n    \"show_docstring_warns\": True,\n    \"show_docstring_yields\": True,\n    \"show_source\": True,\n    \"show_bases\": True,\n    \"show_submodules\": False,\n    \"group_by_category\": True,\n    \"heading_level\": 2,\n    \"members_order\": value,\n    \"docstring_section_style\": \"table\",\n    \"members\": None,\n    \"inherited_members\": False,\n    \"filters\": [\"!^_[^_]\"],\n    \"annotations_path\": \"brief\",\n    \"preload_modules\": None,\n    \"allow_inspection\": True,\n    \"summary\": False,\n    \"unwrap_annotated\": False,\n}\n

Default handler configuration.

General options:

Headings options:

Members options:

Docstrings options:

Signatures/annotations options:

"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.domain","title":"domain class-attribute instance-attribute","text":"
domain: str = 'py'\n

The cross-documentation domain/language for this handler.

"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.enable_inventory","title":"enable_inventory class-attribute instance-attribute","text":"
enable_inventory: bool = True\n

Whether this handler is interested in enabling the creation of the objects.inv Sphinx inventory file.

"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.extra_css","title":"extra_css class-attribute instance-attribute","text":"
extra_css = ''\n

Extra CSS.

"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.fallback_config","title":"fallback_config class-attribute","text":"
fallback_config: dict = {'fallback': True}\n

The configuration used to collect item during autorefs fallback.

"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.fallback_theme","title":"fallback_theme class-attribute instance-attribute","text":"
fallback_theme = 'material'\n

The fallback theme.

"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.name","title":"name class-attribute instance-attribute","text":"
name: str = ''\n

The handler's name, for example \"python\".

"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown","title":"do_convert_markdown","text":"
do_convert_markdown(\n    text: str,\n    heading_level: int,\n    html_id: str = \"\",\n    *,\n    strip_paragraph: bool = False\n) -> Markup\n

Render Markdown text; for use inside templates.

Parameters: