insiders


Nameinsiders JSON
Version 3.0.0 PyPI version JSON
download
home_pageNone
SummaryManage your Insiders projects.
upload_time2025-02-08 15:30:36
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseISC
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # insiders

[![ci](https://github.com/pawamoy/insiders-project/workflows/ci/badge.svg)](https://github.com/pawamoy/insiders-project/actions?query=workflow%3Aci)
[![documentation](https://img.shields.io/badge/docs-mkdocs-708FCC.svg?style=flat)](https://pawamoy.github.io/insiders-project/)
[![pypi version](https://img.shields.io/pypi/v/insiders.svg)](https://pypi.org/project/insiders/)
[![gitter](https://badges.gitter.im/join%20chat.svg)](https://app.gitter.im/#/room/#insiders-project:gitter.im)

Manage your Insiders projects.

## Installation

```bash
pip install insiders
```

With [`uv`](https://docs.astral.sh/uv/):

```bash
uv tool install insiders
```

## Usage

The `insiders` tool provides several commands that will help you manage projects based on a sponsorware strategy.

- `insiders backlog`: Print a backlog of issues, ordered using your own defined criteria
- `insiders index`: Serve a PyPI-like index locally, and upload private Insiders packages to it.
- `insiders project`: Bootstrap public/insiders project pairs on GitHub.
- `insiders sponsors`: Manage your sponsors (grant/revoke access to private team, etc.).

Run `insiders -h` to see where the configuration file is found. Example configuration:

```toml
# --------------------------------------------------------------------------- #
# Backlog configuration.                                                      #
# --------------------------------------------------------------------------- #
# The `backlog` command prints a list of issues from GitHub repositories.
# It is used to keep track of what needs to be done, and to prioritize tasks.
# It integrates with sponsorships and issue boosts to let your sponsors
# influence the priority of issues.
[backlog]

# GitHub namespaces (user accounts / organizations) from which to fetch issues.
namespaces = ["pawamoy", "mkdocstrings"]

# How many issues to display when showing the backlog.
limit = 30

# Sorting criteria, in order of importance.
# TODO: Document syntax and available options.
sort = [
    "label('bug')",
    "label('unconfirmed')",
    "label('docs')",
    "label('refactor')",
    "min_sponsorships(50)",
    "min_pledge(30)",
    "min_upvotes(2)",
    "label('insiders')",
    "repository('mkdocstrings/*')",
    "created",
]

# A shell command to get your GitHub token.
github-token-command = "pass show tokens/insiders/github"

# The backlog supports issue "boosts" (funding) via Polar.
# If you have a Polar account and enabled Issue Funding,
# you can configure it here.
polar-token-command = "pass show tokens/insiders/polar"

# A map of labels to emojis, for shorter display in the backlog.
[backlog.issue-labels]
bug = "🐞"
docs = "📘"
feature = "✨"
insiders = "🔒"
unconfirmed = "❔"

# --------------------------------------------------------------------------- #
# Index configuration.                                                        #
# --------------------------------------------------------------------------- #
# The `index` command lets you serve a PyPI-like index locally,
# and upload Insiders versions of projects to it,
# so that you can install them transparently as dependencies.
# You can configure a remote index too, instead of a locally-served one.
[index]

# The URL of the index, local or remote.
url = "http://localhost:31411"

# Whether to start the index server in the background (when serving locally).
start-in-background = true

# The path to the log file of the index server (when serving locally).
log-path = "/tmp/insiders-index.log"

# --------------------------------------------------------------------------- #
# Projects configuration.                                                     #
# --------------------------------------------------------------------------- #
# The `project` command lets you create public and private projects on GitHub.
# It supports Copier templates to generate the initial project structure.
# It can also register projects on PyPI, and run post-creation commands.
# Created projects will be cloned in the specified directories.
[project]

# If your Insiders organization is named "your-username-insiders",
# you can specify your GitHub username instead of both the public
# and insiders namespaces in which projects will be created.
github-username = "pawamoy"

# Explicitly specify the public and insiders namespaces.
namespace = "pawamoy"
insiders-namespace = "pawamoy-insiders"

# Where to clone the created projects (Git repositories).
directory = "~/data/dev"
insiders-directory = "~/data/dev/insiders"

# Whether to register projects on PyPI.
register-on-pypi = false
pypi-username = "pawamoy"

# Post-creation commands to run after creating a project.
# The command only runs in the public project, not the private one.
post-creation-command = [
    "python",
    "scripts/make",
    "setup",
    "changelog",
    "release",
    "version=0.1.0",
]

# A Copier template to generate new projects from.
copier-template = "gh:pawamoy/copier-uv"

# A mapping of template questions to answers.
# TODO: Document syntax and available options.
[project.copier-template-answers]
project_name = "{public_name}"
project_description = "{description}"
author_username = "pawamoy"
repository_namespace = "{public_namespace}"
repository_name = "{public_name}"
insiders = true
insiders_repository_name = "{insiders_name}"

# --------------------------------------------------------------------------- #
# Sponsors configuration.                                                     #
# --------------------------------------------------------------------------- #
# The `sponsors` command lets you list sponsors from different platforms,
# show detailed information about a user,
# and synchronize your sponsors' access to a GitHub team,
# where your private projects are made available.
[sponsors]

# Your GitHub account receiving sponsorships.
github-sponsored-account = "pawamoy"

# A shell command to get your GitHub token.
github-token-command = "pass show tokens/insiders/github"

# Your Polar account receiving sponsorships.
polar-sponsored-account = "pawamoy"

# A shell command to get your Polar token.
polar-token-command = "pass show tokens/insiders/polar"

# The minimum amount a sponsor must pledge to be considered an insider,
# granting them access to your private projects.
minimum-amount = 10

# The GitHub team to which insiders are invited.
insiders-team = "pawamoy-insiders/insiders"

# A list of users to always include into the insiders team.
include-users = [
    "pawamoy",  # Myself.
]

# A list of users to always exclude from the insiders team.
exclude-users = []

# A map of GitHub sponsors to their beneficiaries.
# Beneficiaries are users/organizations who get voting power
# and are optionally granted access to your Insiders team.
# TODO: Document supported values.
[sponsors.github-beneficiaries]
some-github-account = [
    "some-github-user",
    "&some-github-org",
]

# A map of Polar sponsors to their beneficiaries.
# Beneficiaries are users/organizations who get voting power
# and are optionally granted access to your Insiders team.
# TODO: Document supported values.
[sponsors.polar-beneficiaries]
```

More documentation will be added later, for now ask @pawamoy for details (see where I can be reached on my profile) 🙂


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "insiders",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "=?utf-8?q?Timoth=C3=A9e_Mazzucotelli?= <dev@pawamoy.fr>",
    "download_url": "https://files.pythonhosted.org/packages/b7/6d/bf80b8bccb12ac19c6835f06c4b4076d7e4eef0d8d1be994272cb54d6305/insiders-3.0.0.tar.gz",
    "platform": null,
    "description": "# insiders\n\n[![ci](https://github.com/pawamoy/insiders-project/workflows/ci/badge.svg)](https://github.com/pawamoy/insiders-project/actions?query=workflow%3Aci)\n[![documentation](https://img.shields.io/badge/docs-mkdocs-708FCC.svg?style=flat)](https://pawamoy.github.io/insiders-project/)\n[![pypi version](https://img.shields.io/pypi/v/insiders.svg)](https://pypi.org/project/insiders/)\n[![gitter](https://badges.gitter.im/join%20chat.svg)](https://app.gitter.im/#/room/#insiders-project:gitter.im)\n\nManage your Insiders projects.\n\n## Installation\n\n```bash\npip install insiders\n```\n\nWith [`uv`](https://docs.astral.sh/uv/):\n\n```bash\nuv tool install insiders\n```\n\n## Usage\n\nThe `insiders` tool provides several commands that will help you manage projects based on a sponsorware strategy.\n\n- `insiders backlog`: Print a backlog of issues, ordered using your own defined criteria\n- `insiders index`: Serve a PyPI-like index locally, and upload private Insiders packages to it.\n- `insiders project`: Bootstrap public/insiders project pairs on GitHub.\n- `insiders sponsors`: Manage your sponsors (grant/revoke access to private team, etc.).\n\nRun `insiders -h` to see where the configuration file is found. Example configuration:\n\n```toml\n# --------------------------------------------------------------------------- #\n# Backlog configuration.                                                      #\n# --------------------------------------------------------------------------- #\n# The `backlog` command prints a list of issues from GitHub repositories.\n# It is used to keep track of what needs to be done, and to prioritize tasks.\n# It integrates with sponsorships and issue boosts to let your sponsors\n# influence the priority of issues.\n[backlog]\n\n# GitHub namespaces (user accounts / organizations) from which to fetch issues.\nnamespaces = [\"pawamoy\", \"mkdocstrings\"]\n\n# How many issues to display when showing the backlog.\nlimit = 30\n\n# Sorting criteria, in order of importance.\n# TODO: Document syntax and available options.\nsort = [\n    \"label('bug')\",\n    \"label('unconfirmed')\",\n    \"label('docs')\",\n    \"label('refactor')\",\n    \"min_sponsorships(50)\",\n    \"min_pledge(30)\",\n    \"min_upvotes(2)\",\n    \"label('insiders')\",\n    \"repository('mkdocstrings/*')\",\n    \"created\",\n]\n\n# A shell command to get your GitHub token.\ngithub-token-command = \"pass show tokens/insiders/github\"\n\n# The backlog supports issue \"boosts\" (funding) via Polar.\n# If you have a Polar account and enabled Issue Funding,\n# you can configure it here.\npolar-token-command = \"pass show tokens/insiders/polar\"\n\n# A map of labels to emojis, for shorter display in the backlog.\n[backlog.issue-labels]\nbug = \"\ud83d\udc1e\"\ndocs = \"\ud83d\udcd8\"\nfeature = \"\u2728\"\ninsiders = \"\ud83d\udd12\"\nunconfirmed = \"\u2754\"\n\n# --------------------------------------------------------------------------- #\n# Index configuration.                                                        #\n# --------------------------------------------------------------------------- #\n# The `index` command lets you serve a PyPI-like index locally,\n# and upload Insiders versions of projects to it,\n# so that you can install them transparently as dependencies.\n# You can configure a remote index too, instead of a locally-served one.\n[index]\n\n# The URL of the index, local or remote.\nurl = \"http://localhost:31411\"\n\n# Whether to start the index server in the background (when serving locally).\nstart-in-background = true\n\n# The path to the log file of the index server (when serving locally).\nlog-path = \"/tmp/insiders-index.log\"\n\n# --------------------------------------------------------------------------- #\n# Projects configuration.                                                     #\n# --------------------------------------------------------------------------- #\n# The `project` command lets you create public and private projects on GitHub.\n# It supports Copier templates to generate the initial project structure.\n# It can also register projects on PyPI, and run post-creation commands.\n# Created projects will be cloned in the specified directories.\n[project]\n\n# If your Insiders organization is named \"your-username-insiders\",\n# you can specify your GitHub username instead of both the public\n# and insiders namespaces in which projects will be created.\ngithub-username = \"pawamoy\"\n\n# Explicitly specify the public and insiders namespaces.\nnamespace = \"pawamoy\"\ninsiders-namespace = \"pawamoy-insiders\"\n\n# Where to clone the created projects (Git repositories).\ndirectory = \"~/data/dev\"\ninsiders-directory = \"~/data/dev/insiders\"\n\n# Whether to register projects on PyPI.\nregister-on-pypi = false\npypi-username = \"pawamoy\"\n\n# Post-creation commands to run after creating a project.\n# The command only runs in the public project, not the private one.\npost-creation-command = [\n    \"python\",\n    \"scripts/make\",\n    \"setup\",\n    \"changelog\",\n    \"release\",\n    \"version=0.1.0\",\n]\n\n# A Copier template to generate new projects from.\ncopier-template = \"gh:pawamoy/copier-uv\"\n\n# A mapping of template questions to answers.\n# TODO: Document syntax and available options.\n[project.copier-template-answers]\nproject_name = \"{public_name}\"\nproject_description = \"{description}\"\nauthor_username = \"pawamoy\"\nrepository_namespace = \"{public_namespace}\"\nrepository_name = \"{public_name}\"\ninsiders = true\ninsiders_repository_name = \"{insiders_name}\"\n\n# --------------------------------------------------------------------------- #\n# Sponsors configuration.                                                     #\n# --------------------------------------------------------------------------- #\n# The `sponsors` command lets you list sponsors from different platforms,\n# show detailed information about a user,\n# and synchronize your sponsors' access to a GitHub team,\n# where your private projects are made available.\n[sponsors]\n\n# Your GitHub account receiving sponsorships.\ngithub-sponsored-account = \"pawamoy\"\n\n# A shell command to get your GitHub token.\ngithub-token-command = \"pass show tokens/insiders/github\"\n\n# Your Polar account receiving sponsorships.\npolar-sponsored-account = \"pawamoy\"\n\n# A shell command to get your Polar token.\npolar-token-command = \"pass show tokens/insiders/polar\"\n\n# The minimum amount a sponsor must pledge to be considered an insider,\n# granting them access to your private projects.\nminimum-amount = 10\n\n# The GitHub team to which insiders are invited.\ninsiders-team = \"pawamoy-insiders/insiders\"\n\n# A list of users to always include into the insiders team.\ninclude-users = [\n    \"pawamoy\",  # Myself.\n]\n\n# A list of users to always exclude from the insiders team.\nexclude-users = []\n\n# A map of GitHub sponsors to their beneficiaries.\n# Beneficiaries are users/organizations who get voting power\n# and are optionally granted access to your Insiders team.\n# TODO: Document supported values.\n[sponsors.github-beneficiaries]\nsome-github-account = [\n    \"some-github-user\",\n    \"&some-github-org\",\n]\n\n# A map of Polar sponsors to their beneficiaries.\n# Beneficiaries are users/organizations who get voting power\n# and are optionally granted access to your Insiders team.\n# TODO: Document supported values.\n[sponsors.polar-beneficiaries]\n```\n\nMore documentation will be added later, for now ask @pawamoy for details (see where I can be reached on my profile) \ud83d\ude42\n\n",
    "bugtrack_url": null,
    "license": "ISC",
    "summary": "Manage your Insiders projects.",
    "version": "3.0.0",
    "project_urls": {
        "Changelog": "https://pawamoy.github.io/insiders/changelog",
        "Discussions": "https://github.com/pawamoy/insiders-project/discussions",
        "Documentation": "https://pawamoy.github.io/insiders",
        "Funding": "https://github.com/sponsors/pawamoy",
        "Gitter": "https://gitter.im/insiders/community",
        "Homepage": "https://pawamoy.github.io/insiders",
        "Issues": "https://github.com/pawamoy/insiders-project/issues",
        "Repository": "https://github.com/pawamoy/insiders-project"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8690f6de02058faec2bba127c08a3aa26cf7b81622115b368ad4ffe944561d46",
                "md5": "6e1fb5bb354907ca780a4c41172cc6fc",
                "sha256": "26592f3ac988f5f3e0f92ce8a08fa1d5513dc4854562a9f6b6c9d518e823919e"
            },
            "downloads": -1,
            "filename": "insiders-3.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6e1fb5bb354907ca780a4c41172cc6fc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 40556,
            "upload_time": "2025-02-08T15:30:34",
            "upload_time_iso_8601": "2025-02-08T15:30:34.873246Z",
            "url": "https://files.pythonhosted.org/packages/86/90/f6de02058faec2bba127c08a3aa26cf7b81622115b368ad4ffe944561d46/insiders-3.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b76dbf80b8bccb12ac19c6835f06c4b4076d7e4eef0d8d1be994272cb54d6305",
                "md5": "681f44a77543e27f0ae03c3fa9307b57",
                "sha256": "c3abf4cf09b2d54e412b51bf0bb65bc8f695adc6f570cb4916a8f70a50ef21a5"
            },
            "downloads": -1,
            "filename": "insiders-3.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "681f44a77543e27f0ae03c3fa9307b57",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 64764,
            "upload_time": "2025-02-08T15:30:36",
            "upload_time_iso_8601": "2025-02-08T15:30:36.984692Z",
            "url": "https://files.pythonhosted.org/packages/b7/6d/bf80b8bccb12ac19c6835f06c4b4076d7e4eef0d8d1be994272cb54d6305/insiders-3.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-08 15:30:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pawamoy",
    "github_project": "insiders-project",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "insiders"
}
        
Elapsed time: 0.43053s