Skip to main content

deckz

CI Status CD Status Test Coverage PyPI Project

Tool to handle a large number of beamer decks, used by several persons, with shared slides amongst the decks. It is currently not meant to be usable directly by people finding about the package on GitHub. Please open an issue if you want more details or want to discuss this solution.

Installation

With pip:

pip install deckz

Shell completion installation

See the --show-completion or --install-completion options of the deckz CLI.

Directory Structure

deckz works with big assumptions on the directory structure of your presentation repository. Among those assumptions:

  • your directory should be a git repository
  • it should contain a shared folder for everything that will be shared by all decks during compilation (images, code snippets, etc)
  • it should contain jinja2 LaTeX templates in the templates/jinja2 directory, with a specific name (listed below)
  • it should contain YAML templates in the templates/yml directory, with specific names (listed below)
  • your deck folders should be contained in an organization/company folder. This is meant to avoid repeating the company details all over the place
  • several configuration should be present to customize the decks efficiently (more on that later)
root (git repository)
├── global-config.yml
├── templates
│   ├── jinja2
│   │   ├── main.tex
│   └── yml
│       ├── company-config.yml
│       ├── deck-config.yml
│       ├── global-config.yml
│       └── user-config.yml
├── shared
│   ├── img
│   │   ├── image1.png
│   │   └── image2.jpg
│   ├── code
│   │   ├── snippet1.py
│   │   └── snippet2.js
│   └── latex
│       ├── module1.tex
│       └── module2.tex
├── company1
│   ├── company-config.yml
│   └── deck1
│       ├── session-config.yml
│       ├── deck-config.yml
│       └── targets.yml
└── company2
    ├── company-config.yml
    └── deck2
        ├── target1
        │   └── custom-module.tex
        ├── deck-config.yml
        └── targets.yml

Configuration

deckz uses small configuration files in several places to avoid repetition.

Configuration merging

The configuration are merged in this order (a value from a configuration on the bottom overrides a value from a configuration on the top):

  • global-config.yml
  • user-config.yml
  • company-config.yml
  • deck-config.yml
  • session-config.yml

Using the configuration values in LaTeX files

The values obtained from the merged configurations can be used in LaTeX after a conversion from snake case to camel case: if the configuration contains the key trainer_email, it will be defined as the \TrainerEmail command in LaTeX.

Details about specific configurations

Global configuration

The global configuration contains the default values that don't fit at a more specific level.

Example:

presentation_size: 10pt

User configuration

The user configuration contains the values that change when the speaker changes. It is located in the XDG compliant config location. It is $HOME/.config/deckz/user-config.yml on GNU/Linux for example.

Example:

trainer_activity: Data Scientist
trainer_email: john@doe.me
trainer_name: John Doe
trainer_specialization: NLP, NLU
trainer_training: MSc at UCL

Company configuration

The company configuration contains everything required to brand the presentations according to the represented company.

Example:

company_logo: logo_company
company_logo_height: 1cm
company_name: Company
company_website: https://www.company.com

Deck configuration

The deck configuration contains the title and acronym of the talk.

Example:

deck_acronym: COV19
deck_title: Machine Learning and COVID-19

Session configuration

The session configuration is optional and contains everything that will change from one session of a specific talk to another one.

Example:

session_end: 30/04/2020
session_start: 27/04/2020

Usage

