
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
deckz
Advanced tools
deckzTool 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.
With pip:
pip install deckz
See the --show-completion or --install-completion options of the deckz CLI.
deckz works with big assumptions on the directory structure of your presentation repository. Among those assumptions:
shared folder for everything that will be shared by all decks during compilation (images, code snippets, etc)templates/jinja2 directory, with a specific name (listed below)templates/yml directory, with specific names (listed below)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
deckz uses small configuration files in several places to avoid repetition.
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.ymluser-config.ymlcompany-config.ymldeck-config.ymlsession-config.ymlThe 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.
The global configuration contains the default values that don't fit at a more specific level.
Example:
presentation_size: 10pt
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
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
The deck configuration contains the title and acronym of the talk.
Example:
deck_acronym: COV19
deck_title: Machine Learning and COVID-19
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
See the --help flag of the deckz command line tool.
FAQs
Tool to handle multiple beamer decks.
We found that deckz demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.