This project is designed to interact with the Podio API to fetch and analyze member data from a specific Podio app. It retrieves member information, tracks status changes, calculates monthly statistics, and generates visualizations of active members over time.
- Authentication: Uses OAuth2 for secure API access.
- Data Caching: Caches member and revision data to improve performance and reduce API calls.
- Status Tracking: Identifies and tracks members' status changes, specifically when they leave ("ausgetreten").
- Monthly Statistics: Calculates and plots monthly statistics of active members.
- Visualization: Generates plots and CSV files for data analysis.
- Python 3.7+
- Podio API credentials
.envfile with the following variables:PODIO_CLIENT_IDPODIO_CLIENT_SECRETPODIO_USERNAMEPODIO_PASSWORDPODIO_APP_ID
-
Clone the repository:
git clone https://github.com/SpaceTeam/PodioActiveMembers.git cd PodioActiveMembers -
Install the required packages:
pip install -r requirements.txt
-
Create a
.envfile in the root directory with your Podio API credentials.
-
Run the main script:
python main.py
-
The script will authenticate with Podio, fetch member data, calculate statistics, and generate a plot and CSV file.
- Member data is cached in
members_cache.json. - Revisions are cached in
revisions_cache_{item_id}.jsonfor each member.
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or support, please contact it@spaceteam.at.