This package is made to help MIMME's JDDs organization.
- MIMME JDD HELP PACKAGE
You'll have to deal with hundreds participants and same amount of badges, presentations and posters, you definitely don't want to deals with by hand. This package is made for you !
You'll be able to automatically build badges and signing pages relative to the list of participants provided by MIMME secretary, make stats and even make a random passage order for the presentations !
Functionalities :
- Auto badges
- Auto signing pages
- Auto order for presentations
- Auto QR-codes for important files (book of abstract and conf program)
- Auto stats
What's needed to make this work.
Python>= 3.7Pandasup-to-dateopenpyxlup-to-datematplotlibup-to-dateqrcodeup-to-date- A complete and functional LaTeX distribution (TeXLive for instance)
You don't need to install them manually, pip will do it for you when installing, but Python and pip are mandatory to do so.
- On Windows : go on python Windows Download page and download latest release
- On Linux (Ubuntu/Debian): simply run
sudo apt install python3. You can also runapt-get. - On MacOS : go on python MacOs Download Page and download latest release
Download .zip archive from github(insert link) or clone the repository on your machine.
In further release we plan to make it available on PyPi projects to make it available via pip installation. See Next Steps for more informations
If you do not use pip and PyPi repository to get this package, please remember that you do need to manually install every dependency needed. Use the following code in command prompt :
python3.7 -m pip install setuptools pandas seaborn matplotlib os colorama openpyxl pytest qrcodeThis will install all dependencies for you.
Note
You can modify the python version you're using e.g. : python3.10 or python 3.11.
Note
This will do the magic whether on Linux or Windows. You also can use python alone on windows is set on PATH variable.
To ensure all is set up correctly, please run :
pytestIf every test is passed, then everything is set up !
This section includes most of useful commands to help you manage participants in MIMME JDDs. Refer to the correct section for what you need.
In order to generate all files you need with this module, there are little prerequisites especially concerning input files and where you put them. You must use this file tree organization, considering you have a list of all attendees in a file named participants-2024.xlsx :
jdd/
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING
├── LICENCE
├── out/ #<-- where the generated files will go.
│ └── tex/ #<-- is where generated tex files will go.
├── README.md
└── src/ #<-- where all code is written
├── jdd/
│ ├── main.py #<-- does all the magic
│ │
│ └── tools/ #<-- where all intelligent code is.
├── resource/ #<-- where you put your xlsx file, and where csv files will go.
│ └── participants-2024.xlsx #<-- your input file
└── tests/ #<-- where tests are performedImportant
Moreover, be sure your xlsx file strictly follows the structure of the Participants JDD sample.xlsx sample provided with this archive. In case not, this script will not perform anything and will crash.
Now you may have everything set up to generated everything.
To generate every single file that script is capable to, simply use :
python<version> src/jdd/main.py <name_of_excel_file>This will generate noms_complets.csv, noms_ensma.csv, noms_up.csv, badges.tex, list_ensma.tex, list_up.tex, stats.txt, Stats Participants JDD.png and Stats presentations JDD.png files.
Note
All .csv files are located in src/resource dir because they are reused by scripts as resources.
All other files created are located in out/ directory.
Considering you have python 3.7 installed and participants-2024.xlsx as input file :
python3.7 src/jdd/main.py participants-2024.xlsxThis leads to this prompt :
This is used to make some stats about JDDs participants :
- Number of attendees
- Number of expected posters
- Number of expected presentations
- Stats on each laboratory represented
Use the following code line in command prompt to launch it :
python<version> src/jdd/main.py <name_of_excel_file> -msOr alternatively :
python<version> src/jdd/main.py <name_of_excel_file> --make-statsThe following prompt is an example of statistics generation.
To make the badges.tex file used to automatically make badges with LaTeX, use the following prompt :
python<version> src/jdd/main.py <name_of_excel_file> -bOr alternatively :
python<version> src/jdd/main.py <name_of_excel_file> --badgesThe following prompt is an example of badges generation.
To make the list_ensma.tex and list_up.tex files used to automatically make signing lists with LaTeX, use the following prompt :
python<version> src/jdd/main.py <name_of_excel_file> -sOr alternatively :
python<version> src/jdd/main.py <name_of_excel_file> --signing-listsThe following prompt is an example of signing pages generation.
Considering you have several documents accessible via url links, you can make your QR codes using this module.
First, you have to invoke the proper command using the following command line :
python<version> src/jdd/main.py -qrThen the console will ask you to type the url(s) you want to transform into QR codes as follow :
If you want to combine two commands, use the proper options to do so.
You want to generate badges and signing lists but no stats :
python<version> src/jdd/main.py <name_of_excel_file> -b -sOr alternatively :
python<version> src/jdd/main.py <name_of_excel_file> --badges --signing-listsThe next steps for this project are :
- Finish README
- Color prints
- Make a stat file with all stats included
- Make an out directory for all files created
- Create the QR code functionality -> dedicated issue
- Create the auto-order functionality -> dedicated issue
- Make all unit tests
- Setup CI/CD
- Deploy
- Show examples
- Make it available on PyPi
You also can follow the project's progression on issue tracker page.
There are many ways to contribute to this. See CONTRIBUTING.md file for more informations.