Skip to content

Releases: mare011rs/basecampapi

v2.0.0

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

v1.2.0

Choose a tag to compare

@mare011rs mare011rs released this 09 Sep 14:41
82f9918
  • Enabled multiline string on Campfire.write()

v1.1.0

Choose a tag to compare

@mare011rs mare011rs released this 02 Apr 10:18
224d8e4
  • Added upload_from_bytes() method to Attachments()

v1.0.0

Choose a tag to compare

@mare011rs mare011rs released this 18 Feb 14:25
  • Removed necessity to define sessions in each object, credentials are now automatically passed to each object after authentication is established through Basecamp object
  • Removed the Authorization object and merged its functionality with Basecamp object
  • Account_id is now defined inside credentials dictionary
  • New object Attachments now replaces Basecamp.upload_file() method
  • Improved initial authentication flow

v0.2.4

Choose a tag to compare

@mare011rs mare011rs released this 17 Feb 17:38
  • Enabled all python versions 3.7 and higher
  • Fixed dependancy errors
  • Upgraded ease of use for file uploads

v0.2.1

Choose a tag to compare

@mare011rs mare011rs released this 13 Jan 14:32
  • Fixed a bug with dependencies not being imported

v0.2.0

Choose a tag to compare

@mare011rs mare011rs released this 13 Jan 13:26
  • Created Authorization object for easier initial authentication
  • Easier package import - now it's enough to only import basecampapi
  • Added exception raising for bad requests
  • Added docstrings to all objects and their methods
  • Full documentation on README.md

v0.1.0

Choose a tag to compare

@mare011rs mare011rs released this 27 Dec 19:41

Initial release

Features

  • Creating a Basecamp session with a fresh access token
  • Interacting with Campfires
  • Interacting with MessageBoards, Messages and Message Comments