Installation Guide¶
Preview Version
This documentation is currently being worked on and may be incomplete or subject to change. If you spot any mistakes or have suggestions, please contact one of the maintainers.
System requirements¶
Python Version¶
- This project requires Python version 3.12 or higher. Ensure you have the correct version installed on your system.
Operating System¶
- Cross-Platform: Support for
.ppttcgeneration and basic.pptxgeneration on Windows, macOS, and Linux. - Windows and MacOS Only: For advanced
.pptxgeneration with Think-Cell integration, an active Think-Cell installation and license is required.
.ppttc to .pptx conversion
While you can generate a .ppttc file on any Operating System, conversion from .ppttc to .pptx requires a Think-Cell installation, which is only available on Windows and MacOS.
Think-Cell Requirements¶
Think-Cell integration is optional and only required for Think-Cell objects.
- Valid Think-Cell license and active Think-Cell installation is required for
.pptxgeneration with Think-Cell objects. - Download Think-Cell from the official website.
- Default installation paths:
- Windows:
C:/Program Files (x86)/think-cell/ppttc.exe - MacOS:
/Users/{YOUR_USERNAME}/Library/Application Support/think-cell
- Windows:
Dependencies¶
This project relies on several Python packages. You can install them using pip or uv:
| Package | Version | Purpose |
|---|---|---|
| pandas | ≥ 2.0.0 | Data handling and manipulation |
| python-pptx | ≥ 0.6.21 | PowerPoint file generation and manipulation |
| openpyxl | ≥ 3.1.0 | Excel file reading and writing |
| thinkcellbuilder | ≥ 0.1.1* | Think-Cell file support |
Thinkcellbuilder Dependency
The project uses a patched version of thinkcellbuilder that includes a NaN bug fix. The dependency is sourced from this fork.
Installation Methods¶
Method 1: Default Installation¶
Clone the repository and install the required dependencies:
git clone https://github.com/Effctl/effctl-report-generator/
cd effctl-report-generator
pip install -e .
Editable Mode
The -e flag installs the package in editable mode, meaning any changes you make to the source code, will immediatelly be reflected without needing to reinstall the package.
Method 2: Virtual Environment Installation (Recommended)¶
Using a virtual environment helps isolate project dependencies. This helps debugging but also setting up a clean workspace. Follow these steps:
Method 3: Development Installation¶
For contributors and developers, install the package with development dependencies:
This installs additional tools for testing and code quality measures including:
pytestfor testingpytest-covfor test coverage analysisflake8for code style enforcementblackfor code formatting
Verifying Installation¶
Verify your installation by importing the library:
from effctl_lib import (
format_excel_data,
traverse_pptx,
ppttc_to_pptx,
TOMLConfig
)
print("Installation successful!")
Post-Installation Steps¶
Directory Structure¶
After installation, your project directory should look like this:
effctl-report-generator/
├── effctl_lib/ # Core library code
├── data # Data files stored during processing
├── notebooks/ # Interactive Jupyter Notebooks
├── output/ # Generated output files
└── resources/ # Sample resources (templates, data files)
Creating missing directories:
Configuration¶
The project can be configured using a config.toml file. A default configuration file is provided in the repository. You can customize it as needed. If the file is missing, create one with:
See the Configuration Guide for more details on available configuration options.
Troubleshooting¶
Common Issues¶
Import Error: Module Not Found¶
Solution: Ensure you have installed the package in editable mode using pip install -e . and that you are running your script in the correct environment.
Think-Cell Path Issues¶
Think-Cell Path Error Message
This error message may vary depending on your operating system and the specific issue encountered.
Solution: Verify that Think-Cell is installed and that the path to ppttc.exe is correct. Update the path in your script or configuration file if necessary:
Permission Denied Errors on Windows¶
Solution: Run your terminal as Adminstrator when installing. Alternatively, ensure you have write permissions to the installation directory.
Virtual Environment Issues¶
Windows PowerShell: You may need to enable script execution:
Updating the Project¶
To update the project to the latest version, run:
Uninstallation Guide¶
You can uninstall the package using pip:
To remove the cloned repository, simply delete the project directory:
Recursive deletion commands
Both rm -rf (MacOS/Linux) and rmdir /s /q (Windows) permanently delete directories and their contents without confirmation.
Only use them if you fully understand what you are deleting.
Otherwise, delete the folder using your file manager (e.g. File Explorer)