Skip to main content

Utilities for the program organization of conferences using Pretalx

Project description

Pytanis

Pytanis logo

Pytanis provides useful tools for conferences using Pretalx to handle the call for papers and creating a program!

CI/CD CI - Test Coverage CD - Build Docs - Build
Package PyPI - Version PyPI - Downloads PyPI - Python Version
Details Project generated with PyScaffold Hatch project code style - black types - Mypy imports - isort License - MIT GitHub Sponsors

Trivia: The name Pytanis is a reference to Prytanis using the typical py prefix of Python tools. Prytanis was the name given to the leading members of the government of a city (polis) in ancient Greece. Offices that used this title usually had responsibility for presiding over councils of some kind, which met in the Prytaneion.

This is alpha version! It might break sometimes!

Features

  • simple configuration management with a config folder in your home directory, just like many other tools do
  • easily access Google Sheets, potentially filled by some Google Forms, and download it as DataFrame
  • easy to use Pretalx client that return proper Python objects thanks to the power of pydantic
  • simple HelpDesk client for batch mails, e.g. to your reviewers
  • tools to assign proposals to reviewers based on constraints like preferences
  • tools to support the final selection process of proposals
  • tools to support the creation of the final program schedule
  • awesome documentation with best practices for the program committee of any community conference

Getting started

To install Pytanis simple run:

pip install pytanis

and then create a file ~/.pytanis/config.toml with the content:

[Pretalx]
api_token = "932ndsf9uk32nf9sdkn3454532nj32jn"

[Google]
client_secret_json = "client_secret.json"
token_json = "token.json"

[HelpDesk]
account = "934jcjkdf-39df-9df-93kf-934jfhuuij39fd"
entity_id = "email@host.com"
token = "dal:Sx4id934C3Y-X934jldjdfjk"

where you need to replace the dummy values in the sections [Pretalx] and [HelpDesk] accordingly.

Retrieving the credentials and token

  • Google: Follow the Python Quickstart for the Google API to generate and download the file client_secret.json. Move it to the ~/.pytanis folder as client_secret.json. The file token.json will be automatically generated later. Note that config.toml references those two files relative to its own location.
  • Pretalx: The API token for the Pretalx API can be found in your user settings.
  • HelpDesk: Use the same (shared) email you use to log into HelpDesk/LiveChat to create the token following this video. In case there is any trouble with livechat, contact a helpdesk admin.

Development

This section is only relevant if you want to contribute to Pytanis itself. Your help is highly appreciated!

After having cloned this repository:

  1. install hatch globally, e.g. pipx install hatch,
  2. create the default environment with hatch env create,
  3. activate the default environment with hatch shell,
  4. [only once] run pre-commit install to install pre-commit,

and then you are already set up to start hacking. Use hatch run test:cov or hatch run test:no-cov to run the unitest with or without coverage reports, respectively.

Documentation

The documentation is made with Material for MkDocs and is hosted by GitHub Pages. Your help to extend the documentation, especially in the context of using Pytanis for community conferences like PyConDE, EuroPython, etc. is highly appreciated.

License

Pytanis is distributed under the terms of the MIT license.

Credits

To start this project off a lot of inspiration and code was taken from Alexander Hendorf and Matthias Hofmann.

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

pytanis-0.1.1.tar.gz (31.7 kB view details)

Uploaded Source

Built Distribution

pytanis-0.1.1-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file pytanis-0.1.1.tar.gz.

File metadata

  • Download URL: pytanis-0.1.1.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pytanis-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d07c3cea8dab7ccbe9c75ebfd9c7e147d7ad21d1d02c0399b42818196de00e6f
MD5 1d0d6df7846b9028390d6a1e692b4ef9
BLAKE2b-256 c295f8cfba5dcb339789f27387bc475a870b829c3eacff995f036858bdab952a

See more details on using hashes here.

File details

Details for the file pytanis-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pytanis-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 19.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pytanis-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cbedef2af3234c90706b60b57d7425f232067d985e8fc919603b71493e1a661a
MD5 ebb228ac41ac8a64096052d1ee1333c1
BLAKE2b-256 97dc754dca67e94412189a36565213f245b6b04c683cf6f728cd7daf9a018c40

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page