Skip to content

v2.0.0

Latest

Choose a tag to compare

@mare011rs mare011rs released this 04 Aug 09:35
314dbee

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 data dictionary 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.py to campfire.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 request method 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

Links