'GoatCounter' analytics for the CLI, written in Python
Project description
GoatPie
"GoatCounter" analytics for the CLI, written in Python - get it?
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file goatpie-0.4.0.tar.gz
.
File metadata
- Download URL: goatpie-0.4.0.tar.gz
- Upload date:
- Size: 119.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.28.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14080bb9e317158da1de227364bd3414ae14bf42f6f4650737070d804eb1d8d5 |
|
MD5 | a7b48b578168c270711ba41efc42adff |
|
BLAKE2b-256 | f8c9b923604d77edcac0e288aee0b8d92986993eaefc31437f1d9f127f84aef7 |
File details
Details for the file goatpie-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: goatpie-0.4.0-py3-none-any.whl
- Upload date:
- Size: 25.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.28.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a169a7a5144681fec209d6e36b0675e1d131cd0cdac86d75b151ead375538b6 |
|
MD5 | 2d2e068edd8dc3a9c95af80a5108800c |
|
BLAKE2b-256 | 414aeb207f967b5385626ebda8533acdafdc3f355944e2896f7cbcacba25c69a |