An open API service indexing awesome lists of open source software.

https://github.com/hugovk/pepotron

CLI to open PEPs in your browser
https://github.com/hugovk/pepotron

cli command-line hacktoberfest pep peps python python3

Last synced: 10 months ago
JSON representation

CLI to open PEPs in your browser

Awesome Lists containing this project

README

          

# pepotron

[![PyPI version](https://img.shields.io/pypi/v/pepotron.svg?logo=pypi&logoColor=FFE873)](https://pypi.org/project/pepotron/)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/pepotron.svg?logo=python&logoColor=FFE873)](https://pypi.org/project/pepotron/)
[![PyPI downloads](https://img.shields.io/pypi/dm/pepotron.svg)](https://pypistats.org/packages/pepotron)
[![Test](https://github.com/hugovk/pepotron/actions/workflows/test.yml/badge.svg)](https://github.com/hugovk/pepotron/actions)
[![Codecov](https://codecov.io/gh/hugovk/pepotron/branch/main/graph/badge.svg)](https://codecov.io/gh/hugovk/pepotron)
[![Licence](https://img.shields.io/github/license/hugovk/pepotron.svg)](LICENSE.txt)
[![Code style: Black](https://img.shields.io/badge/code%20style-Black-000000.svg)](https://github.com/psf/black)

CLI to open PEPs in your browser.

## Installation

### From PyPI

```bash
python3 -m pip install --upgrade pepotron
```

### With [pipx][pipx]

```bash
pipx install pepotron
```

[pipx]: https://github.com/pypa/pipx

### From source

```bash
git clone https://github.com/hugovk/pepotron
cd pepotron
python3 -m pip install .
```

## Usage

### Open a PEP

Run `pep` or `pepotron`, they do the same thing.

```console
$ pep 8
https://peps.python.org/pep-0008/
```

```console
$ # Or:
$ pepotron 8
https://peps.python.org/pep-0008/
$ # Or:
$ uvx pepotron 8
https://peps.python.org/pep-0008/
```

### Open release schedule PEP for a Python version

```console
$ pep 3.11
https://peps.python.org/pep-0664/
```

### Open a PEP by searching for words in the title

```console
$ pep dead batteries
Score Result
90 PEP 594: Removing dead batteries from the standard library
61 PEP 767: Annotating Read-Only Attributes
58 PEP 415: Implement context suppression with exception attributes
55 PEP 476: Enabling certificate verification by default for stdlib http clients
55 PEP 500: A protocol for delegating datetime methods to their tzinfo implementations

https://peps.python.org/pep-0594/
```

### Open a PEP topic

```console
$ pep governance
https://peps.python.org/topic/governance/
```

```console
$ pep packaging
https://peps.python.org/topic/packaging/
```

```console
$ pep release
https://peps.python.org/topic/release/
```

```console
$ pep typing
https://peps.python.org/topic/typing/
```

```console
$ pep topics
https://peps.python.org/topic/
```

### Open a build preview of a python/peps PR

```console
$ pep 594 --pr 2440
https://pep-previews--2440.org.readthedocs.build/pep-0594/
```

### Open the PEPs website

```console
$ pep
https://peps.python.org
```

```console
$ pep --pr 2440
https://pep-previews--2440.org.readthedocs.build
```

### Find the next available PEP number

Check published PEPs and [open PRs](https://github.com/python/peps/pulls) to find the
next available PEP number.

```console
$ pep next
Next available PEP: 769
```

### Open a BPO issue in the browser

Issues from [bugs.python.org](https://bugs.python.org/) have been migrated to
[GitHub issues](https://github.com/python/cpython/issues) and have new numbers. This
command will open the redirect page to take you to the new issue.

```console
$ bpo 46208
https://bugs.python.org/issue?@action=redirect&bpo=46208
```

This redirects to https://github.com/python/cpython/issues/90366

### Help

```console
$ pep --help
usage: pep [-h] [-u URL] [-p PR] [--clear-cache] [-n] [-v] [-V] [search ...]

pepotron: CLI to open PEPs in your browser

positional arguments:
search PEP number, or Python version for its schedule, or words from title, or 'next' to
find next available PEP number

options:
-h, --help show this help message and exit
-u, --url URL Base URL for PEPs (default: https://peps.python.org)
-p, --pr PR Open preview for python/peps PR
--clear-cache Clear cache before running
-n, --dry-run Don't open in browser
-v, --verbose Verbose logging
-V, --version show program's version number and exit
```

```console
$ bpo --help
usage: bpo [-h] [-n] [-v] [-V] bpo

Open this BPO in the browser

positional arguments:
bpo BPO number

options:
-h, --help show this help message and exit
-n, --dry-run Don't open in browser
-v, --verbose Verbose logging
-V, --version show program's version number and exit
```