See the --help flag of the deckz command line tool.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deckz-25.2.0.tar.gz (46.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deckz-25.2.0-py3-none-any.whl (63.1 kB view details)

Uploaded Python 3

File details

Details for the file deckz-25.2.0.tar.gz.

File metadata

  • Download URL: deckz-25.2.0.tar.gz
  • Upload date:
  • Size: 46.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for deckz-25.2.0.tar.gz
Algorithm Hash digest
SHA256 607bc38b93a4759cd265196d6c0b08b374d8af95523f21f3b7f2488124cd9122
MD5 4639da8c0f5305daea31b8d3527c0a03
BLAKE2b-256 76d84f638a05ad02d13f497a781b52cc7d7de8c7e500fae43399af90d5b01e16

See more details on using hashes here.

File details

Details for the file deckz-25.2.0-py3-none-any.whl.

File metadata

  • Download URL: deckz-25.2.0-py3-none-any.whl
  • Upload date:
  • Size: 63.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for deckz-25.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7abadb21e9c3e58ad64c30aade0435b29380ca84a21a259ef26462341f630441
MD5 9f742572170216d67e3d5d61db2b64a8
BLAKE2b-256 873f9e2248589ad66e41f8f1c8d187ed82424ed1ddf20a269a4c1132ce8d2b5f

See more details on using hashes here.

Release history Release notifications | RSS feed

25.6.0

2 files

25.5.0

2 files

25.4.0

2 files

25.3.0

2 files

This release

25.2.0 This release

2 files

25.1.0

2 files

25.0.1

2 files

25.0.0

2 files

24.3.3

2 files

24.3.2

2 files

24.3.1

2 files

24.3.0

2 files

24.2.0

2 files

24.1.3

2 files

24.1.2

2 files

24.1.1

2 files

24.1.0

2 files

24.0.1

2 files

24.0.0

2 files

23.0.0

2 files

22.0.4

2 files

22.0.3

2 files

22.0.2

2 files

22.0.1

2 files

22.0.0

2 files

20.3.1

2 files

20.3.0

2 files

20.2.0

2 files

20.1.0

2 files

20.0.0

2 files

19.0.1

2 files

19.0.0

2 files

18.2.0

2 files

18.1.5

2 files

18.1.4

2 files

18.1.3

2 files

18.1.2

2 files

18.1.1

2 files

18.1.0

2 files

18.0.1

2 files

18.0.0

2 files

17.4.0

2 files

17.3.0

2 files

17.2.0

2 files

17.1.0

2 files

17.0.0

2 files

16.2.0

2 files

16.1.0

2 files

16.0.0

2 files

15.0.2

2 files

15.0.1

2 files

15.0.0

2 files

14.2.0

2 files

14.1.1

2 files

14.1.0

2 files

14.0.1

2 files

14.0.0

2 files

13.6.0

2 files

13.5.0

2 files

13.4.1

2 files

13.4.0

2 files

13.3.0

2 files

13.2.1

2 files

13.2.0

2 files

13.1.0

2 files

13.0.0

2 files

12.3.0

2 files

12.2.0

2 files

12.1.2

2 files

12.1.1

2 files

12.1.0

2 files

12.0.1

2 files

12.0.0

2 files

11.1.2

2 files

11.1.1

2 files

11.1.0

2 files

11.0.0

2 files

10.5.0

2 files

10.4.2

2 files

10.4.1

2 files

10.4.0

2 files

10.3.0

2 files

10.2.0

2 files

10.1.0

2 files

10.0.0

2 files

9.5.0

2 files

9.4.0

2 files

9.3.0

2 files

9.2.0

2 files

9.1.0

2 files

9.0.0

2 files

8.1.0

2 files

8.0.0

2 files

7.2.0

2 files

7.1.0

2 files

7.0.0

2 files

6.1.0

2 files

6.0.0

2 files

5.0.0

2 files

4.0.2

2 files

4.0.1

2 files

4.0.0

2 files

3.6.0

2 files

3.5.0

2 files

3.4.0

2 files

3.3.0

2 files

3.2.1

2 files

3.2.0

2 files

3.1.3

2 files

3.1.2

2 files

3.1.1

2 files

3.1.0

2 files

3.0.0

2 files

2.6.0

2 files

2.5.0

2 files

2.4.1

2 files

2.4.0

2 files

2.3.0

2 files

2.2.2

2 files

2.2.1

2 files

2.2.0

2 files

2.1.1

2 files

2.1.0

2 files

2.0.0

2 files

1.0.0

2 files

0.1.0

2 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