From 5ae1cf5dcf78c5860eac2f125820870cfc139475 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Mazzucotelli?= Date: Sat, 2 Mar 2024 17:21:44 +0100 Subject: [PATCH] chore: Template upgrade --- .copier-answers.yml | 10 +++--- CODE_OF_CONDUCT.md | 2 +- docs/insiders/index.md | 62 +++++++++++++++++++++-------------- docs/insiders/installation.md | 10 +++--- mkdocs.yml | 2 +- pyproject.toml | 6 ++-- src/griffe/__init__.py | 2 +- 7 files changed, 52 insertions(+), 42 deletions(-) diff --git a/.copier-answers.yml b/.copier-answers.yml index eda044d7..0f6e158f 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,20 +1,20 @@ # Changes here will be overwritten by Copier -_commit: 1.2.4 +_commit: 1.2.5 _src_path: gh:pawamoy/copier-pdm -author_email: pawamoy@pm.me +author_email: dev@pawamoy.fr author_fullname: Timothée Mazzucotelli author_username: pawamoy copyright_date: '2021' copyright_holder: Timothée Mazzucotelli -copyright_holder_email: pawamoy@pm.me +copyright_holder_email: dev@pawamoy.fr copyright_license: ISC License insiders: true -insiders_email: pawamoy@pm.me +insiders_email: insiders@pawamoy.fr insiders_repository_name: griffe project_description: 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. -project_name: griffe +project_name: Griffe public_release: true python_package_command_line_name: griffe python_package_distribution_name: griffe diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index fe3eefbf..255e0eed 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -60,7 +60,7 @@ representative at an online or offline event. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at -pawamoy@pm.me. +dev@pawamoy.fr. All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the diff --git a/docs/insiders/index.md b/docs/insiders/index.md index 2e6d4aa0..f803e51c 100644 --- a/docs/insiders/index.md +++ b/docs/insiders/index.md @@ -1,6 +1,6 @@ # Insiders -*griffe* follows the **sponsorware** release strategy, which means +*Griffe* follows the **sponsorware** release strategy, which means that new features are first exclusively released to sponsors as part of [Insiders][insiders]. Read on to learn [what sponsorships achieve][sponsorship], [how to become a sponsor][sponsors] to get access to Insiders, @@ -8,7 +8,7 @@ and [what's in it for you][features]! ## What is Insiders? -*griffe Insiders* is a private fork of *griffe*, hosted as +*Griffe Insiders* is a private fork of *Griffe*, hosted as a private GitHub repository. Almost[^1] [all new features][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 @@ -17,11 +17,11 @@ repository. [^1]: In general, every new feature is first exclusively released to sponsors, but sometimes upstream dependencies enhance - existing features that must be supported by *griffe*. + existing features that must be supported by *Griffe*. Every feature is tied to a [funding goal][funding] in monthly subscriptions. When a funding goal is hit, the features that are tied to it are merged back into -*griffe* and released for general availability, making them available +*Griffe* 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**][sponsors].[^2] @@ -44,7 +44,7 @@ The biggest bottleneck in Open Source is time.[^3] [^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 *griffe*, + The sponsorware model ensures that if you decide to use *Griffe*, you can be sure that bugs are fixed quickly and new features are added regularly. @@ -60,17 +60,31 @@ data_source = "docs/insiders/goals.yml" ``` -```python exec="1" session="insiders" +```python exec="1" session="insiders" idprefix="" --8<-- "scripts/insiders.py" -print( - f"""The moment you become a sponsor, you'll get **immediate - access to {len(unreleased_features)} additional features** that you can start using right away, and - which are currently exclusively available to sponsors:\n""" -) - -for feature in unreleased_features: - feature.render(badge=True) +if unreleased_features: + print( + "The moment you [become a sponsor](#how-to-become-a-sponsor), you'll get **immediate " + f"access to {len(unreleased_features)} additional features** that you can start using right away, and " + "which are currently exclusively available to sponsors:\n" + ) + + for feature in unreleased_features: + feature.render(badge=True) + + print( + "\n\nThese are just the features related to this project. " + "[See the complete feature list on the author's main Insiders page](https://pawamoy.github.io/insiders/#whats-in-it-for-me)." + ) +else: + print( + "The moment you [become a sponsor](#how-to-become-a-sponsor), you'll get immediate " + "access to all released features that you can start using right away, and " + "which are exclusively available to sponsors. At this moment, there are no " + "Insiders features for this project, but checkout the [next funding goals](#goals) " + "to see what's coming, as well as **[the feature list for all Insiders projects](https://pawamoy.github.io/insiders/#whats-in-it-for-me).**" + ) ``` @@ -83,7 +97,7 @@ You can use your individual or organization GitHub account for sponsoring. **Important**: If you're sponsoring **[@pawamoy][github sponsor profile]** through a GitHub organization, please send a short email -to pawamoy@pm.me with the name of your +to insiders@pawamoy.fr with the name of your organization and the GitHub account of the individual that should be added as a collaborator.[^4] @@ -92,7 +106,7 @@ You can cancel your sponsorship anytime.[^5] [^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 + sponsoring, please send an email to insiders@pawamoy.fr, 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, @@ -128,7 +142,7 @@ You can cancel your sponsorship anytime.[^5] If you sponsor publicly, you're automatically added here with a link to - your profile and avatar to show your support for *griffe*. + your profile and avatar to show your support for *Griffe*. 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. @@ -168,17 +182,15 @@ for goal in goals.values(): ### Compatibility > We're building an open source project and want to allow outside collaborators -to use *griffe* locally without having access to Insiders. +to use *Griffe* locally without having access to Insiders. Is this still possible? -Yes. Insiders is compatible with *griffe*. Almost all new features +Yes. Insiders is compatible with *Griffe*. 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? @@ -188,15 +200,15 @@ yearly billing cycle][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. +If you have any problems or further questions, please reach out to insiders@pawamoy.fr. ### Terms > Are we allowed to use Insiders under the same terms and conditions as -*griffe*? +*Griffe*? -Yes. Whether you're an individual or a company, you may use *griffe -Insiders* precisely under the same terms as *griffe*, which are given +Yes. Whether you're an individual or a company, you may use *Griffe +Insiders* precisely under the same terms as *Griffe*, which are given by the [ISC License][license]. However, we kindly ask you to respect our **fair use policy**: diff --git a/docs/insiders/installation.md b/docs/insiders/installation.md index 370a7fad..24d91c0d 100644 --- a/docs/insiders/installation.md +++ b/docs/insiders/installation.md @@ -4,7 +4,7 @@ title: Getting started with Insiders # Getting started with Insiders -*griffe Insiders* is a compatible drop-in replacement for *griffe*, +*Griffe Insiders* is a compatible drop-in replacement for *Griffe*, 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. @@ -25,7 +25,7 @@ and [how to use it](https://pawamoy.github.io/pypi-insiders/#usage). ### with pip (ssh/https) -*griffe Insiders* can be installed with `pip` [using SSH][using ssh]: +*Griffe Insiders* can be installed with `pip` [using SSH][using ssh]: ```bash pip install git+ssh://git@github.com/pawamoy-insiders/griffe.git @@ -60,7 +60,7 @@ pip install git+https://${GH_TOKEN}@github.com/pawamoy-insiders/griffe.git ### with pip (self-hosted) -Self-hosting the Insiders package makes it possible to depend on *griffe* normally, +Self-hosting the Insiders package makes it possible to depend on *Griffe* 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. @@ -175,7 +175,7 @@ as it is against our [Terms of use](index.md#terms).** ### with git -Of course, you can use *griffe Insiders* directly from `git`: +Of course, you can use *Griffe Insiders* directly from `git`: ``` git clone git@github.com:pawamoy-insiders/griffe @@ -189,7 +189,7 @@ pip install -e griffe ## Upgrading -When upgrading Insiders, you should always check the version of *griffe* +When upgrading Insiders, you should always check the version of *Griffe* 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`. diff --git a/mkdocs.yml b/mkdocs.yml index e8faf4b6..7c1b73e0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,4 +1,4 @@ -site_name: "griffe" +site_name: "Griffe" site_description: "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." site_url: "https://mkdocstrings.github.io/griffe" repo_url: "https://github.com/mkdocstrings/griffe" diff --git a/pyproject.toml b/pyproject.toml index fdd0c0c6..faa2224d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,10 +4,8 @@ build-backend = "pdm.backend" [project] name = "griffe" -description = """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.""" -authors = [{name = "Timothée Mazzucotelli", email = "pawamoy@pm.me"}] +description = "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." +authors = [{name = "Timothée Mazzucotelli", email = "dev@pawamoy.fr"}] license = {text = "ISC"} readme = "README.md" requires-python = ">=3.8" diff --git a/src/griffe/__init__.py b/src/griffe/__init__.py index 437e7b36..a992ec4b 100644 --- a/src/griffe/__init__.py +++ b/src/griffe/__init__.py @@ -1,4 +1,4 @@ -"""griffe package. +"""Griffe package. Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project,