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

Uploaded Source

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

Hashes for pymonday-3.0.2.tar.gz
Algorithm Hash digest
SHA256 db89f48706126c0806b69881b066e85aa21bb174fc7ca5e4b09119cc1d707c14
MD5 1e66e9348365e2d48ee3c58a31dd5835
BLAKE2b-256 e369ae345759b303c213f55547c7b4d96bce029820e8919ec976b704befc67d5

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