Skip to main content
gripe    
Opinionated extensions for the `grip` utility.

The grip utility provides rendering/serving local markdown files written in github-flavored markdown. Gripe extends it, allowing for serving more types of local files, as well as intelligent management for multiple `grip` daemons.


Overview

The gripe library provides extensions for grip.

The grip utility provides rendering/serving local markdown files written in github-flavored markdown.

Gripe extends it, allowing for serving more types of local files, as well as intelligent management for multiple grip daemons without thinking about server-port collisions.


Features

Support for Multiple Projects

Working with multiple projects simultaneously is supported. This works by managing multiple daemons with a per-project port. See CLI Usage for more information.


Installation

See pypi for available releases.

$ pip install gripe

Usage (CLI)

The gripe library publishes a small CLI tool.

Listing Servers

# or `gripe ls` or `python -mgripe ls`
$ gripe list 
{"local": [], "foreign": []}

Starting and Stopping Servers

# or `python -mgripe start`
$ gripe start
INFO gripe Trying to serve files                        
DEBUG gripe Starting gripe for this project..
DEBUG gripe Used ports: []                             
INFO gripe starting server with command:
INFO gripe 'flask --app gripe:app run --port 6149 >> .tmp.gripe.log 2>&1 &'

# startup example for a 2nd server over the same project: server start is NO-OP
$ gripe start
INFO gripe Trying to serve files                     
INFO gripe 1 copies of gripe are already started     
INFO gripe gripe @ pid `10059` is already serving this project
INFO gripe Skipping startup.

# startup example for 2nd server over 2nd project: new port allocated automatically
$ gripe start
INFO gripe trying to serve files
INFO gripe 1 copies of gripe are already started
INFO gripe No gripes are serving this project.
DEBUG  gripe Starting gripe for this project..
DEBUG  gripe Used ports: [6149]
DEBUG gripe server port @ 6149, using next available @ 6150
INFO gripe starting server with command:
INFO gripe   'flask --app gripe:app run --port 6150 >> .tmp.gripe.log 2>&1 &'

$ gripe stop
INFO gripe gripe @ {'pid': 10059, 'cwd':'...', 'port': 6149} started here
INFO gripe killing it..

Usage (API)

Listing Servers

>>> import gripe 
>>> gripe.list()
{"local": [], "foreign": []}

Starting and Stopping Servers

>>> import gripe 

>>> servers = gripe.start(); print(servers)
{ "local": [
    { "pid": 93867, 
      "cwd": "...", 
      "port": 6149 }
  ], 
  "foreign": []
}

>>> gripe.stop(grips=servers['local'])
{
 "killed": 
   [ { "pid": 93867, 
       "cwd": "...", 
       "port": 6149 } ]
}

Metadata

Release files for gripe 2024.2.24.1.31

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gripe 2024.2.24.1.31
File Size Uploaded Provenance Actions
gripe-2024.2.24.1.31.tar.gz 7.7 kB Without provenance Details for gripe-2024.2.24.1.31.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for gripe 2024.2.24.1.31
File Interpreter ABI Platform Actions
gripe-2024.2.24.1.31-py3-none-any.whl Python 3 none any Details for gripe-2024.2.24.1.31-py3-none-any.whl

Total release size: 14.4 kB

Release files / gripe-2024.2.24.1.31.tar.gz

Download URL gripe-2024.2.24.1.31.tar.gz
Size 7.7 kB
Tags Source
SHA-256 checksum
How to use checksums
87f03f7e13c4ab5d80ce96ef50d0e7ec5ea23ee5282acca869c4a0ed1e7ee661
BLAKE2b-256 checksum
How to use checksums
37e45409eae79ab330f96e81f3ad6d547b0dd50ea29f3d74c6369a472e741d67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / gripe-2024.2.24.1.31-py3-none-any.whl

Download URL gripe-2024.2.24.1.31-py3-none-any.whl
Size 6.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d7be1483720ff4eef7fb0c734218c0f693c1d1f5eac4e313cfbb55dc6bd09c82
BLAKE2b-256 checksum
How to use checksums
e49d9660ce5295e77b768310ed8e459010ce101a75c85ef1bda063bb9cfad964
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Security for gripe 2024.2.24.1.31

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page