Skip to main content

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
MondayAPIClient _upload_file Public - v2 (updated in v3)
MondayAPIClient _column_task_handler Public - v2
MondayAPIClient _get_next_page Public - v2
MondayAPIClient _send_post_request Public - v2
MondayAPIClient _upload_file Public - v2
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


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.1.tar.gz (34.9 kB view details)

Uploaded Source

File details

Details for the file pymonday-3.0.1.tar.gz.

File metadata

  • Download URL: pymonday-3.0.1.tar.gz
  • Upload date:
  • Size: 34.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for pymonday-3.0.1.tar.gz
Algorithm Hash digest
SHA256 99bb4a187ae5337cec466d84df0a33669de8ec6ad8e463869b1145d94726d630
MD5 48530d3de7205e6af2f57b266782f652
BLAKE2b-256 212c5ddcd117baa35fce1f5bed894b1f5803c82f5247c10c15ec8557fa0419cb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page