Repository navigation
BasecampAPI Wrapper v2.0.0
Release Date: August 4, 2025
Overview
This major release introduces a complete architectural overhaul of the BasecampAPI wrapper, moving from a class inheritance model to a client-resource pattern. This change provides a more intuitive and flexible API for interacting with Basecamp resources, along with numerous quality-of-life improvements.
Breaking Changes
-
New Client-Resource Pattern: Resources are now created through the Basecamp client instead of inheriting from it
# Old way (v1.x) from basecampapi import Basecamp, MessageBoard bc = Basecamp(credentials=credentials) mb = MessageBoard(project_id=123456, message_board_id=123456) # New way (v2.0) from basecampapi import Basecamp client = Basecamp(credentials=credentials) mb = client.message_board(project_id=123456, message_board_id=123456)
-
Required Data Parameter: All methods that send data to the API now require a
datadictionary parameter instead of individual parameters# Old way (v1.x) mb.create_message(subject="Title", content="Content") # New way (v2.0) mb.create_message(data={"subject": "Title", "content": "Content", "status": "active"})
-
Fixed Module Name: Corrected the misspelling in module name from
camprife.pytocampfire.py
New Features
- Dedicated Comments Module: Added a standalone Comments module that works with any commentable resource
- To-dos Support: Added comprehensive support for To-do sets, To-do lists, and To-dos
- Chatbots Support: Added support for posting messages as chatbots
- Custom Request Method: Added a generic
requestmethod to access any Basecamp API endpoint - Flexible Headers: All methods now accept custom headers
- Response Data: All methods that modify resources now return the response data
Improvements
- Documentation Links: Added links to the Basecamp API documentation in all method docstrings
- Resource URLs: Methods now print URLs to view created or updated resources in Basecamp
- Enhanced Attachments: Improved the Attachments module with helper methods and better error handling
- Consistent Parameter Naming: Standardized parameter names across all modules
- Type Hints: Added comprehensive type hints throughout the codebase
- Better Error Messages: Improved error handling and messaging
Documentation Updates
- Completely revised README.md with clear examples for all features
- Added sections for each major component (Message Boards, Campfires, Attachments, To-dos, Chatbots)
- Included migration guide for users upgrading from v1.x
Package Updates
- Updated package metadata in pyproject.toml
- Added proper license information (MIT)
- Added repository and homepage URLs
- Added keywords and classifiers for better discoverability on PyPI
- Specified minimum version requirements for dependencies
Contributors
- mare011rs