pyMonday is a monday.com API Python Client Library, compatible with API version 2025-01 and later.
Project description
Monday.com API Client
A Python client for interacting with the Monday.com GraphQL API.
๐ Features
- Supports all Monday.com API endpoints.
- Organized by method groups (e.g.,
Boards,Items,Users, etc.). - Uses GraphQL queries for efficient data fetching.
- Implements async requests where necessary.
- Handles API rate limits with retries.
- Supports column formatting for easy data manipulation.
๐ Project Structure
.
โโโ .gitignore # Specifies intentionally untracked files to ignore
โโโ LICENSE # License file for open-source usage
โโโ README.md # Project documentation and usage guide
โโโ requirements.txt # List of dependencies required for the project
โโโ setup.py # Installation and package setup script
โโโ pymonday/ # Main package directory
โ โโโ __init__.py # Marks pymonday as a package
โ โโโ monday_api_client.py # Core API client handling authentication and requests
โ โโโ config.py # Global settings, API endpoints, and constants
โ โโโ columns.py # Column-related utilities and formatting functions
โ โโโ methods/ # API method groups (organized by functionality)
โ โ โโโ __init__.py # Marks methods as a subpackage
โ โ โโโ account.py # Methods related to account management
โ โ โโโ activity_logs.py # Methods for retrieving activity logs
โ โ โโโ boards.py # Methods for managing boards
โ โ โโโ columns.py # Methods for column operations
โ โ โโโ doc_blocks.py # Methods for handling document blocks
โ โ โโโ docs.py # Methods related to Monday.com docs
โ โ โโโ files.py # Methods for file uploads and attachments
โ โ โโโ folders.py # Methods for folder management
โ โ โโโ groups.py # Methods for managing groups within boards
โ โ โโโ items.py # Methods for managing items (tasks, records)
โ โ โโโ notifications.py # Methods for handling notifications
โ โ โโโ subitems.py # Methods for managing subitems
โ โ โโโ tags.py # Methods for managing tags
โ โ โโโ teams.py # Methods for managing teams
โ โ โโโ updates.py # Methods for managing item updates
โ โ โโโ users.py # Methods for user management
โ โ โโโ workspaces.py # Methods for managing workspaces
๐ง Installation
pip install pymonday
๐ฏ Usage Examples
Initialize the Client
from pymonday import MondayAPIClient
api_key = "your_monday_api_key"
monday = MondayAPIClient(api_key)
Fetch Account Details
account_info = monday.account.get_account_details()
print(account_info)
Create a New Item
new_item_id = monday.items.create_item(board=1234567890, group="group_id", item_name="New Task")
print(f"Created Item ID: {new_item_id}")
Duplicate an Item
duplicated_item = monday.items.duplicate_item(board_id=1234567890, item_id=9876543210)
print(f"Duplicated Item ID: {duplicated_item}")
๐ Method Overview
| Class | Method Name | Method Type | Category | Created in Version |
|---|---|---|---|---|
| Account | get_account_details | Public | Getter | v2 |
| Activity Log | get_activity_logs | Public | Getter | v3 |
| Boards | get_all_boards | Public | Getter | v2 |
| Boards | get_board_info | Public | Getter | v2 |
| Boards | get_board_groups | Public | Getter | v2 |
| Boards | get_board_from_item | Public | Getter | v2 |
| Boards | get_board_views | Public | Getter | v3 |
| Boards | create_board | Public | Setter | v2 |
| Boards | update_board_description | Public | Setter | v2 |
| Boards | archive_board | Public | Deleter | v2 |
| Boards | duplicate_board | Public | Setter | v3 |
| Boards | delete_board | Public | Deleter | v2 |
| Columns | get_column_metadata | Public | Getter | v3 |
| Columns | column_id_formatter | Static | Getter | v2 |
| Columns | create_column | Public | Setter | v3 |
| Columns | change_column_values | Public | Setter | v2 |
| Columns | change_column_title | Public | Setter | v3 |
| Columns | clear_column | Public | Deleter | v3 |
| Doc Blocks | fetch_doc_blocks | Public | Getter | v3 |
| Doc Blocks | create_doc_block | Public | Setter | v3 |
| Doc Blocks | update_doc_block | Public | Setter | v3 |
| Doc Blocks | delete_doc_block | Public | Deleter | v3 |
| Docs | fetch_docs | Public | Getter | v3 |
| Docs | create_doc | Public | Setter | v3 |
| Files | get_assets | Public | Getter | v2 |
| Files | upload_file_to_column | Public | Setter | v2 |
| Files | add_file_to_update | Public | Setter | v2 |
| Folders | get_folders | Public | Getter | v2 |
| Folders | create_folder | Public | Setter | v2 |
| Folders | update_folder | Public | Setter | v2 |
| Folders | delete_folder | Public | Deleter | v2 |
| Groups | create_group | Public | Setter | v2 |
| Groups | move_item_to_group | Public | Setter | v2 |
| Groups | update_group | Public | Setter | v3 |
| Groups | duplicate_group | Public | Setter | v3 |
| Groups | is_group_empty | Public | Getter | v3 |
| Groups | archive_group | Public | Deleter | v2 |
| Groups | delete_group | Public | Deleter | v2 |
| Items | get_item_ids_from_group | Public | Getter | v2 |
| Items | get_items_page_from_group | Public | Getter | v2 |
| Items | get_items_from_column | Public | Getter | v2 |
| Items | get_items_with_status | Public | Getter | v2 |
| Items | get_items_page_between_dates | Public | Getter | v2 |
| Items | get_items_page_between_date | Public | Getter | v2 |
| Items | get_item_ids_between_dates | Public | Getter | v2 |
| Items | get_item_ids_between_date | Public | Getter | v2 |
| Items | get_item_columns | Public | Getter | v2 |
| Items | get_items_by_column_values | Public | Getter | v3 |
| Items | create_item | Public | Setter | v2 |
| Items | create_item_with_column_values | Public | Setter | v2 |
| Items | archive_item | Public | Deleter | v3 |
| Items | duplicate_item | Public | Setter | v3 |
| Items | move_item_to_board | Public | Setter | v3 |
| Items | delete_item | Public | Deleter | v2 |
| Notifications | create_notification | Public | Setter | v2 |
| Subitems | get_subitems | Public | Getter | v2 |
| Subitems | get_subitem_names | Public | Getter | v2 |
| Subitems | get_subitem_info | Public | Getter | v2 |
| Subitems | create_subitem | Public | Setter | v2 |
| Tags | create_or_get_tag | Public | Setter | v3 |
| Teams | get_teams | Public | Getter | v2 |
| Teams | get_team_members | Public | Getter | v2 |
| Updates | get_item_updates | Public | Getter | v2 |
| Updates | create_update | Public | Setter | v2 |
| Updates | create_reply | Public | Setter | v2 |
| Updates | clear_updates | Public | Deleter | v2 |
| Updates | delete_update | Public | Deleter | v2 |
| Users | get_all_users | Public | Getter | v2 |
| Users | get_user_info | Public | Getter | v2 |
| Users | add_user_to_board | Public | Setter | v2 |
| Users | remove_user_from_board | Public | Deleter | v2 |
| Workspaces | get_workspaces | Public | Getter | v2 |
| Workspaces | create_workspace | Public | Setter | v3 |
| Workspaces | add_users_to_workspace | Public | Setter | v3 |
| Workspaces | add_teams_to_workspace | Public | Setter | v3 |
| Workspaces | update_workspace | Public | Setter | v3 |
| Workspaces | delete_workspace | Public | Deleter | v3 |
| Workspaces | delete_users_from_workspace | Public | Deleter | v3 |
| Workspaces | delete_teams_from_workspace | Public | Deleter | v3 |
๐ Return Behavior
The following table outlines the expected return values for different types of methods in the API client.
| Method Type | Success Return Value | Failure Return Value |
|---|---|---|
| Getters (Retrieve Data) | dict / list of retrieved data |
None or response (error) |
| Setters (Create/Update) | Item UUID | None or response (error) |
| Delete Methods | True (if deleted successfully) |
None or response (error) |
๐ Documentation
https://pymonday.readthedocs.io/en/latest/
๐ License
This project is licensed under GNU General Public Licence.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pymonday-3.0.2.tar.gz
(34.7 kB
view details)
File details
Details for the file pymonday-3.0.2.tar.gz.
File metadata
- Download URL: pymonday-3.0.2.tar.gz
- Upload date:
- Size: 34.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db89f48706126c0806b69881b066e85aa21bb174fc7ca5e4b09119cc1d707c14
|
|
| MD5 |
1e66e9348365e2d48ee3c58a31dd5835
|
|
| BLAKE2b-256 |
e369ae345759b303c213f55547c7b4d96bce029820e8919ec976b704befc67d5
|