Skip to main content

gancio_requests

gancio_requests is a tool for making asynchronous HTTP requests to the API of a specified Gancio instance. Gancio is a shared agenda for local communities, a project which wants to provide a self-hosted solution to host and organize events.

This repo aims to supply a convenient set of functions to fetch data from a gancio instance (e.g. scheduled events, the image or description of an event).

Installation

To install the latest version of the library just download (or clone) the current project, open a terminal and run the following commands:

pip install -r requirements.txt
pip install .

Alternatively use pip

pip install gancio_requests

Dependencies

At the moment I have tested the library only on python == 3.10.4

The library requires the dependencies specified in requirements.txt and I haven't still tested other versions.

Usage

Command line interface

python3 -m gancio_requests [-h] gancio_instance

gancio_instance is the URL of the instance from which we want to fetch the data.

The output displays the list of events starting of 00:00:00 of the current day. The information about an event is shown this way:

EVENT_NAME
[STARTING_TIME | END_TIME]
PLACE_NAME - ADDRESS
LIST_OF_TAGS (optional)
EVENT_URL

Example

Input
python3 -m gancio_requests https://gancio.cisti.org
Output
Crazy toga party
[2022-08-11 22:30:00 | 2022-08-12 00:00:00]
Colosseo - Piazza del Colosseo, Roma
Tags: ["colosseum", "ancient rome", "toga party"]
https://gancio.cisti.org/crazy-toga-party

Gioco del ponte
[2022-09-10 22:00:00 | 2022-09-10 23:00:00]
Ponte di mezzo - Ponte di Mezzo, 1, 56125 Pisa
https://gancio.cisti.org/gioco-del-ponte

Python library

After the installation, it is possible to use the package directly from the python interpreter by using import gancio_requests.

Caching

It is possible to cache HTTP requests thanks to aiohttp-client-cache. All the functions shown above have an optional parameter called cache which accepts a aiohttp_client_cache.backends object.

import asyncio
from aiohttp_client_cache import SQLiteBackend
from gancio_requests.request import get_events

url = 'https://gancio.cisti.org'
params = {"start": 0}
cache = SQLiteBackend(
    cache_name = "Test.db"
)
result = asyncio.run(get_events(url, params, cache=cache)) 

Metadata

Release files for gancio-requests 0.1.2

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

Source distribution (sdist)

Source distribution for gancio-requests 0.1.2
File Size Uploaded
gancio_requests-0.1.2.tar.gz 16.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gancio-requests 0.1.2
File Interpreter ABI Platform
gancio_requests-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 34.4 kB

Release files / gancio_requests-0.1.2.tar.gz

Download URL gancio_requests-0.1.2.tar.gz
Size 16.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4ec0019c73230b449aa1cf7797bfa86cd3ed98dcab3c33aa11c2776744a8214e
BLAKE2b-256 checksum
How to use checksums
4986187ef8a3bfa46fcea775378703b09f663e5f1c1c73a82dac17fae160be4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.4

Release files / gancio_requests-0.1.2-py3-none-any.whl

Download URL gancio_requests-0.1.2-py3-none-any.whl
Size 17.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f4142760e36e49ac2f8b6671a99805e5540decd001611c3a80970667e357bfa6
BLAKE2b-256 checksum
How to use checksums
d486804b70fc3b46b5ab1448fba310073b4b51231c966c361523cf4671c9c172
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.4

Release history Release notifications | RSS feed

This release

0.1.2 This release

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