Skip to main content

GoatPie

Build

"GoatCounter" analytics for the CLI, written in Python - get it?

Screenshot

Installation

It's available from PyPi using pip:

pip install goatpie

Getting started

Using this library is straightforward.

Commandline

Pretty much self-explanatory - otherwise, --help is your friend:

$ goatpie --help
Usage: goatpie [OPTIONS] URL

  Provides 'Goatcounter' statistics for URL

Options:
  -u, --update            Forces update of local database
  -l, --limit INTEGER     Shows visits & pageviews for the last XY days. Default: 14
  -b, --bar-colors TEXT   Defines two bar colors. Default: 'blue,magenta'
  -t, --text-colors TEXT  Defines three text colors. Default: 'blue,white,cyan'
  --version               Show the version and exit.
  --help                  Show this message and exit.

Package

The underlying module may also be used directly:

from goatpie import GoatPie

# Initialize it
obj = GoatPie(url, token)

# Optionally with `data_dir` (SQLite database, config, etc)
obj = GoatPie(url, token, data_dir)

# Update database
# (1) Last update not before one hour (in seconds)
obj.update(3600)

# (2) Force database update
obj.update(0)

# Get pageviews as `pandas.DataFrame` (last seven days)
print(obj.get_pageviews(7))

#           Day  Pageviews
# 0  2022-08-28          1
# 1  2022-08-27         13
# 2  2022-08-26         20
# 3  2022-08-25         35
# 4  2022-08-24         84
# 5  2022-08-23         64
# 6  2022-08-22         23

Configuration

Besides CLI options (see goatpie --help) you may also configure various options inside ~/.config/goatpie/config.ini like so:

[DEFAULT]
interval = 3600
step = 100
bar_colors = blue,magenta
text_colors = blue,white,cyan

[stats.example.com]
interval = 0                    # force updates
step = 1000                     # more visitors
bar_colors = yellow,red         # hotter colors
text_colors = black,blue,black  # better suited for light screens

When first connecting to a 'GoatCounter' domain (such as stats.example.com), you are asked to store your token, in which case your configuration might look like this:

[DEFAULT]
interval = 3600

[stats.example.com]
interval = 0  # force updates
token = my-s3cr3t-t0k3n

[stats.another-example.com]
interval = 1800  # half hour
token = my-0th3r-s3cr3t-t0k3n

Note: Section headers are named after the GoatCounter API endpoints you are using, NOT the pages you are tracking!

Roadmap

  • Add tests
  • Add more tests
  • Add logger
  • Config file
  • Explain configuration

Metadata

Release files for goatpie 0.4.0

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

Source distribution (sdist)

Source distribution for goatpie 0.4.0
File Size Uploaded
goatpie-0.4.0.tar.gz 119.2 kB Details

Built distribution (wheel)

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

Total release size: 144.1 kB

Release files / goatpie-0.4.0.tar.gz

Download URL goatpie-0.4.0.tar.gz
Size 119.2 kB
Tags Source
SHA-256 checksum
How to use checksums
14080bb9e317158da1de227364bd3414ae14bf42f6f4650737070d804eb1d8d5
BLAKE2b-256 checksum
How to use checksums
f8c9b923604d77edcac0e288aee0b8d92986993eaefc31437f1d9f127f84aef7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.28.1

Release files / goatpie-0.4.0-py3-none-any.whl

Download URL goatpie-0.4.0-py3-none-any.whl
Size 25.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a169a7a5144681fec209d6e36b0675e1d131cd0cdac86d75b151ead375538b6
BLAKE2b-256 checksum
How to use checksums
414aeb207f967b5385626ebda8533acdafdc3f355944e2896f7cbcacba25c69a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.28.1

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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