Utilities for the program organization of conferences using Pretalx
Project description
Pytanis includes a Pretalx client and all the tooling you need for conferences using Pretalx, from handling the initial call for papers to creating the final program.
CI/CD | |
Package | |
Details |
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. Romani ite domum!
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 sheets as data frames
- easy to use Pretalx client that returns proper Python objects thanks to the power of pydantic
- simple HelpDesk client for batch mails, e.g. to your reviewers
- awesome documentation with best practices for the program committee of any community-based conference
- 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
Getting started
To install Pytanis simple run:
pip install pytanis
or to install all recommended additional dependencies:
pip install 'pytanis[all]'
Then create a configuration file and directory in your user's home directory. For Linux/MacOS/Unix use
~/.pytanis/config.toml
and for Windows $HOME\.pytanis\config.toml
, where $HOME
is e.g. C:\Users\yourusername\
.
Use your favourite editor to open config.toml
within the .pytanis
directory and add the following 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 Tokens
- Google: Follow the Python Quickstart for the Google API to generate and download the file
client_secret.json
. Move it to the~/.pytanis
folder asclient_secret.json
. The filetoken.json
will be automatically generated later. Note thatconfig.toml
references those two files relative to its own location. - Pretalx: The API token can be found in the Pretalx user settings.
- HelpDesk: Login to the LiveChat Developer Console then go to Tools » Personal Access Tokens.
Choose Create new token +, enter a the name
Pytanis
, select all scopes and confirm. In the following screen copy theAccount ID
,Entity ID
andToken
and paste them intoconfig.toml
. 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:
- install hatch globally, e.g.
pipx install hatch
, - create the default environment with
hatch env create
(you might have to restart your shell), - [only once] run
pre-commit install
to install pre-commit,
and then you are already set up to start hacking. Use hatch run
to do everything you would normally do in a virtual
environment, e.g. hatch run juptyer lab
to start JupyterLab in the default environment, hatch run test:cov
for unit tests
and coverage (like tox) or hatch run docs:serve
to build & serve the documentation. For code hygiene, execute hatch run lint:all
in order to run flake8, isort, black, mypy, etc.
Check out the [tool.hatch.envs]
sections in pyproject.toml to learn about other commands.
If you really must enter a virtual environment, use hatch shell
to enter the default environment.
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
Release history Release notifications | RSS feed
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 pytanis-0.4.1.tar.gz
.
File metadata
- Download URL: pytanis-0.4.1.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0c8ac2f08705c21f5bf1f3b9beaebdeab1141d91b3c4b8a69f970c35c638b1d |
|
MD5 | 9f9d153870c3e9531b90bdd12ae540b2 |
|
BLAKE2b-256 | 4cdc3472180600cebfc602c77a621a8c1b1aa5f57eb63da39a0c5049ac3e5556 |
File details
Details for the file pytanis-0.4.1-py3-none-any.whl
.
File metadata
- Download URL: pytanis-0.4.1-py3-none-any.whl
- Upload date:
- Size: 25.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdfe843465729a0f58f8e977d01f5148311c300e589112af8bbec24a2a66b5e5 |
|
MD5 | f87ce20f8179c505a0f124e6ac26d74c |
|
BLAKE2b-256 | 1a5445a0ecc106d6971738d314a9fdf7eb9e2e3240f34dff20776f965ede7115 |